/* Otomatik uretildi (includes/mo/css-bundle.php) - elle duzenlemeyin */

/* ==== style.css ==== */
/* ===== Fibonacci Math Olympiad - Main Stylesheet ===== */

:root {
    --primary: #32834a;
    --primary-dark: #183f23;
    --primary-light: #eef7f0;
    --secondary: #10331d;
    --secondary-dark: #183f23;
    --dark: #141a15;
    --dark-2: #10331d;
    --mint: #42b365;
    --success: #059669;
    --danger: #dc2626;
    --warning: #d97706;
    --info: #4285f4;
    --gray-50: #f8f9fa;
    --gray-100: #f1f3f4;
    --gray-200: #e8eaed;
    --gray-300: #dadce0;
    --gray-400: #bdc1c6;
    --gray-500: #9aa0a6;
    --gray-600: #80868b;
    --gray-700: #5f6368;
    --gray-800: #3c4043;
    --gray-900: #202124;
    --white: #ffffff;
    --font: 'DM Sans', system-ui, -apple-system, sans-serif;
    --radius: 12px;
    --radius-sm: 8px;
    --radius-lg: 16px;
    --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06);
    --shadow-lg: 0 18px 65px rgba(18,60,30,0.10);
    --transition: all 0.3s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--font);
    color: var(--gray-800);
    background: var(--gray-50);
    line-height: 1.6;
    min-height: 100vh;
}

a { color: var(--primary); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--primary-dark); }

img { max-width: 100%; height: auto; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ===== Buttons ===== */
.btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 20px; border: 2px solid transparent;
    border-radius: var(--radius-sm); font-size: 14px; font-weight: 600;
    cursor: pointer; transition: var(--transition); text-align: center;
    justify-content: center; line-height: 1.4;
}
.btn:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn-primary { background: var(--primary); color: var(--white); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); color: var(--white); }
.btn-success { background: var(--success); color: var(--white); border-color: var(--success); }
.btn-danger { background: var(--danger); color: var(--white); border-color: var(--danger); }
.btn-danger:hover { background: #d32f2f; }
.btn-info { background: #17a2b8; color: var(--white); border-color: #17a2b8; }
.btn-info:hover { background: #138496; }
.btn-warning { background: var(--warning); color: var(--dark); }
.btn-outline { background: transparent; color: var(--primary); border-color: var(--primary); }
.btn-outline:hover { background: var(--primary); color: var(--white); }
.btn-block { display: flex; width: 100%; }
.btn-lg { padding: 14px 28px; font-size: 16px; }
.btn-sm { padding: 6px 12px; font-size: 12px; }

/* ===== Header ===== */
.main-header {
    background: var(--white); border-bottom: 1px solid var(--gray-200);
    position: sticky; top: 0; z-index: 100; box-shadow: var(--shadow);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; }

.logo { display: flex; align-items: center; max-width: 210px; }
.logo-img { width: 205px; height: auto; }

.main-nav ul { display: flex; align-items: center; list-style: none; gap: 4px; }
.nav-link { padding: 8px 16px; color: var(--gray-700); font-weight: 500; font-size: 14px; border-radius: var(--radius-sm); display: flex; align-items: center; gap: 6px; }
.nav-link:hover { background: var(--gray-100); color: var(--primary); }
.nav-btn { padding: 8px 20px !important; }

.user-menu { position: relative; }
.user-avatar-small { width: 32px; height: 32px; background: linear-gradient(135deg, var(--primary), var(--secondary)); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 13px; font-weight: 700; }
.dropdown-menu { position: absolute; top: 100%; right: 0; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-lg); min-width: 200px; padding: 8px 0; display: none; border: 1px solid var(--gray-200); }
.user-menu.open .dropdown-menu { display: block; }
.dropdown-menu a { display: flex; align-items: center; gap: 10px; padding: 10px 16px; color: var(--gray-700); font-size: 14px; }
.dropdown-menu a:hover { background: var(--gray-100); color: var(--primary); }
.dropdown-menu hr { border: none; border-top: 1px solid var(--gray-200); margin: 4px 0; }

.mobile-menu-toggle { display: none; background: none; border: none; font-size: 24px; cursor: pointer; color: var(--gray-700); }

/* ===== Language Selector ===== */
.lang-selector { position: relative; margin-left: 8px; }
.lang-selector-btn { background: none; border: 1px solid var(--gray-300); border-radius: 8px; padding: 6px 10px; cursor: pointer; display: flex; align-items: center; gap: 4px; font-size: 14px; transition: var(--transition); }
.lang-selector-btn:hover { border-color: var(--primary); background: var(--primary-light); }
.current-flag { font-size: 20px; line-height: 1; }
.lang-selector-btn .fa-chevron-down { font-size: 10px; color: var(--gray-500); }
.lang-dropdown { position: absolute; top: 100%; right: 0; background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; box-shadow: var(--shadow-lg); padding: 8px; min-width: 200px; max-height: 450px; overflow-y: auto; display: none; z-index: 1000; }
.lang-dropdown.show { display: block; }
.lang-option { display: flex; align-items: center; gap: 10px; padding: 6px 12px; border-radius: 8px; text-decoration: none; color: var(--gray-700); font-size: 13px; transition: var(--transition); }
.lang-option:hover { background: var(--gray-100); }
.lang-option.active { background: var(--primary-light); color: var(--primary); font-weight: 600; }
.lang-flag { font-size: 24px; line-height: 1; }

/* ===== Alerts ===== */
.alert {
    padding: 14px 20px; border-radius: var(--radius-sm); margin: 16px auto;
    display: flex; align-items: center; gap: 10px; font-size: 14px;
    animation: slideDown 0.3s ease; position: relative; max-width: 1200px;
}
.alert-success { background: #e6f4ea; color: #1e7e34; border-left: 4px solid var(--success); }
.alert-danger { background: #fce8e6; color: #c5221f; border-left: 4px solid var(--danger); }
.alert-warning { background: #fef7e0; color: #e37400; border-left: 4px solid var(--warning); }
.alert-info { background: var(--primary-light); color: var(--primary); border-left: 4px solid var(--primary); }
.alert-close { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; font-size: 20px; cursor: pointer; opacity: 0.5; }

@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

/* ===== Forms ===== */
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.form-group input, .form-group select, .form-group textarea {
    width: 100%; padding: 10px 14px; border: 1.5px solid var(--gray-300);
    border-radius: var(--radius-sm); font-size: 14px; font-family: var(--font);
    transition: var(--transition); background: var(--white);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(50,131,74,0.1);
}
.form-group small { display: block; margin-top: 4px; font-size: 12px; color: var(--gray-500); }
.form-group input:disabled { background: var(--gray-100); cursor: not-allowed; }

.form-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.form-link { font-size: 13px; color: var(--primary); }

.password-input { position: relative; }
.password-toggle { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: var(--gray-500); }

.checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.checkbox-label input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--primary); }

.radio-group { display: flex; gap: 16px; flex-wrap: wrap; }
.radio-label { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }

.form-help { font-size: 13px; color: var(--gray-600); margin-bottom: 10px; }

/* ===== Hero Section ===== */
.hero-section {
    color: var(--white); padding: 100px 0 80px; position: relative; overflow: hidden; min-height: 600px;
}
.hero-bg { position: absolute; inset: 0; }
.hero-bg-img { width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(20,26,21,0.92) 0%, rgba(16,51,29,0.85) 100%); }

.hero-content { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; position: relative; z-index: 1; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 20px; background: rgba(255,255,255,0.1); border-radius: 24px; font-size: 13px; margin-bottom: 20px; border: 1px solid rgba(255,255,255,0.2); backdrop-filter: blur(10px); }
.hero-section h1 { font-size: 50px; font-weight: 800; line-height: 1.15; margin-bottom: 24px; letter-spacing: -0.5px; }
.text-gradient { background: linear-gradient(135deg, var(--primary), #42b365); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.hero-section p { font-size: 18px; color: rgba(255,255,255,0.85); margin-bottom: 36px; line-height: 1.7; max-width: 520px; }
.hero-buttons { display: flex; gap: 16px; margin-bottom: 32px; }
.btn-hero-outline { background: transparent; color: var(--white); border: 2px solid rgba(255,255,255,0.4); padding: 12px 28px; border-radius: var(--radius-sm); font-weight: 600; font-size: 15px; transition: var(--transition); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.btn-hero-outline:hover { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.6); color: var(--white); }

.hero-trust { display: flex; align-items: center; gap: 12px; }
.hero-trust-avatars { display: flex; }
.trust-avatar { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: var(--white); border: 2px solid rgba(20,26,21,0.8); margin-right: -10px; }
.hero-trust-text { font-size: 14px; color: rgba(255,255,255,0.7); margin-left: 10px; }

.hero-art { position: relative; min-height: 540px; display: flex; align-items: center; justify-content: center; }
.spiral-ring { width: min(480px, 100%); aspect-ratio: 1; background: radial-gradient(circle, rgba(255,255,255,0.12) 30%, rgba(50,131,74,0.06) 60%, transparent 80%); border: 1px solid rgba(202,226,208,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; }
.spiral-ring::before, .spiral-ring::after { content: ""; border: 1px dashed rgba(183,212,190,0.15); position: absolute; border-radius: 50%; inset: 25px; }
.spiral-ring::after { inset: 61px; }
.fibonacci-svg { width: 100%; height: 100%; animation: slowRotate 60s linear infinite; }
@keyframes slowRotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.floating { position: absolute; z-index: 3; bottom: 40px; left: 10px; background: white; border: 1px solid #d6eadb; padding: 16px 18px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.12); font-weight: 800; font-size: 14px; line-height: 1.4; color: var(--dark); animation: float 3s ease-in-out infinite; }
.floating span { display: block; font-weight: 600; color: var(--primary); font-size: 11px; letter-spacing: 0.14em; }
.floating.mid { left: auto; right: -20px; top: 50%; bottom: auto; transform: translateY(-50%); animation-delay: 0.3s; }
.floating.right { left: auto; right: 0; top: 40px; bottom: auto; animation-delay: 0.6s; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ===== Stats Section ===== */
.stats-section { padding: 0; background: var(--white); position: relative; z-index: 2; margin-top: -50px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; background: var(--white); border-radius: var(--radius-lg); box-shadow: 0 20px 60px rgba(0,0,0,0.1); overflow: hidden; }
.stat-card { text-align: center; padding: 40px 20px; transition: var(--transition); position: relative; }
.stat-card:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 20%; height: 60%; width: 1px; background: var(--gray-200); }
.stat-card:hover { background: var(--primary-light); }
.stat-icon { font-size: 28px; color: var(--primary); margin-bottom: 12px; width: 56px; height: 56px; border-radius: 50%; background: var(--primary-light); display: inline-flex; align-items: center; justify-content: center; }
.stat-number { font-size: 36px; font-weight: 800; color: var(--dark); }
.stat-label { font-size: 14px; color: var(--gray-600); margin-top: 4px; }

/* ===== Section Headers ===== */
.section-header { text-align: center; margin-bottom: 48px; }
.section-tag { display: inline-block; padding: 6px 16px; background: var(--primary-light); color: var(--primary); border-radius: 20px; font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.section-header h2 { font-size: 36px; font-weight: 800; color: var(--dark); margin-bottom: 12px; }
.section-header p { font-size: 16px; color: var(--gray-600); max-width: 600px; margin: 0 auto; }

/* ===== Categories Section ===== */
.categories-section { padding: 100px 0 80px; }
.categories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 32px; }
.category-card { background: var(--white); border-radius: var(--radius-lg); text-align: center; box-shadow: var(--shadow); transition: var(--transition); border: 1px solid var(--gray-200); overflow: hidden; }
.category-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.12); border-color: var(--primary); }
.category-card.has-image { text-align: left; }
.category-card-img { position: relative; height: 200px; overflow: hidden; }
.category-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.category-card:hover .category-card-img img { transform: scale(1.08); }
.category-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.4) 100%); display: flex; align-items: flex-end; justify-content: flex-start; padding: 20px; }
.category-card-overlay i { font-size: 32px; color: var(--white); background: var(--primary); width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(50,131,74,0.4); }
.category-card-body { padding: 28px; }
.category-icon { font-size: 40px; color: var(--primary); margin-bottom: 20px; }
.category-card h3 { font-size: 22px; font-weight: 700; margin-bottom: 6px; color: var(--dark); }
.category-grade { color: var(--secondary-dark); font-weight: 600; margin-bottom: 12px; font-size: 14px; }
.category-card p { font-size: 14px; color: var(--gray-600); margin-bottom: 20px; line-height: 1.6; }

/* ===== Exams Grid ===== */
.exams-preview-section, .exams-section { padding: 80px 0; }
.exams-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.exam-card { background: var(--white); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); transition: var(--transition); border: 1px solid var(--gray-200); }
.exam-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.exam-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.exam-category-badge { display: inline-block; padding: 4px 12px; background: var(--primary-light); color: var(--primary); border-radius: 20px; font-size: 12px; font-weight: 600; }
.exam-category-badge.small { font-size: 11px; padding: 2px 8px; }
.exam-grade { font-size: 12px; color: var(--gray-500); }
.exam-card h3 { font-size: 18px; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
.exam-desc { font-size: 14px; color: var(--gray-600); margin-bottom: 16px; }
.exam-meta { display: flex; gap: 16px; font-size: 13px; color: var(--gray-600); margin-bottom: 20px; flex-wrap: wrap; }
.exam-meta i { color: var(--primary); }
.exam-user-status { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-top: 1px solid var(--gray-200); margin-bottom: 16px; }
.exam-best-score .label { font-size: 12px; color: var(--gray-500); }
.exam-best-score .score { font-weight: 700; font-size: 16px; }
.exam-best-score .score.passed { color: var(--success); }
.exam-best-score .score.failed { color: var(--danger); }
.exam-attempts { font-size: 12px; color: var(--gray-500); }

/* ===== Photo Banner ===== */
.photo-banner { position: relative; height: 300px; overflow: hidden; }
.photo-banner img { width: 100%; height: 100%; object-fit: cover; }
.photo-banner-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,26,21,0.85) 0%, rgba(50,131,74,0.6) 50%, transparent 100%); display: flex; align-items: center; }
.banner-text { color: var(--white); max-width: 500px; }
.banner-text h2 { font-size: 30px; font-weight: 800; margin-bottom: 12px; }
.banner-text h2 i { margin-right: 10px; color: var(--primary); }
.banner-text p { font-size: 16px; opacity: 0.9; line-height: 1.7; }

/* ===== Features Section ===== */
.features-section { padding: 80px 0; background: var(--white); }
.feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 60px; }
.feature-row.reverse { direction: rtl; }
.feature-row.reverse > * { direction: ltr; }
.feature-row:last-child { margin-bottom: 0; }
.feature-row-img img { width: 100%; height: 350px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.feature-row-content { display: flex; flex-direction: column; gap: 24px; }
.feature-card-inline { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border-radius: var(--radius); transition: var(--transition); }
.feature-card-inline:hover { background: var(--gray-50); transform: translateX(6px); }
.feature-icon { font-size: 22px; color: var(--primary); width: 52px; height: 52px; border-radius: 14px; background: var(--primary-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.feature-card-inline h3 { font-size: 17px; margin-bottom: 6px; color: var(--dark); font-weight: 700; }
.feature-card-inline p { font-size: 14px; color: var(--gray-600); line-height: 1.6; margin: 0; }

/* ===== CTA Section ===== */
.cta-section { position: relative; padding: 100px 0; overflow: hidden; margin-top: 0; }
.cta-bg { position: absolute; inset: 0; }
.cta-bg img { width: 100%; height: 100%; object-fit: cover; }
.cta-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(50,131,74,0.9) 0%, rgba(16,51,29,0.92) 100%); }
.cta-content { position: relative; z-index: 1; text-align: center; color: var(--white); max-width: 650px; margin: 0 auto; }
.cta-icon { font-size: 40px; margin-bottom: 20px; width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,0.15); display: inline-flex; align-items: center; justify-content: center; backdrop-filter: blur(10px); }
.cta-content h2 { font-size: 36px; font-weight: 800; margin-bottom: 16px; }
.cta-content p { font-size: 18px; opacity: 0.9; margin-bottom: 32px; line-height: 1.7; }
.btn-cta { background: var(--white); color: var(--primary); border-color: var(--white); font-weight: 700; }
.btn-cta:hover { background: var(--primary-dark); color: var(--white); border-color: var(--primary-dark); }

/* ===== Filter Bar ===== */
.filter-bar { display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }
.filter-btn { padding: 8px 20px; border-radius: 20px; font-size: 14px; font-weight: 500; color: var(--gray-700); background: var(--white); border: 1px solid var(--gray-300); transition: var(--transition); }
.filter-btn:hover, .filter-btn.active { background: var(--primary); color: var(--white); border-color: var(--primary); }

/* ===== Page Header ===== */
.page-header-section { background: linear-gradient(135deg, var(--dark), var(--dark-2)); color: var(--white); padding: 48px 0; }
.page-header-section h1 { font-size: 32px; margin-bottom: 8px; }
.page-header-section p { color: rgba(255,255,255,0.7); font-size: 16px; }

/* ===== Auth Styles ===== */
.auth-section { padding: 40px 0; min-height: calc(100vh - 200px); display: flex; align-items: center; }
.auth-container { display: grid; grid-template-columns: 1fr 1fr; max-width: 1000px; margin: 0 auto; background: var(--white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.register-container { max-width: 1100px; }
.auth-card { padding: 48px 40px; }
.auth-header { text-align: center; margin-bottom: 32px; }
.auth-logo { font-size: 40px; color: var(--primary); margin-bottom: 16px; }
.auth-header h2 { font-size: 28px; color: var(--dark); }
.auth-header p { color: var(--gray-600); font-size: 14px; }
.auth-form { margin-bottom: 24px; }
.auth-footer { text-align: center; font-size: 14px; color: var(--gray-600); }
.auth-footer a { color: var(--primary); font-weight: 600; }

.auth-side { background: linear-gradient(135deg, var(--primary), var(--dark-2)); color: var(--white); display: flex; align-items: center; justify-content: center; padding: 48px; }
.auth-side-content { text-align: center; }
.auth-side h2 { font-size: 28px; margin-bottom: 16px; }
.auth-side p { opacity: 0.85; margin-bottom: 24px; }
.auth-features { list-style: none; text-align: left; }
.auth-features li { padding: 8px 0; display: flex; align-items: center; gap: 10px; font-size: 14px; }
.auth-features i { color: var(--primary); }
.auth-stats { display: flex; gap: 32px; justify-content: center; margin-top: 32px; }
.auth-stat { text-align: center; }
.auth-stat strong { display: block; font-size: 24px; }
.auth-stat span { font-size: 12px; opacity: 0.7; }

/* ===== Dashboard ===== */
.dashboard-section { padding: 40px 0; }
.dashboard-welcome { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.dashboard-welcome h1 { font-size: 28px; color: var(--dark); }
.dashboard-welcome p { color: var(--gray-600); }

.dashboard-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 32px; }
.dash-stat-card { background: var(--white); border-radius: var(--radius); padding: 24px; display: flex; align-items: center; gap: 16px; box-shadow: var(--shadow); }
.dash-stat-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: var(--white); }
.dash-stat-icon.blue { background: linear-gradient(135deg, var(--primary), #42b365); }
.dash-stat-icon.green { background: linear-gradient(135deg, var(--success), #66bb6a); }
.dash-stat-icon.gold { background: linear-gradient(135deg, var(--warning), #ffca28); }
.dash-stat-icon.purple { background: linear-gradient(135deg, #7c4dff, #b388ff); }
.dash-stat-info h3 { font-size: 28px; font-weight: 800; color: var(--dark); }
.dash-stat-info p { font-size: 13px; color: var(--gray-600); }

.dashboard-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.dashboard-card { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 24px; }
.card-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--gray-200); }
.card-header h3 { font-size: 16px; font-weight: 700; color: var(--dark); display: flex; align-items: center; gap: 8px; }
.card-link { font-size: 13px; color: var(--primary); font-weight: 500; }
.card-body { padding: 24px; }

/* Performance */
.performance-item { margin-bottom: 20px; }
.performance-header { display: flex; justify-content: space-between; margin-bottom: 6px; }
.performance-name { font-weight: 600; font-size: 14px; }
.performance-score { font-weight: 700; color: var(--primary); font-size: 14px; }
.performance-detail { font-size: 12px; color: var(--gray-500); }

.progress-bar { height: 8px; background: var(--gray-200); border-radius: 4px; overflow: hidden; }
.progress-bar.large { height: 12px; }
.progress-fill { height: 100%; background: linear-gradient(90deg, var(--primary), var(--success)); border-radius: 4px; transition: width 1s ease; }

/* Results List */
.results-list { display: flex; flex-direction: column; gap: 12px; }
.result-item { display: flex; align-items: center; gap: 16px; padding: 12px; border-radius: var(--radius-sm); border: 1px solid var(--gray-200); }
.result-info { flex: 1; }
.result-info h4 { font-size: 14px; margin-bottom: 4px; }
.result-meta { font-size: 12px; color: var(--gray-500); }
.result-score { font-size: 18px; font-weight: 800; padding: 4px 12px; border-radius: var(--radius-sm); }
.result-score.high { color: var(--success); background: #e6f4ea; }
.result-score.medium { color: var(--warning); background: #fef7e0; }
.result-score.low { color: var(--danger); background: #fce8e6; }

/* Points Circle */
.points-card { text-align: center; padding: 32px; }
.points-circle { position: relative; display: inline-block; }
.points-circle svg { width: 120px; height: 120px; }
.points-value { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -60%); font-size: 28px; font-weight: 800; color: var(--dark); }
.points-label { position: absolute; top: 50%; left: 50%; transform: translate(-50%, 40%); font-size: 12px; color: var(--gray-500); }

/* Badges */
.badges-grid-small { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.badge-item { text-align: center; }
.badge-icon { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 18px; margin: 0 auto 6px; }
.badge-item span { font-size: 11px; color: var(--gray-600); }

/* Quick Links */
.quick-links { display: flex; flex-direction: column; gap: 8px; }
.quick-link { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--radius-sm); color: var(--gray-700); font-size: 14px; transition: var(--transition); }
.quick-link:hover { background: var(--primary-light); color: var(--primary); }
.quick-link i { width: 20px; text-align: center; }

/* ===== Empty State ===== */
.empty-state { text-align: center; padding: 60px 20px; color: var(--gray-500); }
.empty-state i { font-size: 64px; color: var(--gray-300); margin-bottom: 16px; display: block; }
.empty-state h3 { font-size: 20px; color: var(--gray-600); margin: 0 0 16px; }
.empty-state.small { padding: 20px; }
.empty-state.small i { font-size: 32px; }

/* ===== Exam Start ===== */
.exam-start-section { padding: 40px 0; }
.exam-start-card { max-width: 700px; margin: 0 auto; background: var(--white); border-radius: var(--radius-lg); padding: 48px; box-shadow: var(--shadow-lg); }
.exam-start-header { text-align: center; margin-bottom: 32px; }
.exam-start-icon { font-size: 48px; color: var(--primary); margin-bottom: 16px; }
.exam-start-header h1 { font-size: 28px; color: var(--dark); margin-bottom: 8px; }

.exam-info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 32px; }
.exam-info-item { display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--gray-50); border-radius: var(--radius-sm); }
.exam-info-item i { font-size: 24px; color: var(--primary); }
.exam-info-item strong { display: block; font-size: 16px; color: var(--dark); }
.exam-info-item span { font-size: 12px; color: var(--gray-500); }

.exam-rules { background: var(--primary-light); padding: 20px; border-radius: var(--radius-sm); margin-bottom: 32px; }
.exam-rules h3 { font-size: 16px; color: var(--primary); margin-bottom: 12px; }
.exam-rules ul { list-style: none; }
.exam-rules li { padding: 4px 0; font-size: 14px; color: var(--gray-700); }
.exam-rules li::before { content: "•"; color: var(--primary); margin-right: 8px; }

.language-selection { margin-bottom: 32px; }
.language-selection h3 { margin-bottom: 16px; font-size: 16px; }
.language-options { display: flex; gap: 12px; flex-wrap: wrap; }
.language-option input[type="radio"] { display: none; }
.language-card { padding: 16px 24px; border: 2px solid var(--gray-300); border-radius: var(--radius-sm); cursor: pointer; display: flex; align-items: center; gap: 10px; transition: var(--transition); }
.language-option input:checked + .language-card { border-color: var(--primary); background: var(--primary-light); }
.lang-name { font-size: 14px; font-weight: 600; }

.exam-start-btn { margin-top: 16px; font-size: 18px; padding: 16px; }

/* ===== Exam Interface ===== */
.exam-body { background: var(--gray-100); }
.exam-interface { min-height: 100vh; display: flex; flex-direction: column; }

.exam-topbar { background: var(--white); border-bottom: 1px solid var(--gray-200); padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 100; box-shadow: var(--shadow); }
.exam-topbar-left { display: flex; align-items: center; gap: 12px; }
.exam-topbar-left h2 { font-size: 16px; color: var(--dark); }
.exam-topbar-center { display: flex; align-items: center; }
.exam-timer { display: flex; align-items: center; gap: 8px; font-size: 24px; font-weight: 800; color: var(--primary); padding: 8px 20px; background: var(--primary-light); border-radius: var(--radius-sm); }
.exam-timer.warning { background: #fef7e0; color: var(--warning); }
.exam-timer.danger { background: #fce8e6; color: var(--danger); animation: pulse 1s infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }
.exam-topbar-right { display: flex; align-items: center; gap: 16px; }
.exam-progress-text { font-size: 13px; color: var(--gray-600); }

.exam-layout { display: grid; grid-template-columns: 280px 1fr; flex: 1; }

.exam-nav-panel { background: var(--white); padding: 16px; border-right: 1px solid var(--gray-200); height: calc(100vh - 60px); overflow-y: auto; position: sticky; top: 60px; }
.exam-nav-panel h4 { font-size: 14px; color: var(--gray-700); margin-bottom: 12px; }
.question-nav-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-bottom: 16px; }
.q-nav-btn { width: 100%; aspect-ratio: 1; border: 2px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white); cursor: pointer; font-weight: 600; font-size: 13px; transition: var(--transition); display: flex; align-items: center; justify-content: center; }
.q-nav-btn.current { border-color: var(--primary); background: var(--primary); color: var(--white); }
.q-nav-btn.answered { border-color: var(--success); background: #e6f4ea; color: var(--success); }
.nav-legend { display: flex; flex-direction: column; gap: 8px; font-size: 12px; color: var(--gray-600); }
.legend-dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: middle; }
.legend-dot.current { background: var(--primary); }
.legend-dot.answered { background: var(--success); }
.legend-dot.empty { background: var(--gray-300); }

.exam-question-area { padding: 32px 48px; max-width: 800px; }
.question-header { margin-bottom: 24px; }
.question-number { font-size: 14px; font-weight: 600; color: var(--primary); padding: 4px 12px; background: var(--primary-light); border-radius: 12px; }
.question-text { font-size: 17px; line-height: 1.8; color: var(--dark); margin-bottom: 24px; }
.question-image { margin: 16px 0; text-align: center; }
.question-image img { max-width: 400px; border-radius: var(--radius-sm); border: 1px solid var(--gray-200); }

.options-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.option-item { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border: 2px solid var(--gray-200); border-radius: var(--radius-sm); cursor: pointer; transition: var(--transition); background: var(--white); }
.option-item:hover { border-color: var(--primary); background: var(--primary-light); }
.option-item.selected { border-color: var(--primary); background: var(--primary-light); }
.option-item input[type="radio"] { display: none; }
.option-letter { width: 36px; height: 36px; border-radius: 50%; background: var(--gray-200); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; color: var(--gray-700); flex-shrink: 0; }
.option-item.selected .option-letter { background: var(--primary); color: var(--white); }
.option-text { font-size: 15px; flex: 1; }
.option-image { max-height: 60px; max-width: 200px; vertical-align: middle; border-radius: 4px; }
.solution-option .option-image { max-height: 45px; max-width: 160px; }

.question-actions { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--gray-200); }

/* ===== Modal ===== */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; backdrop-filter: blur(4px); }
.modal-content { background: var(--white); border-radius: var(--radius-lg); max-width: 500px; width: 90%; max-height: 90vh; overflow-y: auto; }
.modal-content.modal-lg { max-width: 700px; }
.modal-header { padding: 20px 24px; border-bottom: 1px solid var(--gray-200); display: flex; justify-content: space-between; align-items: center; }
.modal-header h3 { font-size: 18px; display: flex; align-items: center; gap: 8px; }
.modal-close { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--gray-500); }
.modal-body { padding: 24px; }
.modal-actions { padding: 16px 24px; border-top: 1px solid var(--gray-200); display: flex; justify-content: flex-end; gap: 12px; }

.finish-summary { margin-top: 16px; }
.summary-item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--gray-100); }

/* ===== Result Page ===== */
.result-section { padding: 40px 0; }
.result-summary { display: flex; align-items: center; gap: 40px; background: var(--white); border-radius: var(--radius-lg); padding: 48px; margin-bottom: 32px; box-shadow: var(--shadow-lg); }
.result-summary.passed { border-left: 6px solid var(--success); }
.result-summary.failed { border-left: 6px solid var(--danger); }

.result-score-circle { flex-shrink: 0; position: relative; }
.result-score-circle svg { width: 150px; height: 150px; }
.score-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
.score-value { font-size: 36px; font-weight: 800; display: block; }
.score-unit { font-size: 14px; color: var(--gray-500); }

.result-info h1 { font-size: 28px; color: var(--dark); margin-bottom: 8px; }
.result-info h2 { font-size: 20px; color: var(--gray-700); margin-bottom: 12px; font-weight: 500; }
.result-status { display: inline-block; padding: 6px 16px; border-radius: 20px; font-size: 14px; font-weight: 700; }
.result-status.passed { background: #e6f4ea; color: var(--success); }
.result-status.failed { background: #fce8e6; color: var(--danger); }
.result-category { font-size: 14px; color: var(--gray-500); margin-top: 8px; }

.result-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; }
.result-stat { display: flex; align-items: center; gap: 12px; background: var(--white); padding: 20px; border-radius: var(--radius); box-shadow: var(--shadow); }
.result-stat i { font-size: 24px; }
.result-stat.correct i { color: var(--success); }
.result-stat.wrong i { color: var(--danger); }
.result-stat.empty i { color: var(--gray-400); }
.result-stat.time i { color: var(--primary); }
.result-stat strong { font-size: 24px; display: block; color: var(--dark); }
.result-stat span { font-size: 12px; color: var(--gray-500); }

.result-actions { display: flex; gap: 12px; margin-bottom: 48px; justify-content: center; }

/* Solutions */
.solutions-section h2 { font-size: 24px; margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
.solution-card { background: var(--white); border-radius: var(--radius); margin-bottom: 16px; box-shadow: var(--shadow); overflow: hidden; }
.solution-card.correct { border-left: 4px solid var(--success); }
.solution-card.wrong { border-left: 4px solid var(--danger); }
.solution-card.empty-answer { border-left: 4px solid var(--gray-400); }
.solution-header { display: flex; justify-content: space-between; padding: 16px 20px; background: var(--gray-50); }
.solution-number { font-weight: 700; }
.solution-status { font-size: 14px; font-weight: 600; }
.solution-card.correct .solution-status { color: var(--success); }
.solution-card.wrong .solution-status { color: var(--danger); }
.solution-question { padding: 20px; font-size: 15px; line-height: 1.7; }
.solution-options { padding: 0 20px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.solution-option { padding: 10px 14px; border-radius: var(--radius-sm); border: 1px solid var(--gray-200); display: flex; align-items: center; gap: 10px; font-size: 14px; }
.solution-option.correct-answer { background: #e6f4ea; border-color: var(--success); }
.solution-option.wrong-answer { background: #fce8e6; border-color: var(--danger); }
.solution-option .option-letter { width: 28px; height: 28px; border-radius: 50%; background: var(--gray-200); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; flex-shrink: 0; }
.solution-option.correct-answer .option-letter { background: var(--success); color: var(--white); }
.solution-option.wrong-answer .option-letter { background: var(--danger); color: var(--white); }

.solution-explanation { padding: 20px; background: #fffef0; border-top: 1px solid var(--gray-200); }
.solution-explanation h4 { font-size: 14px; color: var(--secondary-dark); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.solution-text { font-size: 14px; line-height: 1.7; color: var(--gray-700); }
.solution-image { margin-top: 12px; }
.solution-image img { max-width: 100%; max-height: 400px; border-radius: 8px; border: 1px solid var(--gray-200); }

/* ===== Leaderboard ===== */
.leaderboard-section { padding: 40px 0; }
.top-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px; }
.top-card { background: var(--white); border-radius: var(--radius-lg); padding: 32px; text-align: center; box-shadow: var(--shadow-md); position: relative; transition: var(--transition); }
.top-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.top-card.rank-1 { border-top: 4px solid #FFD700; }
.top-card.rank-2 { border-top: 4px solid #C0C0C0; }
.top-card.rank-3 { border-top: 4px solid #CD7F32; }
.top-rank { width: 32px; height: 32px; border-radius: 50%; background: var(--primary); color: var(--white); display: flex; align-items: center; justify-content: center; font-weight: 800; position: absolute; top: -16px; left: 50%; transform: translateX(-50%); }
.top-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--secondary)); display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 20px; font-weight: 700; margin: 16px auto 12px; }
.top-stats { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--gray-600); margin-top: 12px; }
.top-medal { font-size: 24px; margin-top: 12px; }
.gold { color: #FFD700; }
.silver { color: #C0C0C0; }
.bronze { color: #CD7F32; }

.leaderboard-table table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.leaderboard-table th, .leaderboard-table td { padding: 14px 20px; text-align: left; border-bottom: 1px solid var(--gray-200); }
.leaderboard-table th { background: var(--gray-50); font-size: 13px; color: var(--gray-600); font-weight: 600; text-transform: uppercase; }
.leaderboard-table tr.current-user { background: var(--primary-light); }
.rank-badge { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; color: var(--white); }
.rank-badge.rank-1 { background: #FFD700; }
.rank-badge.rank-2 { background: #C0C0C0; }
.rank-badge.rank-3 { background: #CD7F32; }
.user-info { display: flex; align-items: center; gap: 10px; }
.avg-score { font-weight: 600; color: var(--primary); }

/* ===== Badges Page ===== */
.badges-section { padding: 40px 0; }
.badges-summary { background: var(--white); border-radius: var(--radius); padding: 24px; margin-bottom: 32px; box-shadow: var(--shadow); }
.badges-count { font-size: 16px; margin-bottom: 12px; }
.badges-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.badge-card { background: var(--white); border-radius: var(--radius); padding: 24px; text-align: center; box-shadow: var(--shadow); transition: var(--transition); }
.badge-card.locked { opacity: 0.5; }
.badge-card.earned:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.badge-icon-large { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 28px; margin: 0 auto 12px; }
.badge-card h3 { font-size: 16px; margin-bottom: 6px; }
.badge-card p { font-size: 13px; color: var(--gray-600); margin-bottom: 12px; }
.badge-locked { font-size: 12px; color: var(--gray-500); }
.badge-earned { font-size: 12px; color: var(--success); font-weight: 600; }

/* ===== Results Table ===== */
.results-table { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow-x: auto; -webkit-overflow-scrolling: touch; }
.results-table table, .admin-table { width: 100%; border-collapse: collapse; }
@media (min-width: 641px) { .results-table table { min-width: 680px; } }
.results-table th, .results-table td, .admin-table th, .admin-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--gray-200); font-size: 14px; }
.results-table th, .admin-table th { background: var(--gray-50); font-size: 12px; color: var(--gray-600); font-weight: 600; text-transform: uppercase; }
.results-table tr:hover, .admin-table tr:hover { background: var(--gray-50); }
.admin-table tr.drag-over { border-top: 2px solid var(--primary); background: rgba(37,99,235,0.05); }
.drag-handle:hover { color: var(--gray-700) !important; }
.drag-handle:active { cursor: grabbing !important; }

.score-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-weight: 700; font-size: 13px; }
.score-badge.passed { background: #e6f4ea; color: var(--success); }
.score-badge.failed { background: #fce8e6; color: var(--danger); }

.status-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.status-badge.success { background: #e6f4ea; color: var(--success); }
.status-badge.danger { background: #fce8e6; color: var(--danger); }
.status-badge.warning { background: #fef7e0; color: #e37400; }

.badge { display: inline-block; padding: 3px 8px; background: var(--gray-100); border-radius: 12px; font-size: 11px; font-weight: 600; color: var(--gray-700); }
.answer-badge { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--primary); color: var(--white); font-weight: 700; font-size: 13px; }

.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.text-muted { color: var(--gray-500); }
.text-center { text-align: center; }
.mt-4 { margin-top: 24px; }
.mb-4 { margin-bottom: 24px; }

/* ===== Pagination ===== */
.pagination { display: flex; gap: 6px; justify-content: center; align-items: center; margin-top: 24px; flex-wrap: wrap; }
.page-btn { min-width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); font-size: 14px; font-weight: 500; color: var(--gray-700); border: 1px solid var(--gray-300); transition: var(--transition); padding: 0 4px; }
.page-btn:hover:not(.disabled):not(.page-dots) { background: var(--primary); color: var(--white); border-color: var(--primary); }
.page-btn.active { background: var(--primary); color: var(--white); border-color: var(--primary); font-weight: 700; }
.page-btn.page-dots { border: none; cursor: default; font-weight: 700; letter-spacing: 2px; color: var(--gray-500); min-width: 28px; }
.page-btn.page-arrow { font-size: 12px; }
.page-btn.disabled { opacity: 0.4; cursor: default; pointer-events: none; }

/* ===== Profile ===== */
.profile-section { padding: 40px 0; }
.profile-card { max-width: 700px; margin: 0 auto; background: var(--white); border-radius: var(--radius); padding: 40px; box-shadow: var(--shadow); }
.profile-form hr { border: none; border-top: 1px solid var(--gray-200); margin: 24px 0; }
.profile-form h3 { font-size: 16px; color: var(--gray-700); margin-bottom: 16px; }

/* ===== Footer ===== */
.main-footer { background: var(--dark); color: rgba(255,255,255,0.8); padding: 60px 0 0; margin-top: 80px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; }
.footer-logo { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; color: var(--white); margin-bottom: 16px; }
.footer-col h4 { color: var(--white); font-size: 16px; margin-bottom: 16px; }
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 8px; }
.footer-col a { color: rgba(255,255,255,0.7); font-size: 14px; }
.footer-col a:hover { color: var(--white); }
.footer-col p { font-size: 14px; margin-bottom: 8px; }
.social-links { display: flex; gap: 12px; margin-top: 12px; }
.social-links a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 16px; }
.social-links a:hover { background: var(--primary); }
.footer-secure-payment { background: rgba(255,255,255,0.05); border-radius: 12px; padding: 30px; margin-bottom: 30px; text-align: center; }
.footer-secure-payment h4 { color: var(--white); font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.footer-secure-payment > p { color: rgba(255,255,255,0.7); font-size: 14px; margin-bottom: 20px; max-width: 600px; margin-left: auto; margin-right: auto; }
.payment-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.payment-icon { background: var(--white); border-radius: 8px; padding: 10px 20px; display: flex; align-items: center; justify-content: center; min-width: 100px; min-height: 45px; gap: 6px; }
.pi-visa { color: #1a1f71; font-weight: 800; font-size: 20px; font-style: italic; letter-spacing: -1px; }
.pi-mc { display: flex; align-items: center; gap: 4px; color: #333; font-size: 13px; font-weight: 600; }
.pi-troy { color: #333; font-weight: 700; font-size: 16px; }
.pi-amex { background: #2e77bc; color: white; font-size: 9px; font-weight: 700; text-align: center; line-height: 1.2; padding: 6px 10px; border-radius: 4px; letter-spacing: 1px; }
.pi-secure span, .pi-ssl span { font-size: 13px; font-weight: 600; color: #333; line-height: 1.2; }
.pi-secure small, .pi-ssl small { font-size: 10px; font-weight: 400; color: #666; text-transform: uppercase; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 20px 0; text-align: center; font-size: 13px; }

/* ===== ADMIN PANEL ===== */
.admin-body { background: var(--gray-100); }
.admin-layout { display: flex; min-height: 100vh; }

.admin-sidebar {
    width: 260px; background: var(--dark); color: var(--white);
    position: fixed; left: 0; top: 0; bottom: 0; z-index: 100;
    display: flex; flex-direction: column; transition: var(--transition);
}
.admin-sidebar.collapsed { width: 0; overflow: hidden; }

.sidebar-header { padding: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); flex-shrink: 0; }
.sidebar-logo { display: flex; align-items: center; gap: 10px; color: var(--white); font-weight: 700; font-size: 18px; }
.sidebar-logo i { font-size: 24px; color: var(--primary); }

.sidebar-nav { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.sidebar-nav ul { list-style: none; padding: 12px 0; }
.sidebar-nav a { display: flex; align-items: center; gap: 12px; padding: 10px 20px; color: rgba(255,255,255,0.7); font-size: 14px; transition: var(--transition); }
.sidebar-nav a:hover, .sidebar-nav a.active { background: rgba(255,255,255,0.1); color: var(--white); }
.sidebar-nav a.active { border-right: 3px solid var(--primary); }
.sidebar-nav a i { width: 20px; text-align: center; }
.nav-section { padding: 16px 20px 6px; font-size: 11px; color: rgba(255,255,255,0.4); text-transform: uppercase; font-weight: 700; letter-spacing: 1px; }
.sidebar-nav::-webkit-scrollbar { width: 4px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 2px; }

.sidebar-footer-item { margin-top: 8px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.1); }
.sidebar-footer-item a { color: rgba(255,255,255,0.5) !important; font-size: 13px !important; }

.admin-main { flex: 1; margin-left: 260px; transition: var(--transition); }
.admin-main.expanded { margin-left: 0; }

.admin-topbar { background: var(--white); padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--gray-200); position: sticky; top: 0; z-index: 50; }
.sidebar-toggle { background: none; border: none; font-size: 20px; cursor: pointer; color: var(--gray-700); }
.admin-topbar-right { display: flex; align-items: center; gap: 16px; }
.admin-name { font-size: 14px; color: var(--gray-600); display: flex; align-items: center; gap: 6px; }

.admin-content { padding: 24px; }
.admin-alert { margin: 0 24px 0; max-width: none; }

.admin-page-title { font-size: 24px; color: var(--dark); margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
.admin-page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.admin-page-header .admin-page-title { margin-bottom: 0; }

.admin-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 32px; }
.admin-stat-card { background: var(--white); border-radius: var(--radius); padding: 24px; display: flex; align-items: center; gap: 16px; box-shadow: var(--shadow); }
.admin-stat-card.blue { border-left: 4px solid var(--primary); }
.admin-stat-card.green { border-left: 4px solid var(--success); }
.admin-stat-card.orange { border-left: 4px solid var(--warning); }
.admin-stat-card.purple { border-left: 4px solid #7c4dff; }
.admin-stat-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 22px; color: var(--white); }
.admin-stat-card.blue .admin-stat-icon { background: var(--primary); }
.admin-stat-card.green .admin-stat-icon { background: var(--success); }
.admin-stat-card.orange .admin-stat-icon { background: var(--warning); }
.admin-stat-card.purple .admin-stat-icon { background: #7c4dff; }
.admin-stat-info h3 { font-size: 28px; font-weight: 800; color: var(--dark); }
.admin-stat-info p { font-size: 13px; color: var(--gray-600); }

.admin-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

.admin-card { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
.admin-card-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--gray-200); }
.admin-card-header h3 { font-size: 16px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.admin-card-body { padding: 20px; }

.admin-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.info-item { text-align: center; padding: 16px; background: var(--gray-50); border-radius: var(--radius-sm); }
.info-item span { font-size: 13px; color: var(--gray-600); display: block; margin-bottom: 4px; }
.info-item strong { font-size: 24px; color: var(--dark); }

/* Admin search */
.search-form { display: flex; gap: 8px; }
.search-form input { flex: 1; }

.filter-form { display: flex; gap: 12px; align-items: center; }
.filter-form select { width: auto; }
.filter-info { font-size: 13px; color: var(--gray-600); }

/* Lang tabs */
.lang-tabs { display: flex; gap: 4px; margin-bottom: 20px; border-bottom: 2px solid var(--gray-200); }
.lang-tab { padding: 10px 20px; background: none; border: none; font-size: 14px; font-weight: 500; cursor: pointer; color: var(--gray-600); border-bottom: 2px solid transparent; margin-bottom: -2px; transition: var(--transition); }
.lang-tab.active { color: var(--primary); border-bottom-color: var(--primary); }
.lang-tab-content { display: none; }
.lang-tab-content.active { display: block; }

/* Question list item (exam edit) */
.question-list-item { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-bottom: 1px solid var(--gray-100); font-size: 14px; }
.q-num { font-weight: 700; color: var(--primary); min-width: 40px; }
.q-text { flex: 1; color: var(--gray-700); }
.q-answer { font-weight: 700; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background: var(--primary-light); border-radius: 50%; color: var(--primary); font-size: 13px; }

.add-question-form { display: flex; gap: 8px; margin-top: 12px; }
.add-question-form select { flex: 1; }

/* ===== Import ===== */
.import-info { margin-bottom: 24px; }
.info-box { padding: 16px 20px; background: var(--primary-light); border-radius: var(--radius-sm); border-left: 4px solid var(--primary); }
.info-box h4 { color: var(--primary); margin-bottom: 8px; }
.info-box ul { list-style: none; }
.info-box li { padding: 3px 0; font-size: 14px; }
.info-box li::before { content: "•"; color: var(--primary); margin-right: 8px; }

.file-upload-area { border: 2px dashed var(--gray-300); border-radius: var(--radius); padding: 40px; text-align: center; cursor: pointer; transition: var(--transition); position: relative; }
.file-upload-area:hover, .file-upload-area.dragover { border-color: var(--primary); background: var(--primary-light); }
.file-upload-area.file-selected { border-color: #22c55e; background: #f0fdf4; border-style: solid; }
.file-upload-area.file-selected i.fa-cloud-upload-alt { color: #22c55e; }
.file-upload-area i { font-size: 48px; color: var(--gray-400); display: block; margin-bottom: 12px; }
.file-upload-area input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; z-index: 2; }
.file-name { font-size: 15px; color: #16a34a; font-weight: 700; margin-top: 12px; display: none; position: relative; z-index: 1; padding: 8px 16px; background: #dcfce7; border-radius: 6px; }
.file-name.visible { display: inline-block; }

.language-checkboxes { display: flex; gap: 12px; flex-wrap: wrap; }
.checkbox-card { cursor: pointer; }
.checkbox-card input { display: none; }
.checkbox-card-content { padding: 12px 20px; border: 2px solid var(--gray-300); border-radius: var(--radius-sm); display: flex; align-items: center; gap: 8px; transition: var(--transition); }
.checkbox-card input:checked + .checkbox-card-content { border-color: var(--primary); background: var(--primary-light); }

.import-progress { margin-top: 32px; padding: 24px; background: var(--gray-50); border-radius: var(--radius); }
.import-progress h3 { margin-bottom: 16px; }
.import-log { margin-top: 16px; font-size: 14px; }
.import-log p { padding: 4px 0; }

.import-result { margin-top: 16px; padding: 16px 20px; border-radius: var(--radius-sm); font-weight: 600; }
.import-result.success { background: #e6f4ea; color: var(--success); }
.import-result.error { background: #fce8e6; color: var(--danger); }

/* Email */
.template-variables { margin-bottom: 20px; padding: 12px 16px; background: var(--gray-50); border-radius: var(--radius-sm); }
.template-variables h4 { font-size: 13px; margin-bottom: 6px; }
.template-variables code { background: var(--primary-light); padding: 2px 8px; border-radius: 4px; font-size: 13px; color: var(--primary); margin-right: 4px; }

.code-editor { font-family: 'Consolas', 'Monaco', monospace; font-size: 13px; line-height: 1.5; }

.email-logs-list { max-height: 400px; overflow-y: auto; }
.email-log-item { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--gray-100); font-size: 13px; }
.log-email { flex: 1; font-weight: 500; }
.log-subject { color: var(--gray-500); flex: 1; }
.log-date { color: var(--gray-400); font-size: 12px; }

.tips-list { list-style: none; }
.tips-list li { padding: 6px 0; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.tips-list i { color: var(--success); }

.form-actions { display: flex; gap: 12px; }

/* Admin Login */
.admin-login-body { background: linear-gradient(135deg, var(--dark), var(--dark-2)); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.admin-login-container { width: 100%; max-width: 420px; padding: 20px; }
.admin-login-card { background: var(--white); border-radius: var(--radius-lg); padding: 48px 40px; box-shadow: var(--shadow-lg); }
.admin-login-header { text-align: center; margin-bottom: 32px; }
.admin-login-header i { font-size: 48px; color: var(--primary); }
.admin-login-header h2 { font-size: 24px; margin-top: 12px; }
.admin-login-header p { color: var(--gray-500); font-size: 14px; }

.question-preview { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: var(--gray-700); }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
    .hero-content { grid-template-columns: 1fr; }
    .hero-art { min-height: 400px; }
    .spiral-ring { width: 430px; }
    .floating { font-size: 11px; }
    .feature-row, .feature-row.reverse { grid-template-columns: 1fr; gap: 32px; direction: ltr; }
    .feature-row-img img { height: 250px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .admin-grid-2 { grid-template-columns: 1fr; }
    .result-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .mobile-menu-toggle { display: block; }
    .logo { max-width: 165px; }
    .logo-img { width: 160px; }
    .main-nav { position: fixed; top: 70px; left: 0; right: 0; background: var(--white); display: none; border-top: 1px solid var(--gray-200); box-shadow: var(--shadow-lg); z-index: 99; }
    .main-nav.open { display: block; }
    .main-nav ul { flex-direction: column; padding: 16px; }
    .nav-link { padding: 12px 16px; }

    .hero-section { padding: 60px 0 40px; min-height: auto; }
    .hero-section h1 { font-size: 32px; }
    .hero-art { min-height: 320px; }
    .spiral-ring { width: 300px; }
    .floating { padding: 10px 14px; font-size: 11px; }
    .floating.mid { right: -10px; }
    .floating.right { right: 0; }
    .hero-trust { justify-content: center; }
    .stats-section { margin-top: -30px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .stat-card:not(:last-child)::after { display: none; }
    .photo-banner { height: 220px; }
    .banner-text h2 { font-size: 24px; }
    .cta-content h2 { font-size: 28px; }
    .cta-section { padding: 60px 0; }
    .feature-row, .feature-row.reverse { grid-template-columns: 1fr; direction: ltr; }
    .feature-row-img img { height: 200px; }
    .dashboard-stats { grid-template-columns: repeat(2, 1fr); }
    .admin-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .features-grid { grid-template-columns: 1fr; }
    .exams-grid { grid-template-columns: 1fr; }
    .top-three { grid-template-columns: 1fr; }

    .auth-container { grid-template-columns: 1fr; }
    .auth-side { display: none; }
    .form-row-2, .form-row-3 { grid-template-columns: 1fr; }

    .exam-layout { grid-template-columns: 1fr; }
    .exam-nav-panel { display: none; }
    .exam-question-area { padding: 20px; }

    .result-summary { flex-direction: column; text-align: center; }
    .solution-options { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }

    .admin-sidebar { width: 0; overflow: hidden; }
    .admin-main { margin-left: 0; }
    .admin-sidebar.open { width: 260px; }
}

@media (max-width: 480px) {
    .hero-section h1 { font-size: 26px; }
    .hero-buttons { flex-direction: column; }
    .stats-grid { grid-template-columns: 1fr; }
    .dashboard-stats { grid-template-columns: 1fr; }
    .admin-stats-grid { grid-template-columns: 1fr; }
    .exam-info-grid { grid-template-columns: 1fr; }
    .result-stats-grid { grid-template-columns: 1fr; }
}

/* ===== Payment System ===== */
.exam-price-badge {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 14px; border-radius: 20px; font-size: 14px; font-weight: 700;
    background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #78350f;
    margin: 8px 0;
}
.exam-price-badge.purchased {
    background: linear-gradient(135deg, #34d399, #10b981); color: #064e3b;
}
.payment-section { padding: 40px 0; }
.payment-card {
    background: var(--white); border-radius: 16px; padding: 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,.08); max-width: 550px; margin: 0 auto;
}
.payment-exam-info { text-align: center; margin-bottom: 24px; }
.payment-exam-info h2 { margin: 8px 0 4px; font-size: 20px; color: var(--dark); }
.payment-exam-info p { color: var(--text-light); font-size: 14px; }
.payment-amount-box {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: var(--white); padding: 24px; border-radius: 12px; text-align: center; margin-bottom: 24px;
}
.payment-amount-label { font-size: 13px; opacity: .8; }
.payment-amount { font-size: 36px; font-weight: 800; }
.payment-try-info { font-size: 12px; opacity: .8; margin-top: 4px; }
.payment-form .form-group { margin-bottom: 16px; }
.payment-form label { display: block; font-size: 13px; font-weight: 600; color: var(--dark); margin-bottom: 4px; }
.payment-form input, .payment-form select {
    width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px;
    font-size: 15px; transition: border-color .2s;
}
.payment-form input:focus, .payment-form select:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(50,131,74,.12); }
.payment-secure-text { text-align: center; margin-top: 12px; font-size: 12px; color: var(--text-light); }

/* Durum rozeti (admin tablolari) */

/* Admin Filter Form */
.admin-filter-form { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.admin-filter-form select { padding: 8px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-size: 14px; }

/* Badge styles for admin tables */
.badge-success { background: #ecfdf5; color: #059669; }
.badge-warning { background: #fef3c7; color: #d97706; }
.badge-danger { background: #eef7f0; color: var(--danger); }
.badge-info { background: #eff6ff; color: #3b82f6; }

/* Empty State */

/* ===== OLYMPIAD HIGHLIGHTS (inside Hero) ===== */
.olympiad-highlights-strip {
    position: relative; z-index: 2;
    padding: 0 0 20px;
}
.olympiad-strip-bottom {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 28px; padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.olympiad-strip-logo img {
    height: 40px; width: auto; opacity: 0.85;
}
.olympiad-highlights {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
    margin-bottom: 40px;
}
.olympiad-highlight-card {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px; padding: 28px 20px;
    transition: all 0.3s; text-align: center;
}
.olympiad-highlight-card:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(50,131,74,0.5);
    transform: translateY(-4px);
}
.olympiad-highlight-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: linear-gradient(135deg, #32834a, #183f23);
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
}
.olympiad-highlight-icon i {
    color: #fff; font-size: 22px;
}
.olympiad-highlight-card h4 {
    color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 8px;
}
.olympiad-highlight-card p {
    color: rgba(255,255,255,0.6); font-size: 13px; line-height: 1.6; margin: 0;
}
.btn-olympiad-apply {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 16px 40px;
    background: linear-gradient(135deg, #32834a, #183f23);
    color: #fff; font-size: 17px; font-weight: 700;
    border: none; border-radius: 14px; cursor: pointer;
    text-decoration: none; transition: all 0.3s;
    box-shadow: 0 4px 24px rgba(50,131,74,0.4);
}
.btn-olympiad-apply:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(50,131,74,0.55);
    color: #fff;
}
.btn-olympiad-outline {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 16px 36px; font-size: 16px; font-weight: 600;
    color: #fff; background: transparent;
    border: 2px solid rgba(255,255,255,0.3); border-radius: 14px;
    text-decoration: none; transition: all 0.3s; cursor: pointer;
}
.btn-olympiad-outline:hover {
    background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.6); color: #fff;
}

@media (max-width: 992px) {
    .olympiad-highlights { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .olympiad-banner-center { padding: 50px 0; }
    .olympiad-banner-center h2 { font-size: 26px; }
    .olympiad-banner-tagline { font-size: 15px; }
    .olympiad-highlights { grid-template-columns: 1fr; }
    .olympiad-logo-img { height: 44px; }
    .olympiad-banner-cta { flex-direction: column; align-items: center; }
    .btn-olympiad-apply, .btn-olympiad-outline { width: 100%; justify-content: center; }
    .olympiad-strip-bottom { flex-direction: column; gap: 16px; align-items: center; }
}

/* ===== EXAM RULES SECTION (Homepage) ===== */
.exam-rules-section {
    padding: 80px 0; background: #f8f9fa;
}
.rules-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.rule-card {
    background: #fff; border-radius: 16px; padding: 32px 24px;
    text-align: center; transition: all 0.3s;
    border: 1px solid var(--gray-200);
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.rule-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    border-color: var(--primary);
}
.rule-card-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: linear-gradient(135deg, rgba(50,131,74,0.08), rgba(50,131,74,0.15));
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 18px;
}
.rule-card-icon i {
    font-size: 22px; color: var(--primary);
}
.rule-card h4 {
    font-size: 16px; font-weight: 700; color: var(--dark); margin-bottom: 10px;
}
.rule-card p {
    font-size: 14px; color: var(--text-muted); line-height: 1.6; margin: 0;
}

/* ===== EXAM RULES PAGE ===== */
.exam-rules-page { padding: 60px 0; }
.rules-page-grid {
    display: flex; flex-direction: column; gap: 16px; margin-bottom: 48px;
}
.rule-page-card {
    display: flex; align-items: flex-start; gap: 24px;
    background: #fff; border-radius: 16px; padding: 28px 32px;
    border: 1px solid var(--gray-200);
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: all 0.3s;
}
.rule-page-card:hover {
    border-color: var(--primary);
    box-shadow: 0 8px 24px rgba(50,131,74,0.08);
}
.rule-page-icon {
    width: 52px; height: 52px; border-radius: 14px; flex-shrink: 0;
    background: linear-gradient(135deg, #32834a, #183f23);
    display: flex; align-items: center; justify-content: center;
}
.rule-page-icon i { color: #fff; font-size: 20px; }
.rule-page-content h3 {
    font-size: 17px; font-weight: 700; color: var(--dark); margin-bottom: 6px;
}
.rule-page-content p {
    font-size: 15px; color: var(--text-muted); line-height: 1.7; margin: 0;
}
.rules-cta-box {
    text-align: center; padding: 48px 32px;
    background: linear-gradient(135deg, #141a15, #10331d);
    border-radius: 20px; color: #fff;
}
.rules-cta-box h3 { font-size: 28px; font-weight: 800; margin-bottom: 12px; }
.rules-cta-box p { color: rgba(255,255,255,0.7); font-size: 16px; margin-bottom: 28px; }
.rules-cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.rules-cta-buttons .btn-outline {
    border-color: rgba(255,255,255,0.3); color: #fff;
}
.rules-cta-buttons .btn-outline:hover {
    background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.6);
}

/* CTA outline button */
.btn-cta-outline {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 32px; font-size: 16px; font-weight: 600;
    color: #fff; background: transparent;
    border: 2px solid rgba(255,255,255,0.4); border-radius: var(--radius);
    text-decoration: none; transition: all 0.3s;
}
.btn-cta-outline:hover {
    background: rgba(255,255,255,0.15); border-color: #fff; color: #fff;
}
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 992px) {
    .rules-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .rules-grid { grid-template-columns: 1fr; }
    .rule-page-card { flex-direction: column; gap: 16px; text-align: center; align-items: center; }
    .rules-cta-buttons { flex-direction: column; align-items: center; }
    .cta-buttons { flex-direction: column; align-items: center; }
}

/* ===== NEW LANDING PAGE SECTIONS ===== */

/* Eyebrow label */
.eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 12px; letter-spacing: 0.20em; text-transform: uppercase;
    font-weight: 800; color: var(--primary); margin-bottom: 12px;
}
.eyebrow:before { content: ''; height: 2px; width: 28px; background: var(--mint); }

/* Overview Section */
.overview-section { padding: 100px 0; background: #fff; }
.intro-layout { display: grid; grid-template-columns: 0.88fr 1.12fr; gap: 70px; align-items: center; }
.overview-section h2 { font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -0.052em; font-weight: 800; line-height: 1.15; }
.overview-section .lead { font-size: 19px; line-height: 1.8; color: var(--gray-600); }
.quote-block { border-left: 4px solid var(--primary); padding: 9px 0 9px 23px; font-size: 24px; line-height: 1.45; letter-spacing: -0.02em; font-weight: 800; color: var(--primary-dark); margin: 30px 0; }
.info-block { background: #f7faf7; border: 1px solid #e2eee4; border-radius: 14px; padding: 32px 36px; }
.info-block h3 { color: var(--dark-2); margin-bottom: 11px; font-family: 'Manrope', 'DM Sans', sans-serif; }
.checklist { padding: 0; margin: 20px 0; list-style: none; display: grid; gap: 13px; }
.checklist li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; }
.checklist li:before { content: '\2713'; border-radius: 50%; background: #e1f5e7; color: #258447; font-weight: 900; display: grid; place-items: center; min-width: 23px; height: 23px; line-height: 1; flex-shrink: 0; }

/* Journey / 3 Stages Section */
.journey-section { padding: 100px 0; background: #f3f9f4; position: relative; }
.journey-section .section-head { max-width: 810px; margin-bottom: 45px; }
.journey-section .section-head h2 { font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -0.052em; font-weight: 800; line-height: 1.15; text-align: left; }
.journey-section .section-head p { font-size: 17px; color: var(--gray-600); text-align: left; max-width: none; }
.timeline-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.stage-card { background: #fff; border: 1px solid #d5e6d8; border-radius: 17px; overflow: hidden; box-shadow: 0 8px 30px rgba(28,84,40,0.035); display: flex; flex-direction: column; transition: var(--transition); }
.stage-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(28,84,40,0.08); }
.stage-top { min-height: 160px; padding: 28px; background: linear-gradient(135deg, #f9fcf9, #e5f6e9); position: relative; overflow: hidden; }
.stage-top::after { content: attr(data-num); position: absolute; font-size: 180px; font-weight: 900; right: -4px; top: -92px; color: rgba(47,128,69,0.075); font-family: 'Manrope', sans-serif; }
.stage-card:nth-child(2) .stage-top { background: linear-gradient(135deg, #e6f7ea, #d2eedb); }
.stage-card:nth-child(3) .stage-top { background: linear-gradient(135deg, #255932, #0f321d); color: #fff; }
.stage-card:nth-child(3) .stage-top p,
.stage-card:nth-child(3) .stage-count { color: #c7e7cc !important; }
.stage-card:nth-child(3) .stage-top::after { color: rgba(255,255,255,0.06); }
.stage-count { font-size: 11px; letter-spacing: 0.16em; font-weight: 900; text-transform: uppercase; color: var(--primary); }
.stage-top h3 { position: relative; z-index: 1; font-size: 25px; line-height: 1.25; margin: 10px 0; font-family: 'Manrope', 'DM Sans', sans-serif; }
.stage-top p { font-size: 13px; margin: 0; color: #477750; }
.stage-body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.stage-body > p { font-size: 14px; color: var(--gray-600); line-height: 1.7; }
.threshold-box { margin: 28px 0 18px; padding: 16px 18px; background: #e8f5eb; border: 1px solid #cde8d3; border-radius: 10px; }
.threshold-box strong { font-size: 29px; color: var(--primary); line-height: 1.2; display: block; }
.threshold-box small { display: block; color: #55765d; font-size: 13px; }
.stage-body ul { padding: 0; list-style: none; display: grid; gap: 12px; margin: 16px 0; }
.stage-body li { font-size: 14px; display: flex; gap: 9px; line-height: 1.55; color: var(--gray-700); }
.stage-body li:before { content: ''; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 100%; background: #4bac66; margin-top: 9px; }
.stage-foot { margin-top: auto; border-top: 1px solid #d7e7d9; padding-top: 21px; font-size: 13px; color: var(--primary-dark); font-weight: 800; }
.tag-row { display: flex; gap: 7px; flex-wrap: wrap; margin: 12px 0; }
.tag-pill { display: inline-block; padding: 5px 9px; border-radius: 5px; background: #edf6ef; color: #276b3a; font-size: 11px; font-weight: 800; }
.journey-notice { margin-top: 22px; background: white; border: 1px solid #d3e6d6; border-left: 4px solid var(--primary); padding: 20px 25px; border-radius: 9px; font-size: 14px; color: var(--gray-600); }

/* Exam System Section */
.exam-system-section { padding: 100px 0; }
.exam-system-section .section-head h2 { font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -0.052em; font-weight: 800; line-height: 1.15; text-align: left; }
.exam-system-section .section-head p { text-align: left; max-width: none; font-size: 17px; }
.exam-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.exam-feature-card { border: 1px solid #d8e7dc; padding: 27px; border-radius: 13px; background: white; transition: var(--transition); }
.exam-feature-card:hover { border-color: var(--primary); box-shadow: var(--shadow-md); }
.exam-feature-number { display: inline-grid; place-items: center; width: 47px; height: 47px; background: var(--primary-light); color: var(--primary); font-weight: 900; font-size: 19px; border-radius: 10px; margin-bottom: 18px; }
.exam-feature-card h3 { margin-bottom: 11px; font-family: 'Manrope', 'DM Sans', sans-serif; }
.exam-feature-card p { font-size: 15px; color: var(--gray-600); line-height: 1.7; }
.subjects-grid { padding: 20px 0 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; }
.subject-card { text-align: center; border: 1px solid #d7e7d9; background: #f9fcfa; padding: 22px 10px 18px; border-radius: 12px; transition: var(--transition); }
.subject-card:hover { border-color: var(--primary); transform: translateY(-2px); }
.subject-card .subject-icon { width: 41px; height: 41px; margin: 0 auto 11px; color: var(--primary); font-size: 28px; }
.subject-card h3 { font-size: 14px; text-transform: uppercase; color: var(--primary); margin: 0 0 8px; letter-spacing: 0.04em; font-family: 'Manrope', 'DM Sans', sans-serif; }
.subject-card p { font-size: 12px; line-height: 1.45; margin: 0; color: var(--gray-600); }
.formula-bar { margin-top: 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #f4f9f5; border-left: 4px solid var(--primary); padding: 19px 25px; border-radius: 8px; }
.formula-bar b { color: var(--dark-2); }
.formula-bar span { font-size: 13px; color: #66806d; }
.formula-bar strong { color: var(--primary); font-size: 24px; white-space: nowrap; }

/* Awards Section */
.awards-section { padding: 100px 0; background: #f7faf8; }
.awards-section .section-head h2 { font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -0.052em; font-weight: 800; line-height: 1.15; text-align: left; }
.awards-section .section-head p { text-align: left; max-width: none; font-size: 17px; }
.reward-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 23px; }
.reward-card { border-radius: 17px; overflow: hidden; background: white; border: 1px solid #d7e6d9; box-shadow: 0 16px 55px rgba(13,66,27,0.05); transition: var(--transition); }
.reward-card:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgba(13,66,27,0.1); }
.reward-art { height: 225px; position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; }
.reward-art.barcelona { background: linear-gradient(130deg, #124025, #35904f); }
.reward-art.academic { background: linear-gradient(130deg, #e4f4e8, #c0e6ce); }
.reward-art .reward-icon { font-size: 80px; color: rgba(255,255,255,0.2); }
.reward-ribbon { position: absolute; top: 22px; left: 26px; color: white; text-transform: uppercase; letter-spacing: 0.13em; font-size: 12px; font-weight: 900; background: rgba(12,49,23,0.72); padding: 6px 13px; border-radius: 40px; }
.academic .reward-ribbon { background: #2a6e3f; color: #fff; }
.reward-content { padding: 33px 35px 36px; }
.reward-content h3 { font-size: 25px; font-family: 'Manrope', 'DM Sans', sans-serif; margin-bottom: 12px; }
.reward-content p { font-size: 15px; color: var(--gray-600); line-height: 1.7; }
.reward-content ul { margin: 17px 0; padding-left: 19px; color: #344d3b; font-size: 14px; line-height: 1.9; }
.reward-caveat { background: #f4faf5; border: 1px solid #d6e9db; padding: 15px 17px; font-size: 13px; border-radius: 9px; color: #365e40; margin-top: 21px; line-height: 1.6; }
.reward-caveat strong { color: #184323; }
.award-mini-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mini-card { border-radius: 10px; border: 1px solid #dbebde; background: white; padding: 20px; transition: var(--transition); }
.mini-card:hover { border-color: var(--primary); transform: translateY(-2px); }
.mini-card b { display: block; color: var(--primary-dark); font-size: 15px; }
.mini-card small { display: block; color: #67806e; margin-top: 8px; line-height: 1.5; font-size: 13px; }

/* Path Section */
.path-section { padding: 100px 0; background: var(--primary-dark); color: white; position: relative; overflow: hidden; }
.path-section .eyebrow { color: #add9b9; }
.path-section .eyebrow:before { background: #add9b9; }
.path-section h2 { color: white; font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -0.052em; font-weight: 800; line-height: 1.15; }
.path-section > .container > p { color: #d7e7db; font-size: 17px; }
.path-row { display: grid; grid-template-columns: 1fr 45px 1fr 45px 1fr; align-items: center; gap: 16px; margin-top: 43px; }
.path-box { min-height: 146px; border: 1px solid rgba(255,255,255,0.3); padding: 22px; border-radius: 12px; background: rgba(255,255,255,0.07); }
.path-box span { font-size: 11px; font-weight: 800; letter-spacing: 0.12em; color: #bde9c9; text-transform: uppercase; }
.path-box h3 { margin: 9px 0; font-size: 21px; color: white; font-family: 'Manrope', 'DM Sans', sans-serif; }
.path-box p { color: #d7e7db; font-size: 14px; margin: 0; }
.path-arrow { font-size: 30px; color: #a5d8b3; text-align: center; }
.path-mathline { position: absolute; bottom: 5px; right: 0; opacity: 0.08; font-size: 130px; font-weight: 900; color: green; pointer-events: none; }

/* FAQ Section */
.faq-section { padding: 100px 0; }
.faq-section .section-head h2 { font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -0.052em; font-weight: 800; line-height: 1.15; text-align: left; }
.faq-section .section-head p { text-align: left; max-width: none; font-size: 17px; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.faq-item { background: #fff; border: 1px solid #d7e7d9; border-radius: 10px; padding: 18px 21px; }
.faq-item summary { font-weight: 800; cursor: pointer; position: relative; padding-right: 22px; line-height: 1.45; font-size: 15px; color: var(--dark); }
.faq-item summary::marker { color: var(--primary); }
.faq-item p { margin: 15px 0 0; font-size: 14px; color: var(--gray-600); line-height: 1.7; }

/* Landing CTA */
.landing-cta { margin-top: 55px; padding: 48px; border-radius: 17px; background: linear-gradient(115deg, #e5f7e9, #f5faf5); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.landing-cta h2 { font-size: 34px; margin: 13px 0 10px; font-family: 'Manrope', 'DM Sans', sans-serif; color: var(--dark); }
.landing-cta p { max-width: 610px; margin: 0; color: var(--gray-600); font-size: 16px; }

/* ===== NEW LANDING RESPONSIVE ===== */
@media (max-width: 1024px) {
    .intro-layout { gap: 34px; }
    .timeline-grid { grid-template-columns: 1fr; }
    .exam-feature-grid { grid-template-columns: 1fr; }
    .reward-grid { grid-template-columns: 1fr; }
    .faq-grid { grid-template-columns: 1fr; }
    .subjects-grid { grid-template-columns: 1fr 1fr; }
    .award-mini-grid { grid-template-columns: 1fr; }
    .path-row { grid-template-columns: 1fr; gap: 10px; }
    .path-arrow { transform: rotate(90deg); font-size: 24px; }
    .path-box { min-height: initial; }
}
@media (max-width: 768px) {
    .intro-layout { grid-template-columns: 1fr; }
    .info-block { padding: 25px; }
    .landing-cta { padding: 31px 23px; flex-direction: column; align-items: flex-start; }
    .landing-cta h2 { font-size: 29px; }
    .formula-bar { flex-direction: column; align-items: flex-start; }
    .subjects-grid .subject-card:last-child { grid-column: 1 / -1; }
    .reward-art { height: 190px; }
}


/* ==== A11Y.css ==== */
/* A11Y — erisilebilirlik (klavye odagi) ve sagdan sola (ar, fa, ur) duzeltmeleri.
   Yalnizca odak halkasi ve [dir="rtl"] kurallari; soldan saga dillerde tasarim degismez. */

/* ---------- Klavye odagi ----------
   :where() ozgulugu sifirdir: bilesenlerin kendi odak stili (varsa) oncelikli kalir. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--primary, #32834a);
    outline-offset: 2px;
}
:where(.btn):focus-visible { outline-offset: 3px; }
@media (forced-colors: active) {
    :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline-color: Highlight; }
}

/* ---------- Sagdan sola (RTL) ---------- */

/* Yon bildiren ikonlar: ileri/geri oklari aynalanir */
[dir="rtl"] .fa-arrow-right,
[dir="rtl"] .fa-arrow-left,
[dir="rtl"] .fa-chevron-right,
[dir="rtl"] .fa-chevron-left,
[dir="rtl"] .fa-angle-right,
[dir="rtl"] .fa-angle-left,
[dir="rtl"] .fa-angles-right,
[dir="rtl"] .fa-angles-left,
[dir="rtl"] .fa-angle-double-right,
[dir="rtl"] .fa-angle-double-left,
[dir="rtl"] .fa-long-arrow-alt-right,
[dir="rtl"] .fa-long-arrow-alt-left,
[dir="rtl"] .fa-arrow-right-long,
[dir="rtl"] .fa-arrow-left-long,
[dir="rtl"] .fa-sign-in-alt,
[dir="rtl"] .fa-right-to-bracket,
[dir="rtl"] .fa-sign-out-alt,
[dir="rtl"] .fa-right-from-bracket,
[dir="rtl"] .fa-reply,
[dir="rtl"] .fa-undo,
[dir="rtl"] .fa-rotate-left { transform: scaleX(-1); }
/* Ana sayfa yol oklari (&rarr;): masaustunde aynalanir, telefonda style.css dikey dondurur */
@media (min-width: 769px) {
    [dir="rtl"] .path-arrow { transform: scaleX(-1); }
}

/* Uyari kutulari ve kapatma dugmesi */
[dir="rtl"] .alert-success,
[dir="rtl"] .alert-danger,
[dir="rtl"] .alert-warning,
[dir="rtl"] .alert-info { border-left: 0; border-right-width: 4px; border-right-style: solid; }
[dir="rtl"] .alert-success { border-right-color: var(--success); }
[dir="rtl"] .alert-danger { border-right-color: var(--danger); }
[dir="rtl"] .alert-warning { border-right-color: var(--warning); }
[dir="rtl"] .alert-info { border-right-color: var(--primary); }
[dir="rtl"] .alert-close { right: auto; left: 12px; }

/* Ust menu acilir listeleri */
[dir="rtl"] .dropdown-menu,
[dir="rtl"] .lang-dropdown { right: auto; left: 0; }
[dir="rtl"] .lang-selector { margin-left: 0; margin-right: 8px; }

/* Formlar: sifre goster dugmesi (yalnizca konum) */
[dir="rtl"] .password-toggle { right: auto; left: 12px; }

/* Ana sayfa */
[dir="rtl"] .trust-avatar { margin-right: 0; margin-left: -10px; }
[dir="rtl"] .hero-trust-text { margin-left: 0; margin-right: 10px; }
[dir="rtl"] .stat-card:not(:last-child)::after { right: auto; left: 0; }
[dir="rtl"] .category-card.has-image,
[dir="rtl"] .auth-features,
[dir="rtl"] .journey-section .section-head h2,
[dir="rtl"] .journey-section .section-head p,
[dir="rtl"] .exam-system-section .section-head h2,
[dir="rtl"] .exam-system-section .section-head p,
[dir="rtl"] .awards-section .section-head h2,
[dir="rtl"] .awards-section .section-head p,
[dir="rtl"] .faq-section .section-head h2,
[dir="rtl"] .faq-section .section-head p { text-align: right; }
[dir="rtl"] .banner-text h2 i { margin-right: 0; margin-left: 10px; }
[dir="rtl"] .feature-card-inline:hover { transform: translateX(-6px); }
[dir="rtl"] .quote-block { border-left: 0; border-right: 4px solid var(--primary); padding: 9px 23px 9px 0; }
[dir="rtl"] .stage-top::after { right: auto; left: -4px; }
[dir="rtl"] .journey-notice { border-left: 1px solid #d3e6d6; border-right: 4px solid var(--primary); }
[dir="rtl"] .formula-bar,
[dir="rtl"] .info-box { border-left: 0; border-right: 4px solid var(--primary); }
[dir="rtl"] .reward-ribbon { left: auto; right: 26px; }
[dir="rtl"] .reward-content ul { padding-left: 0; padding-right: 19px; }
[dir="rtl"] .path-mathline { right: auto; left: 0; }
[dir="rtl"] .faq-item summary { padding-right: 0; padding-left: 22px; }
[dir="rtl"] .info-box li::before,
[dir="rtl"] .exam-rules li::before { margin-right: 0; margin-left: 8px; }

/* Sinav ekrani ve sonuc */
[dir="rtl"] .exam-nav-panel { border-right: 0; border-left: 1px solid var(--gray-200); }
[dir="rtl"] .legend-dot { margin-right: 0; margin-left: 6px; }
[dir="rtl"] .result-summary.passed,
[dir="rtl"] .result-summary.failed { border-left: 0; border-right-width: 6px; border-right-style: solid; }
[dir="rtl"] .result-summary.passed { border-right-color: var(--success); }
[dir="rtl"] .result-summary.failed { border-right-color: var(--danger); }
[dir="rtl"] .solution-card.correct,
[dir="rtl"] .solution-card.wrong,
[dir="rtl"] .solution-card.empty-answer { border-left: 0; border-right-width: 4px; border-right-style: solid; }
[dir="rtl"] .solution-card.correct { border-right-color: var(--success); }
[dir="rtl"] .solution-card.wrong { border-right-color: var(--danger); }
[dir="rtl"] .solution-card.empty-answer { border-right-color: var(--gray-400); }

/* Tablolar: baslik ve hucreler okuma yonune hizalanir */
[dir="rtl"] .leaderboard-table th,
[dir="rtl"] .leaderboard-table td,
[dir="rtl"] .results-table th,
[dir="rtl"] .results-table td,
[dir="rtl"] .f6-table th,
[dir="rtl"] .f6-table td,
[dir="rtl"] .comm-kv th { text-align: right; }
@media (max-width: 768px) {
    [dir="rtl"] .rt-cards td { text-align: left; }
    [dir="rtl"] .rt-cards td[data-label]::before { text-align: right; margin-right: 0; margin-left: auto; padding-right: 0; padding-left: 12px; }
    [dir="rtl"] .top-card { text-align: right; }
}

/* Olimpiyat sayfalari (F6) */
[dir="rtl"] .f6-cover > .f6-badge { left: auto; right: 12px; }
[dir="rtl"] .f6-rich blockquote { border-left: 0; border-right: 3px solid var(--primary); }
[dir="rtl"] .f6-stages { padding-left: 0; padding-right: 22px; }
[dir="rtl"] .f6-note { border-left: 0; border-right: 3px solid var(--info); }
[dir="rtl"] .f6-note-warn { border-right-color: var(--warning); }
[dir="rtl"] .f6-total strong { margin-left: 0; margin-right: 4px; }
@media (max-width: 768px) {
    [dir="rtl"] .f6-st .f6-st-mode { margin-left: 0; margin-right: 28px; }
}

/* Destek / SSS (COMM) */
[dir="rtl"] .comm-closed-note .btn,
[dir="rtl"] .comm-ann time { margin-left: 0; margin-right: auto; }

/* Analiz / Yanlislarim defteri (ANL) */
[dir="rtl"] .anl-topic-meta .a,
[dir="rtl"] .anl-badge-learned { margin-left: 0; margin-right: auto; }
[dir="rtl"] .anl-mk { border-left: 0; border-right: 4px solid var(--danger); }
[dir="rtl"] .anl-mk.is-learned { border-right-color: var(--success); }
[dir="rtl"] .anl-opt { text-align: right; }


/* ==== ACRPRM.css ==== */
/* ACRPRM - olimpiyat giris kartlari (public/admission-cards.php) premium duzeni. Tum kurallar .acrprm kokuyle kapsamli.
   Kart gorseli (SVG) ve ?print=1 gorunumu F8.css'te kalir; burada yalniz sayfa kabugu, gruplar, eylemler ve temiz baski. */
.acrprm {
    --ac-tint: #f1f6f2; --ac-line: #d6e3d9; --ac-text: #4a554e; --ac-r: 16px; --ac-r-sm: 10px;
    --ac-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px;
}
.acrprm .container { max-width: 1080px; }
.acrprm a:focus-visible, .acrprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 8px; }

.acrprm .acrprm-hero { padding: clamp(40px, 6vw, 72px) 0 clamp(32px, 4vw, 48px); background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%); color: #fff; }
.acrprm .acrprm-hero h1 { font-family: var(--ac-display); font-weight: 800; color: #fff; margin: 0 0 16px; text-align: start; font-size: clamp(34px, 5vw, 52px); line-height: 1.05; letter-spacing: -0.035em; }
.acrprm .acrprm-hero p { margin: 0; max-width: 56ch; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; color: rgba(255, 255, 255, 0.84); text-align: start; }

.acrprm .acrprm-body.f8-page { background: var(--ac-tint); padding: clamp(24px, 4vw, 40px) 0 clamp(72px, 7vw, 88px); }

.acrprm .f8-filter { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-block-end: 20px; }
.acrprm .f8-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--ac-line); font-size: 14px; font-weight: 700; color: var(--dark); }
.acrprm .f8-clear { display: inline-flex; align-items: center; gap: 6px; min-block-size: 44px; font-size: 14px; font-weight: 700; color: var(--primary-dark); }

.acrprm .f8-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px 16px; flex-wrap: wrap; margin-block-end: 24px; padding-block-end: 16px; border-block-end: 1px solid var(--ac-line); }
.acrprm .acrprm-count { font-size: 15px; color: var(--ac-text); font-variant-numeric: tabular-nums; }

.acrprm .f8-group { margin-block-end: 40px; }
.acrprm .f8-group-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-block-end: 16px; padding: 0; border: 0; }
.acrprm .f8-group-head h2 { margin: 0; font-family: var(--ac-display); font-size: clamp(20px, 2.4vw, 24px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; color: var(--dark); text-align: start; overflow-wrap: anywhere; }
.acrprm .f8-group-head small { display: block; margin-block-start: 4px; font-size: 14px; color: var(--ac-text); }

.acrprm .f8-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); gap: 20px; }

/* Kart: SVG kendi ince cercevesini cizer (beyaz zemin); sarmalayici cercevesiz, kart icinde kart yok */
.acrprm .f8-card { gap: 0; background: none; border: 0; padding: 0; min-inline-size: 0; }
.acrprm .f8-card-frame svg { direction: ltr; }
.acrprm .f8-card-frame { box-shadow: none; }
.acrprm .f8-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-block-start: 12px; }
.acrprm .f8-card-actions .btn { flex: 1 1 140px; justify-content: center; min-block-size: 44px; border-radius: 8px; font-weight: 700; }

.acrprm .f8-group-head .btn { min-block-size: 44px; border-radius: 8px; font-weight: 700; }
.acrprm .f8-toolbar .btn { min-block-size: 44px; border-radius: 8px; font-weight: 700; }

.acrprm .f8-info { display: flex; gap: 10px; align-items: flex-start; padding: 16px 20px; border-radius: var(--ac-r); background: #fff; border: 1px dashed var(--ac-line); color: var(--ac-text); font-size: 15px; line-height: 1.6; }
.acrprm .f8-info i { color: var(--primary-dark); margin-block-start: 4px; }

.acrprm .acrprm-empty { max-inline-size: 560px; margin: 0; padding: 28px; text-align: start; background: #fff; border: 1px dashed var(--ac-line); border-radius: var(--ac-r); }
.acrprm .acrprm-empty i { font-size: 22px; color: var(--primary-dark); margin-block-end: 12px; display: block; }
.acrprm .acrprm-empty h3 { margin: 0 0 16px; font-family: var(--ac-display); font-size: 18px; font-weight: 800; line-height: 1.4; color: var(--dark); }

@media (max-width: 480px) {
    .acrprm .f8-card-actions .btn { flex-basis: 100%; }
}

/* Temiz baski: yalniz kartlar (F8.css kurallarina ek: kabuk, zemin, cerceve temizlenir) */
@media print {
    .acrprm { margin: 0; }
    .acrprm .acrprm-hero, .acrprm .f8-toolbar, .acrprm .f8-filter { display: none !important; }
    .acrprm .acrprm-body.f8-page { background: #fff; padding: 0; }
    .acrprm .f8-card { border: 0; padding: 0; background: none; }
    .acrprm .f8-group-head { margin-block-end: 4mm; }
    .acrprm .f8-group-head h2 { font-size: 12pt; color: #000; }
    .acrprm .f8-group-head small { color: #000; }
    .acrprm .f8-group-head .btn { display: none !important; }
    .acrprm .f8-card-frame { box-shadow: none; border-radius: 3mm; }
    .acrprm .f8-info { border: 0; padding: 0; }
}


/* ==== ACTPRM.css ==== */
/* ACTPRM - hesap etkinlestirme (public/activate.php). FPPRM ailesinin (sifre sifirla) devami:
   sayfa kokunde `fpprm actprm` siniflari birlikte bulunur; ortak kabuk/alan/buton FPPRM.css'ten gelir,
   burada yalniz bu sayfaya ozgu eklemeler (.actprm kapsamli). */

/* e-posta (salt okunur): beyaz alan degil, yesil-gri zemin; "kilitli" gorunur */
.actprm .fpprm-field input:disabled {
    background: var(--fp-tint); border-color: var(--fp-line); color: var(--fp-text);
    -webkit-text-fill-color: var(--fp-text); opacity: 1; cursor: default; text-overflow: ellipsis;
}

/* sozlesme onayi */
.actprm .actprm-terms { margin-bottom: 24px; }
.actprm .actprm-terms .checkbox-label {
    display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 12px 14px; cursor: pointer;
    background: var(--fp-tint); border: 1px solid var(--fp-line); border-radius: var(--fp-r-sm);
    font-size: 14.5px; font-weight: 500; line-height: 1.5; color: var(--fp-text);
}
.actprm .actprm-terms input[type="checkbox"] {
    flex-shrink: 0; width: 22px; min-height: 0; height: 22px; margin: 1px 0 0; padding: 0;
    accent-color: var(--primary-dark); cursor: pointer;
}
.actprm .actprm-terms input[type="checkbox"]:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; box-shadow: none; }
.actprm .actprm-terms a {
    color: var(--primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.actprm .actprm-terms a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.actprm .actprm-terms.has-error .checkbox-label { border-color: var(--fp-danger); background: #fdf0ee; }

/* gecersiz / suresi dolmus baglanti */
.actprm .actprm-help { margin-bottom: 24px; }

@media (max-width: 480px) {
    .actprm .actprm-terms .checkbox-label { padding: 12px; }
}


/* ==== ADM.css ==== */
/* ADM — admin paneli KABUGU (ADMSHELL): yan menu, ust bar, icerik alani, giris sayfalari, eski sinif uyumu.
   Tum kurallar .admin-body / .admin-login-body altinda; kullanici sayfalarini etkilemez.
   Bilesenler (.adm-page-head, .adm-table, .adm-btn ...) assets/css/mo/ADMUI.css'tedir; tasarim belirtecleri (--adm-*) orada.
   Davranis (cekmece, menude arama, tablo kaydirma kabi): assets/js/admin.js */

/* ---------------- Genel ---------------- */
.admin-body { overflow-x: hidden; background: var(--adm-bg, #f1f6f2); color: var(--adm-ink-2, #33413a); font-family: var(--adm-font, 'DM Sans', system-ui, sans-serif); }
.admin-body [hidden] { display: none !important; }
.admin-body .admin-main { min-width: 0; margin-left: 264px; transition: margin-left .22s ease; }
.admin-body .admin-main.expanded { margin-left: 0; }
.admin-body .admin-content { max-width: 1600px; padding: 24px 28px 48px; }
.admin-body .admin-content:focus { outline: none; }
.adm-skip {
    position: fixed; left: 12px; top: -60px; z-index: 300; padding: 10px 16px; border-radius: 8px;
    background: #10251a; color: #fff; font-weight: 600; font-size: 14px; transition: top .15s ease;
}
.adm-skip:focus { top: 12px; color: #fff; outline: 2px solid #42b365; outline-offset: 2px; }
.admin-body .adm-sr-only, .admin-login-body .adm-sr-only {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ---------------- Yan menu ---------------- */
.admin-body .admin-sidebar {
    width: 264px; background: #10251a; color: #fff; border-right: 1px solid rgba(255, 255, 255, .04);
    transition: width .22s ease, transform .25s ease;
}
.admin-body .admin-sidebar.collapsed { width: 0; border-right: 0; }
.admin-body .sidebar-header { padding: 16px 18px 12px; border-bottom: 0; }
.admin-body .sidebar-logo { gap: 10px; color: #fff; font-size: 15px; line-height: 1.15; }
.admin-body .sidebar-logo:hover { color: #fff; }
.admin-body .adm-logo-mark {
    width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center; background: #32834a; color: #fff;
}
.admin-body .sidebar-logo .adm-logo-mark i { font-size: 16px; color: #fff; }
.admin-body .adm-logo-text { font-family: var(--adm-font-head, 'Manrope', sans-serif); font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
.admin-body .adm-logo-text small { display: block; font-family: var(--adm-font, sans-serif); font-weight: 500; font-size: 11.5px; color: rgba(255, 255, 255, .55); letter-spacing: .02em; }

.admin-body .adm-nav-search { position: relative; margin: 2px 14px 8px; flex-shrink: 0; }
.admin-body .adm-nav-search > i { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); font-size: 12px; color: rgba(255, 255, 255, .45); pointer-events: none; }
.admin-body .adm-nav-search input {
    width: 100%; height: 36px; padding: 0 34px 0 31px; border-radius: 8px; font: inherit; font-size: 13px;
    background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .08); color: #fff;
}
.admin-body .adm-nav-search input::placeholder { color: rgba(255, 255, 255, .5); }
.admin-body .adm-nav-search input:focus { outline: none; border-color: #42b365; background: rgba(255, 255, 255, .1); box-shadow: 0 0 0 3px rgba(66, 179, 101, .25); }
.admin-body .adm-nav-search input::-webkit-search-cancel-button { filter: invert(1); opacity: .6; }
.admin-body .adm-nav-search kbd {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%); min-width: 20px; height: 20px; padding: 0 5px;
    border-radius: 5px; border: 1px solid rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .6);
    font: 600 11px/18px var(--adm-font, sans-serif); text-align: center; pointer-events: none;
}
.admin-body .adm-nav-search input:focus + kbd, .admin-body .adm-nav-search input:not(:placeholder-shown) + kbd { display: none; }

.admin-body .sidebar-nav ul { padding: 4px 0 16px; }
.admin-body .sidebar-nav .nav-section {
    padding: 16px 24px 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
}
.admin-body .sidebar-nav li:first-child.nav-section { padding-top: 8px; }
.admin-body .sidebar-nav a {
    position: relative; gap: 11px; margin: 1px 10px; padding: 8px 12px; border-radius: 8px; border-right: 0;
    color: rgba(255, 255, 255, .74); font-size: 13.5px; font-weight: 500; line-height: 1.3; transition: background-color .15s ease, color .15s ease;
}
.admin-body .sidebar-nav a i { width: 18px; font-size: 14px; text-align: center; color: rgba(255, 255, 255, .5); flex-shrink: 0; transition: color .15s ease; }
.admin-body .sidebar-nav a:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.admin-body .sidebar-nav a:hover i { color: rgba(255, 255, 255, .8); }
.admin-body .sidebar-nav a.active { background: rgba(66, 179, 101, .18); color: #fff; font-weight: 600; border-right: 0; }
.admin-body .sidebar-nav a.active i { color: #6fd08f; }
.admin-body .sidebar-nav a.active::before {
    content: ''; position: absolute; left: -10px; top: 7px; bottom: 7px; width: 3px; border-radius: 0 3px 3px 0; background: #42b365;
}
.admin-body .sidebar-nav a:focus-visible { outline: 2px solid #6fd08f; outline-offset: -2px; }
.admin-body .adm-nav-label { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-body .sidebar-nav .adm-nav-count { margin-left: auto; flex-shrink: 0; }
.admin-body .adm-nav-empty { padding: 12px 24px; font-size: 13px; color: rgba(255, 255, 255, .55); }
.admin-body .sidebar-footer-item { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .08); }
.admin-body .sidebar-footer-item a { color: rgba(255, 255, 255, .55) !important; font-size: 13px !important; }
.admin-body .sidebar-nav { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .18) transparent; overscroll-behavior: contain; }
.admin-body .sidebar-toggle, .admin-body .adm-top-icon, .admin-body .sidebar-nav a { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

/* ---------------- Ust bar ---------------- */
.admin-body .admin-topbar {
    min-height: 60px; padding: 10px 28px 10px 20px; gap: 12px; justify-content: flex-start;
    background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--adm-line, #d6e3d9); box-shadow: none;
}
@supports (backdrop-filter: blur(4px)) { .admin-body .admin-topbar { background: rgba(255, 255, 255, .88); backdrop-filter: saturate(1.4) blur(8px); } }
.admin-body .sidebar-toggle {
    width: 38px; height: 38px; border-radius: 8px; font-size: 17px; color: var(--adm-ink-2, #33413a);
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.admin-body .sidebar-toggle:hover { background: var(--adm-bg, #f1f6f2); }
.admin-body .sidebar-toggle:focus-visible { outline: 2px solid #32834a; outline-offset: 2px; }
.admin-body .adm-crumbs { min-width: 0; flex: 1 1 auto; }
.admin-body .adm-crumbs ol { list-style: none; display: flex; align-items: center; gap: 0; min-width: 0; font-size: 13.5px; }
.admin-body .adm-crumbs li { display: flex; align-items: center; min-width: 0; color: var(--adm-muted, #5d6b62); white-space: nowrap; }
.admin-body .adm-crumbs li + li::before { content: '/'; margin: 0 8px; color: var(--adm-line-strong, #b9cbbe); }
.admin-body .adm-crumbs li[aria-current] { color: var(--adm-ink, #17241b); font-weight: 600; overflow: hidden; text-overflow: ellipsis; display: block; }
.admin-body .adm-crumbs a { color: var(--adm-muted, #5d6b62); }
.admin-body .adm-crumbs a:hover { color: #1f6b38; text-decoration: underline; }
.admin-body .admin-topbar-right { min-width: 0; gap: 6px; margin-left: auto; flex-shrink: 0; }
.admin-body .adm-top-icon {
    width: 36px; height: 36px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
    color: var(--adm-muted, #5d6b62); font-size: 14px;
}
.admin-body .adm-top-icon:hover, .admin-body .adm-top-icon.is-active { background: var(--adm-bg, #f1f6f2); color: #1f6b38; }
.admin-body .adm-top-icon:focus-visible { outline: 2px solid #32834a; outline-offset: 1px; }
.admin-body .admin-name.adm-user { display: inline-flex; align-items: center; gap: 9px; padding: 0 6px 0 10px; margin-left: 4px; border-left: 1px solid var(--adm-line, #d6e3d9); min-width: 0; }
.admin-body .adm-user-avatar {
    width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
    background: var(--adm-brand-soft, #e5f1e8); color: #1f6b38; font: 700 13px var(--adm-font-head, sans-serif);
}
.admin-body .adm-user-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.admin-body .adm-user-name { font-size: 13.5px; font-weight: 600; color: var(--adm-ink, #17241b); max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-body .adm-user-text small { font-size: 11.5px; color: var(--adm-muted, #5d6b62); }
.admin-body .adm-logout { display: inline; margin: 0; }

/* Flash mesaji */
.admin-body .admin-alert {
    display: flex; align-items: flex-start; gap: 10px; margin: 16px 28px 0; max-width: 1544px; padding: 12px 44px 12px 14px;
    border-radius: 10px; border: 1px solid transparent; border-left-width: 1px; font-size: 14px; line-height: 1.45; position: relative;
}
.admin-body .admin-alert > i { margin-top: 2px; }
.admin-body .admin-alert.alert-success { background: #ecf6ef; border-color: #c4e2cd; color: #1d5c31; }
.admin-body .admin-alert.alert-danger { background: #fdf0ef; border-color: #f2c9c5; color: #9f231b; }
.admin-body .admin-alert.alert-warning { background: #fdf6e7; border-color: #efd9a6; color: #8a5300; }
.admin-body .admin-alert.alert-info { background: #edf4fb; border-color: #c8dcf0; color: #1d4f80; }
.admin-body .admin-alert .alert-close { width: 30px; height: 30px; right: 8px; border-radius: 6px; color: inherit; opacity: .6; }
.admin-body .admin-alert .alert-close:hover { opacity: 1; background: rgba(0, 0, 0, .05); }
.admin-body .admin-alert .alert-close:focus-visible { outline: 2px solid currentColor; opacity: 1; }

/* ---------------- Eski siniflarin yeni gorunume uyumu (sayfa ajanlari gecene kadar) ---------------- */
.admin-body .admin-page-title { flex-wrap: wrap; line-height: 1.25; font-family: var(--adm-font-head, 'Manrope', sans-serif); font-size: 22px; font-weight: 800; letter-spacing: -.015em; color: var(--adm-ink, #17241b); }
.admin-body .admin-page-title > i { color: #32834a; font-size: .85em; }
.admin-body .admin-page-header { flex-wrap: wrap; gap: 12px; }
.admin-body .admin-page-header > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-body .admin-card { min-width: 0; border: 1px solid var(--adm-line, #d6e3d9); box-shadow: none; border-radius: 14px; }
.admin-body .admin-card-header { flex-wrap: wrap; gap: 8px 12px; border-bottom-color: var(--adm-line-soft, #e4ece6); }
.admin-body .admin-card-header h3 { min-width: 0; font-family: var(--adm-font-head, 'Manrope', sans-serif); font-size: 15px; font-weight: 700; color: var(--adm-ink, #17241b); }
.admin-body .admin-card-header h3 > i { color: #32834a; }
.admin-body .admin-stat-card { border: 1px solid var(--adm-line, #d6e3d9); box-shadow: none; border-radius: 14px; }
.admin-body .admin-stat-info h3 { font-family: var(--adm-font-head, 'Manrope', sans-serif); font-variant-numeric: tabular-nums; color: var(--adm-ink, #17241b); }
.admin-body .admin-table th { white-space: nowrap; background: #f5f8f6; color: var(--adm-muted, #5d6b62); font-size: 11.5px; letter-spacing: .04em; }
.admin-body .admin-table th, .admin-body .admin-table td { border-bottom-color: var(--adm-line-soft, #e4ece6); }
.admin-body .admin-table tbody tr:hover { background: #f7faf8; }
.admin-body .admin-table td.num, .admin-body .admin-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.admin-body .info-item { background: #f5f8f6; border-radius: 10px; }
.admin-body .empty-state { padding: 48px 20px; }
.admin-body .empty-state i { font-size: 44px; color: #b9cbbe; }
.admin-body .empty-state p { color: var(--adm-muted, #5d6b62); }
.admin-body .admin-content .btn:focus-visible, .admin-body .admin-content a:focus-visible { outline: 2px solid #32834a; outline-offset: 2px; }
.admin-body .page-btn { border-color: var(--adm-line, #d6e3d9); background: #fff; }
.admin-body .page-btn.active { background: #32834a; border-color: #32834a; }

/* Icerik hicbir zaman sayfayi yana tasirmasin */
/* Sayfa ici .alert: metin + <code>/<strong> karisik oldugunda flex ogeleri tasiyordu (error-log.php) -> blok akis */
.admin-body .admin-content .alert { display: block; overflow-wrap: anywhere; }
.admin-body .admin-content .alert > i:first-child { margin-right: 6px; }
.admin-body .admin-content img,
.admin-body .admin-content video,
.admin-body .admin-content iframe { max-width: 100%; }
.admin-body .admin-content img { height: auto; }
.admin-body .admin-content input:not([type=checkbox]):not([type=radio]),
.admin-body .admin-content select,
.admin-body .admin-content textarea { max-width: 100%; }
.admin-body .admin-content pre { max-width: 100%; overflow-x: auto; }
.admin-body .admin-content code { word-break: break-word; }

/* Tablolar: tablo kendi kutusunda kayar (sarmalayiciyi admin.js ekler; .adm-table haric) */
.admin-body .adm-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.admin-body .adm-table-scroll > table { margin: 0; }
.admin-body .admin-content td.adm-nw, .admin-body .admin-content th.adm-nw { white-space: nowrap; }
.admin-body .admin-content td.adm-nw form { display: inline-block; }
.admin-body .adm-table-scroll td:not(.adm-nw) { min-width: 180px; }
.admin-body .admin-table td .btn, .admin-body .admin-table td .btn-sm { white-space: nowrap; }
.admin-body .admin-table td > .btn + .btn,
.admin-body .admin-table td > form + .btn,
.admin-body .admin-table td > .btn + form { margin-left: 4px; }

/* Filtre / arama formlari satira sigmazsa alta gecsin */
.admin-body .filter-form,
.admin-body .search-form,
.admin-body .admin-filter-form,
.admin-body .form-actions { flex-wrap: wrap; }
.admin-body .lang-tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
.admin-body .lang-tab { white-space: nowrap; flex-shrink: 0; }

/* Arka plan perdesi (cekmece acikken) */
.adm-backdrop {
    position: fixed; inset: 0; z-index: 99; background: rgba(10, 22, 15, .5);
    opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease;
}
.adm-drawer-open .adm-backdrop { opacity: 1; visibility: visible; }

/* ---------------- Tablet + telefon: yan menu cekmece olur ---------------- */
@media (max-width: 1024px) {
    .admin-body .admin-sidebar,
    .admin-body .admin-sidebar.collapsed {
        width: 284px; max-width: 86vw; overflow: hidden;
        transform: translateX(-100%); transition: transform .25s ease;
        box-shadow: none; border-right: 0;
    }
    .admin-body .admin-sidebar.open { transform: none; box-shadow: 8px 0 32px rgba(0, 0, 0, .28); }
    [dir=rtl] .admin-body .admin-sidebar:not(.open) { transform: translateX(100%); }
    .admin-body .admin-main, .admin-body .admin-main.expanded { margin-left: 0; }
    .admin-body .sidebar-nav a { padding-top: 11px; padding-bottom: 11px; }
    .admin-body .adm-nav-search kbd { display: none; }
    .adm-drawer-open { overflow: hidden; }

    .admin-body .admin-topbar { padding: 8px 16px 8px 12px; }
    .admin-body .admin-content { padding: 20px 20px 40px; }
    .admin-body .admin-alert { margin: 12px 20px 0; }
    .admin-body .admin-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
    .admin-body .admin-grid-2 { gap: 16px; }
}

/* ---------------- Telefon ---------------- */
@media (max-width: 768px) {
    .admin-body .admin-topbar { min-height: 56px; padding: 8px 10px; gap: 6px; }
    .admin-body .admin-topbar-right { gap: 2px; }
    .admin-body .adm-user-text { display: none; }
    .admin-body .admin-name.adm-user { padding: 0 4px 0 8px; margin-left: 2px; }
    .admin-body .adm-crumbs li:not(:last-child) { display: none; }
    .admin-body .adm-crumbs li + li::before { content: none; }
    .admin-body .admin-content { padding: 16px 12px 32px; }
    .admin-body .admin-alert { margin: 10px 12px 0; }
    .admin-body .admin-page-title { font-size: 20px; margin-bottom: 16px; }
    .admin-body .admin-page-header { margin-bottom: 16px; }
    .admin-body .admin-card-header { padding: 12px 14px; }
    .admin-body .admin-card-header h3 { font-size: 15px; }
    .admin-body .admin-card-body { padding: 14px; }
    .admin-body .admin-card + .admin-card { margin-top: 12px; }
    .admin-body .admin-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .admin-body .info-item { padding: 12px 8px; }
    .admin-body .info-item strong { font-size: 20px; }

    .admin-body .admin-table th, .admin-body .admin-table td { padding: 9px 10px; font-size: 13px; }

    /* Sayfalardaki satir ici cok sutunlu duzenler tek sutuna iner */
    .admin-body .admin-content [style*="grid-template-columns"]:not([style*="auto-fill"]):not([style*="auto-fit"]) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .admin-body .admin-content [style*="display:flex"],
    .admin-body .admin-content [style*="display: flex"] { flex-wrap: wrap; }
    .admin-body .admin-content [style*="width:"][style*="px"]:not(img):not(i):not(span):not(svg):not(canvas) { max-width: 100%; }

    .admin-body .form-row-2, .admin-body .form-row-3 { grid-template-columns: minmax(0, 1fr); }
    .admin-body .form-actions .btn { flex: 1 1 auto; justify-content: center; }
    .admin-body .filter-form > *, .admin-body .admin-filter-form > * { flex: 1 1 160px; min-width: 0; }
    .admin-body .filter-form .btn, .admin-body .admin-filter-form .btn { flex: 0 0 auto; }
    .admin-body .search-form { width: 100%; }

    /* Dokunmatik icin yeterli buyukluk; iOS'ta odaklaninca yakinlasmasin */
    .admin-body .admin-content input:not([type=checkbox]):not([type=radio]),
    .admin-body .admin-content select,
    .admin-body .admin-content textarea { font-size: 16px; }

    .admin-body .file-upload-area { padding: 24px 14px; }
    .admin-body .question-preview { max-width: 180px; }
    .admin-body .language-checkboxes { gap: 8px; }
    .admin-body .checkbox-card-content { padding: 10px 14px; }
}

@media (max-width: 480px) {
    .admin-body .adm-top-icon:first-child { display: none; }
    .admin-body .admin-stats-grid { gap: 10px; }
    .admin-body .admin-stat-card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
    .admin-body .admin-stat-icon { width: 38px; height: 38px; font-size: 17px; border-radius: 10px; }
    .admin-body .admin-stat-info h3 { font-size: 22px; }
    .admin-body .admin-stat-info p { font-size: 12px; }
    .admin-body .admin-info-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .admin-body .admin-sidebar, .admin-body .admin-main, .adm-backdrop, .admin-body .sidebar-nav a { transition: none; }
}

/* ---------------- Giris + iki adimli dogrulama sayfalari ---------------- */
.admin-login-body {
    background: #f1f6f2; color: #33413a; font-family: var(--adm-font, 'DM Sans', system-ui, sans-serif);
    min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center;
}
.admin-login-body .admin-login-container { width: 100%; max-width: 420px; padding: 24px 16px; }
.admin-login-body .adm-login-brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 20px; color: #17241b; }
.admin-login-body .adm-login-brand .adm-logo-mark {
    width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #32834a; color: #fff; font-size: 17px;
}
.admin-login-body .adm-login-brand strong { font-family: var(--adm-font-head, 'Manrope', sans-serif); font-weight: 800; font-size: 17px; letter-spacing: -.01em; line-height: 1.15; }
.admin-login-body .adm-login-brand small { display: block; font-weight: 500; font-size: 12px; color: #5d6b62; letter-spacing: .02em; }
.admin-login-body .admin-login-card {
    background: #fff; border: 1px solid #d6e3d9; border-radius: 16px; padding: 32px 30px; box-shadow: 0 18px 50px rgba(16, 37, 26, .07);
}
.admin-login-body .admin-login-header { text-align: left; margin-bottom: 22px; }
.admin-login-body .admin-login-header h1 { font-family: var(--adm-font-head, 'Manrope', sans-serif); font-size: 22px; font-weight: 800; color: #17241b; letter-spacing: -.015em; margin: 0 0 4px; }
.admin-login-body .admin-login-header p { color: #5d6b62; font-size: 14px; margin: 0; }
.admin-login-body .alert { margin: 0 0 16px; border-radius: 10px; font-size: 14px; padding: 11px 14px; border-left-width: 1px; border-style: solid; }
.admin-login-body .alert-danger { border-color: #f2c9c5; }
.admin-login-body .alert-success { border-color: #c4e2cd; }
.admin-login-body .alert-warning { border-color: #efd9a6; }
.admin-login-body .alert-info { border-color: #c8dcf0; }
.admin-login-body .adm-login-foot { margin: 16px 0 0; text-align: center; font-size: 13px; color: #5d6b62; }
.admin-login-body .adm-login-foot a { color: #1f6b38; font-weight: 600; }
.admin-login-body .adm-login-foot a:hover { text-decoration: underline; }
.admin-login-body .adm-login-note { margin-top: 18px; text-align: center; font-size: 12px; color: #6b786f; }
.admin-login-body .adm-login-note a { color: #1f6b38; font-weight: 600; }
.admin-login-body .adm-otp { font-size: 20px !important; letter-spacing: .18em; text-align: center; font-variant-numeric: tabular-nums; }
.admin-login-body .adm-otp::placeholder { color: #b9cbbe; }

/* 2fa.php (hesap guvenligi) */
.adm-p-2fa .adm-2fa-card { max-width: 720px; }
.adm-p-2fa .adm-2fa-codes {
    margin: 0 0 16px; padding: 14px 16px; border-radius: 10px; background: #f6f9f7; border: 1px solid #e4ece6;
    font: 600 16px/1.9 ui-monospace, Consolas, monospace; color: #17241b; columns: 2; column-gap: 24px;
}
.adm-p-2fa .adm-2fa-steps { margin: 0 0 12px 20px; font-size: 14px; line-height: 1.7; }
.adm-p-2fa .adm-2fa-qr { margin: 12px 0; }
.adm-p-2fa .adm-2fa-qr img, .adm-p-2fa .adm-2fa-qr canvas { padding: 8px; background: #fff; border: 1px solid #d6e3d9; border-radius: 10px; }
@media (max-width: 480px) { .adm-p-2fa .adm-2fa-codes { columns: 1; } }
@media (max-width: 480px) {
    .admin-login-body { align-items: flex-start; }
    .admin-login-body .admin-login-container { padding-top: 32px; }
    .admin-login-body .admin-login-card { padding: 24px 18px; }
}

@media print {
    .admin-body .admin-sidebar, .admin-body .admin-topbar, .adm-backdrop, .adm-skip { display: none !important; }
    .admin-body .admin-main { margin-left: 0 !important; }
    .admin-body { background: #fff; }
}

/* ---------------- Kart basligindaki bagimsiz secim kutusu (ör. packages.php) ---------------- */
.admin-body .admin-card-header select { padding: 6px 10px; font-size: 13px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white); }

/* FIXA: kategori listesi islem dugmeleri (duzenle + bos kategoriyi sil) */
.adm-cat-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.adm-cat-del { display: inline; margin: 0; }
/* FIXA: kaydirmali tablo sarmalayicisi mutlak konumlu (ekran okuyucu) ogeleri icinde tutsun; 820 px'te sayfa yatay tasmasin */
.admin-body .f1-table-wrap, .admin-body .f10-table-wrap { position: relative; }


/* ==== ADMLIB.css ==== */
/* ADMLIB — admin ortak bilesenleri: tarih secici, zengin metin editoru, grafik, siralanabilir tablo, arac cubugu */

/* ---------- Tarih secici (flatpickr) ---------- */
.admlib-date { display: inline-flex; align-items: stretch; position: relative; max-width: 100%; }
.admlib-date > input { flex: 1 1 auto; min-width: 0; padding-right: 30px; }
.admlib-date-clear {
    position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
    width: 24px; height: 24px; border: 0; border-radius: 50%; background: transparent;
    color: #6b7280; font-size: 18px; line-height: 1; cursor: pointer;
}
.admlib-date-clear:hover, .admlib-date-clear:focus-visible { background: #f3f4f6; color: #111827; }
.form-group .admlib-date { display: flex; }
.admlib-date-err { display: block; margin-top: 4px; color: #b91c1c; font-size: 12px; }
.admlib-date-input[aria-invalid="true"] { border-color: #dc2626; }
.flatpickr-calendar { font-size: 14px; }
@media (max-width: 480px) {
    .flatpickr-calendar { max-width: calc(100vw - 16px); }
}

/* ---------- Zengin metin editoru (Quill) ---------- */
.admlib-rte { background: #fff; border-radius: 8px; margin-bottom: 6px; }
.admlib-rte .ql-toolbar.ql-snow { border-radius: 8px 8px 0 0; border-color: #d1d5db; flex-wrap: wrap; }
.admlib-rte .ql-container.ql-snow { border-radius: 0 0 8px 8px; border-color: #d1d5db; font: inherit; font-size: 15px; }
.admlib-rte .ql-editor { min-height: 220px; max-height: 60vh; overflow-y: auto; line-height: 1.6; }
.admlib-rte-mail .ql-editor { min-height: 260px; }
.admlib-rte .ql-editor img { max-width: 100%; height: auto; }
.admlib-rte .ql-toolbar button:focus-visible, .admlib-rte .ql-picker-label:focus-visible { outline: 2px solid #2563eb; outline-offset: 1px; }
/* Turkce etiketler */
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-label::before,
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-item::before { content: 'Normal'; }
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { content: 'Başlık'; }
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { content: 'Başlık'; }
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.admlib-rte .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { content: 'Alt başlık'; }
.admlib-rte-mail .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.admlib-rte-mail .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { content: 'Alt başlık'; }
.admlib-rte-mail .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.admlib-rte-mail .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { content: 'Küçük başlık'; }
.admlib-rte .ql-snow .ql-tooltip::before { content: 'Bağlantı:'; }
.admlib-rte .ql-snow .ql-tooltip[data-mode="link"]::before { content: 'Adres:'; }
.admlib-rte .ql-snow .ql-tooltip a.ql-action::after { content: 'Düzenle'; }
.admlib-rte .ql-snow .ql-tooltip a.ql-remove::before { content: 'Kaldır'; }
.admlib-rte .ql-snow .ql-tooltip.ql-editing a.ql-action::after { content: 'Kaydet'; }
.admlib-rte .ql-snow .ql-tooltip { z-index: 5; max-width: calc(100% - 8px); }
.admlib-rte .ql-snow .ql-tooltip input[type="text"] { max-width: 55vw; }
.admlib-rte-hint { display: block; color: #6b7280; font-size: 12px; margin-top: 4px; }

/* ---------- Grafikler (Chart.js) ---------- */
.admlib-chart { position: relative; height: 240px; display: none; }
.admlib-chart.is-ready { display: block; }
.admlib-chart--tall { height: 280px; }
.admlib-chart-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-bottom: 20px; }
.admlib-chart-grid > .admin-card { margin: 0; min-width: 0; }
.admlib-chart-table { margin-top: 8px; }
.admlib-chart-table summary { cursor: pointer; color: #6b7280; font-size: 13px; }
.admlib-scroll { overflow-x: auto; max-height: 320px; overflow-y: auto; }
.admlib-scroll .num, .admlib-chart-table .num { text-align: right; white-space: nowrap; }
.admlib-empty { color: #6b7280; font-size: 14px; margin: 8px 0; }
@media (max-width: 480px) {
    .admlib-chart-grid { grid-template-columns: 1fr; }
    .admlib-chart { height: 200px; }
}

/* ---------- Siralanabilir tablo + arac cubugu ---------- */
.admlib-sort { color: inherit; text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.admlib-sort i { font-size: 11px; opacity: .35; }
.admlib-sort:hover i, .admlib-sort.is-active i { opacity: 1; }
.admlib-sort:hover { text-decoration: underline; }
.admlib-sort:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; border-radius: 2px; }
.admlib-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.admlib-toolbar .form-group { margin: 0; min-width: 140px; }
.admlib-toolbar .form-group label { font-size: 12px; margin-bottom: 2px; }
.admlib-toolbar .admlib-grow { flex: 1 1 200px; }
.admlib-toolbar input, .admlib-toolbar select { padding: 8px 10px; font-size: 13px; }
.admlib-table-wrap { overflow-x: auto; }
.admlib-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
@media (max-width: 600px) {
    .admlib-toolbar .form-group { flex: 1 1 100%; min-width: 0; }
    .admlib-toolbar .btn { flex: 1 1 auto; }
}


/* ==== ADMUI.css ==== */
/* ADMUI — yonetim paneli bilesen kutuphanesi (sahibi: ADMSHELL).
   Kapsam: yalniz <body class="... adm-ui"> (admin-header.php ve admin giris sayfalari). Kullanici sayfalarini etkilemez.
   Kilavuz (HTML ornekleri): ADMUI-KILAVUZ.md · Davranis: assets/js/mo/ADMUI.js · PHP yardimcilari: includes/mo/admui.php
   Bilesenler: page-head, toolbar, card, table (+wrap, --cards), badge, btn, form/field, tabs, empty, pagination,
   stat, kv, alert, dialog, yardimci siniflar. Eski siniflar (btn, admin-card, admin-table ...) ayni sekilde calismaya devam eder. */

.adm-ui {
    --adm-brand: #32834a;
    --adm-brand-strong: #1f6b38;      /* beyaz zeminde metin icin (AA) */
    --adm-brand-soft: #e5f1e8;
    --adm-bg: #f1f6f2;
    --adm-surface: #ffffff;
    --adm-surface-2: #f6f9f7;
    --adm-line: #d6e3d9;
    --adm-line-soft: #e4ece6;
    --adm-line-strong: #b9cbbe;
    --adm-ink: #17241b;
    --adm-ink-2: #33413a;
    --adm-muted: #5d6b62;
    --adm-ok: #1d6b35;    --adm-ok-bg: #e6f3ea;    --adm-ok-line: #c4e2cd;
    --adm-warn: #8a5300;  --adm-warn-bg: #fdf3dc;  --adm-warn-line: #efd9a6;
    --adm-danger: #b42318; --adm-danger-bg: #fdecea; --adm-danger-line: #f2c9c5;
    --adm-info: #1d4f80;  --adm-info-bg: #e8f1fa;  --adm-info-line: #c8dcf0;
    --adm-r-card: 16px;
    --adm-r-box: 10px;
    --adm-r-btn: 8px;
    --adm-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --adm-font-head: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --adm-focus: 0 0 0 3px rgba(50, 131, 74, .28);
}

/* ================= Sayfa basligi ================= */
.adm-ui .adm-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; margin: 0 0 20px; }
.adm-ui .adm-page-head__main { min-width: 0; flex: 1 1 320px; }
.adm-ui .adm-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--adm-muted); }
.adm-ui .adm-back:hover { color: var(--adm-brand-strong); }
.adm-ui .adm-page-title {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0;
    font-family: var(--adm-font-head); font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.02em; color: var(--adm-ink);
    text-wrap: balance;
}
.adm-ui .adm-page-title .adm-badge { font-family: var(--adm-font); letter-spacing: 0; }
.adm-ui .adm-page-title__count { font-family: var(--adm-font); font-size: 15px; font-weight: 600; color: var(--adm-muted); font-variant-numeric: tabular-nums; }
.adm-ui .adm-page-desc { margin: 6px 0 0; max-width: 72ch; font-size: 14px; line-height: 1.5; color: var(--adm-muted); }
.adm-ui .adm-page-head__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ================= Arac cubugu (arama + filtre + eylem) ================= */
.adm-ui .adm-toolbar {
    display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin: 0 0 16px; padding: 12px;
    background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-card);
}
.adm-ui .adm-toolbar--plain { padding: 0; background: none; border: 0; }
.adm-ui .adm-toolbar__search { position: relative; flex: 1 1 260px; min-width: 0; }
.adm-ui .adm-toolbar__search > i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--adm-muted); font-size: 13px; pointer-events: none; }
.adm-ui .adm-toolbar__search .adm-input { padding-left: 34px; }
.adm-ui .adm-toolbar__filters { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; min-width: 0; }
.adm-ui .adm-toolbar__filters .adm-field { margin: 0; min-width: 150px; }
.adm-ui .adm-toolbar__filters .adm-label { font-size: 12px; margin-bottom: 3px; }
.adm-ui .adm-toolbar__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.adm-ui .adm-toolbar__meta { flex-basis: 100%; font-size: 13px; color: var(--adm-muted); }
.adm-ui .adm-toolbar .adm-toolbar__toggle { display: none; }
.adm-ui .adm-filter-count {
    display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px;
    border-radius: 9px; background: var(--adm-brand); color: #fff; font-size: 11px; font-weight: 700; line-height: 1;
}

/* ================= Kart ================= */
.adm-ui .adm-card { background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-card); min-width: 0; margin: 0 0 16px; }
.adm-ui .adm-card-head {
    display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap;
    padding: 14px 18px; border-bottom: 1px solid var(--adm-line-soft);
}
.adm-ui .adm-card-title { display: flex; align-items: center; gap: 8px; margin: 0; min-width: 0; font-family: var(--adm-font-head); font-size: 15px; font-weight: 700; color: var(--adm-ink); }
.adm-ui .adm-card-title > i { color: var(--adm-brand); font-size: 14px; }
.adm-ui .adm-card-sub { margin: 2px 0 0; font-size: 13px; color: var(--adm-muted); flex-basis: 100%; }
.adm-ui .adm-card-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-ui .adm-card-body { padding: 18px; }
.adm-ui .adm-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 12px 18px; border-top: 1px solid var(--adm-line-soft); font-size: 13px; color: var(--adm-muted); }
.adm-ui .adm-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.adm-ui .adm-grid > .adm-card { margin: 0; }
.adm-ui .adm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adm-ui .adm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adm-ui .adm-grid--aside { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }

/* ================= Tablo ================= */
.adm-ui .adm-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-card); }
.adm-ui .adm-card > .adm-table-wrap { border: 0; border-radius: 0; }
.adm-ui .adm-card > .adm-table-wrap:first-child { border-top-left-radius: var(--adm-r-card); border-top-right-radius: var(--adm-r-card); }
.adm-ui .adm-card > .adm-table-wrap:last-child { border-bottom-left-radius: var(--adm-r-card); border-bottom-right-radius: var(--adm-r-card); }
.adm-ui .adm-table-wrap:focus-visible { outline: 2px solid var(--adm-brand); outline-offset: 2px; }
.adm-ui .adm-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; color: var(--adm-ink-2); }
.adm-ui .adm-table caption { caption-side: top; text-align: left; padding: 12px 16px 0; font-size: 13px; color: var(--adm-muted); }
.adm-ui .adm-table th, .adm-ui .adm-table td { padding: 11px 14px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--adm-line-soft); }
.adm-ui .adm-table thead th {
    position: sticky; top: 0; z-index: 1; background: var(--adm-surface-2); white-space: nowrap;
    font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--adm-muted);
}
.adm-ui .adm-table tbody tr:last-child > * { border-bottom: 0; }
.adm-ui .adm-table tbody tr:hover > * { background: #f7faf8; }
.adm-ui .adm-table tbody tr.is-selected > * { background: var(--adm-brand-soft); }
.adm-ui .adm-table tr[data-href] { cursor: pointer; }
.adm-ui .adm-table tr[data-href]:focus-visible { outline: 2px solid var(--adm-brand); outline-offset: -2px; }
.adm-ui .adm-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.adm-ui .adm-table .adm-nowrap, .adm-ui .adm-table .adm-col-date { white-space: nowrap; }
.adm-ui .adm-table .adm-col-check { width: 40px; padding-right: 0; }
.adm-ui .adm-table .adm-col-actions { text-align: right; white-space: nowrap; width: 1%; }
.adm-ui .adm-table td.adm-col-actions > * + * { margin-left: 4px; }
.adm-ui .adm-table td.adm-col-actions form { display: inline-block; margin: 0; }
.adm-ui .adm-table .adm-cell-main { display: block; font-weight: 600; color: var(--adm-ink); }
.adm-ui .adm-table a.adm-cell-main:hover { color: var(--adm-brand-strong); text-decoration: underline; }
.adm-ui .adm-table .adm-cell-sub { display: block; font-size: 12.5px; color: var(--adm-muted); margin-top: 1px; }
.adm-ui .adm-truncate { display: inline-block; max-width: 28ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.adm-ui .adm-table th a.admlib-sort { color: inherit; }
.adm-ui .adm-table th[aria-sort="ascending"], .adm-ui .adm-table th[aria-sort="descending"] { color: var(--adm-ink); }
.adm-ui .adm-table--compact th, .adm-ui .adm-table--compact td { padding: 7px 10px; font-size: 13px; }
.adm-ui .adm-table tfoot td { background: var(--adm-surface-2); font-weight: 700; border-top: 1px solid var(--adm-line); border-bottom: 0; }

/* ================= Rozet ================= */
.adm-ui .adm-badge {
    display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; white-space: nowrap;
    font-size: 12px; font-weight: 600; line-height: 1.5; border: 1px solid transparent;
    background: #eef1ef; color: #4a564e; border-color: #dde4df;
}
.adm-ui .adm-badge > i { font-size: 10px; }
.adm-ui .adm-badge--dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.adm-ui .adm-badge--ok { background: var(--adm-ok-bg); color: var(--adm-ok); border-color: var(--adm-ok-line); }
.adm-ui .adm-badge--warn { background: var(--adm-warn-bg); color: var(--adm-warn); border-color: var(--adm-warn-line); }
.adm-ui .adm-badge--danger { background: var(--adm-danger-bg); color: var(--adm-danger); border-color: var(--adm-danger-line); }
.adm-ui .adm-badge--info { background: var(--adm-info-bg); color: var(--adm-info); border-color: var(--adm-info-line); }
.adm-ui .adm-badge--muted { background: #f1f3f2; color: #5d6b62; border-color: #e1e6e3; }
.adm-ui .adm-badge--brand { background: var(--adm-brand); color: #fff; border-color: var(--adm-brand); }

/* ================= Dugme ================= */
.adm-ui .adm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 15px;
    border: 1px solid var(--adm-line-strong); border-radius: var(--adm-r-btn); background: var(--adm-surface); color: var(--adm-ink-2);
    font: 600 14px/1.2 var(--adm-font); text-decoration: none; white-space: nowrap; cursor: pointer; user-select: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.adm-ui .adm-btn, .adm-ui .adm-tab, .adm-ui .adm-page { touch-action: manipulation; }
.adm-ui .adm-btn:hover { background: var(--adm-surface-2); border-color: #9fb6a6; color: var(--adm-ink); }
.adm-ui .adm-btn:focus-visible { outline: none; box-shadow: var(--adm-focus); border-color: var(--adm-brand); }
.adm-ui .adm-btn:active { transform: translateY(1px); }
.adm-ui .adm-btn > i { font-size: .92em; }
.adm-ui .adm-btn--primary { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-ui .adm-btn--primary:hover { background: var(--adm-brand-strong); border-color: var(--adm-brand-strong); color: #fff; }
.adm-ui .adm-btn--secondary { background: var(--adm-brand-soft); border-color: #c4e2cd; color: var(--adm-brand-strong); }
.adm-ui .adm-btn--secondary:hover { background: #d7ebdd; border-color: #a9d3b6; color: #18552c; }
.adm-ui .adm-btn--danger { background: var(--adm-surface); border-color: var(--adm-danger-line); color: var(--adm-danger); }
.adm-ui .adm-btn--danger:hover { background: var(--adm-danger); border-color: var(--adm-danger); color: #fff; }
.adm-ui .adm-btn--danger-solid { background: var(--adm-danger); border-color: var(--adm-danger); color: #fff; }
.adm-ui .adm-btn--danger-solid:hover { background: #8f1c13; border-color: #8f1c13; color: #fff; }
.adm-ui .adm-btn--ghost { background: transparent; border-color: transparent; color: var(--adm-ink-2); }
.adm-ui .adm-btn--ghost:hover { background: var(--adm-bg); border-color: transparent; color: var(--adm-ink); }
.adm-ui .adm-btn--sm { min-height: 32px; padding: 5px 11px; font-size: 13px; gap: 6px; }
.adm-ui .adm-btn--lg { min-height: 46px; padding: 11px 20px; font-size: 15px; }
.adm-ui .adm-btn--icon { width: 38px; padding: 0; }
.adm-ui .adm-btn--icon.adm-btn--sm { width: 32px; }
.adm-ui .adm-btn--block { display: flex; width: 100%; }
.adm-ui .adm-btn:disabled, .adm-ui .adm-btn[aria-disabled="true"], .adm-ui .adm-btn.is-disabled { opacity: .5; cursor: not-allowed; pointer-events: none; }
.adm-ui .adm-btn.is-loading { position: relative; color: transparent !important; pointer-events: none; }
.adm-ui .adm-btn.is-loading::after {
    content: ''; position: absolute; width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid currentColor; border-right-color: transparent; color: var(--adm-ink-2); animation: adm-spin .7s linear infinite;
}
.adm-ui .adm-btn--primary.is-loading::after, .adm-ui .adm-btn--danger-solid.is-loading::after { color: #fff; }
.adm-ui .adm-btn-group { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; }
@keyframes adm-spin { to { transform: rotate(360deg); } }

/* ================= Form ================= */
.adm-ui .adm-form { min-width: 0; }
.adm-ui .adm-form-section { padding: 20px 0; border-top: 1px solid var(--adm-line-soft); }
.adm-ui .adm-form-section:first-child { padding-top: 0; border-top: 0; }
.adm-ui .adm-form-section__title { margin: 0 0 4px; font-family: var(--adm-font-head); font-size: 15px; font-weight: 700; color: var(--adm-ink); }
.adm-ui .adm-form-section__desc { margin: 0 0 14px; font-size: 13px; color: var(--adm-muted); max-width: 72ch; }
.adm-ui .adm-form-grid { display: grid; gap: 0 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.adm-ui .adm-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adm-ui .adm-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adm-ui .adm-form-grid > .adm-span-all { grid-column: 1 / -1; }
.adm-ui .adm-field { margin: 0 0 16px; min-width: 0; }
.adm-ui .adm-label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--adm-ink-2); }
.adm-ui .adm-req { color: var(--adm-danger); margin-left: 2px; text-decoration: none; }
.adm-ui .adm-optional { font-weight: 400; color: var(--adm-muted); font-size: 12px; }
.adm-ui .adm-input, .adm-ui .adm-select, .adm-ui .adm-textarea,
.adm-ui .adm-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),
.adm-ui .adm-field select, .adm-ui .adm-field textarea {
    display: block; width: 100%; max-width: 100%; min-height: 40px; padding: 8px 12px;
    border: 1px solid var(--adm-line-strong); border-radius: var(--adm-r-btn); background: var(--adm-surface); color: var(--adm-ink);
    font: 400 14px/1.4 var(--adm-font); transition: border-color .15s ease, box-shadow .15s ease;
}
.adm-ui .adm-field textarea, .adm-ui .adm-textarea { min-height: 96px; resize: vertical; }
.adm-ui .adm-field select, .adm-ui .adm-select { padding-right: 32px; }
.adm-ui .adm-input:hover, .adm-ui .adm-select:hover, .adm-ui .adm-textarea:hover,
.adm-ui .adm-field input:hover, .adm-ui .adm-field select:hover, .adm-ui .adm-field textarea:hover { border-color: #9fb6a6; }
.adm-ui .adm-input:focus, .adm-ui .adm-select:focus, .adm-ui .adm-textarea:focus,
.adm-ui .adm-field input:focus, .adm-ui .adm-field select:focus, .adm-ui .adm-field textarea:focus { outline: none; border-color: var(--adm-brand); box-shadow: var(--adm-focus); }
.adm-ui .adm-field input:disabled, .adm-ui .adm-field select:disabled, .adm-ui .adm-field textarea:disabled,
.adm-ui .adm-input:disabled, .adm-ui .adm-select:disabled { background: var(--adm-surface-2); color: var(--adm-muted); cursor: not-allowed; }
.adm-ui .adm-field input[readonly] { background: var(--adm-surface-2); }
.adm-ui .adm-input--sm, .adm-ui .adm-select--sm { min-height: 34px; padding: 5px 10px; font-size: 13px; }
.adm-ui .adm-help { display: block; margin-top: 5px; font-size: 12.5px; line-height: 1.45; color: var(--adm-muted); }
.adm-ui .adm-error { display: flex; align-items: flex-start; gap: 6px; margin-top: 5px; font-size: 12.5px; font-weight: 600; color: var(--adm-danger); }
.adm-ui .adm-error::before { content: '\f06a'; font: 900 12px/1.5 'Font Awesome 6 Free'; }
.adm-ui .adm-field.has-error input, .adm-ui .adm-field.has-error select, .adm-ui .adm-field.has-error textarea,
.adm-ui [aria-invalid="true"] { border-color: var(--adm-danger) !important; }
.adm-ui .adm-field.has-error .adm-label { color: var(--adm-danger); }
.adm-ui .adm-input-group { display: flex; align-items: stretch; min-width: 0; }
.adm-ui .adm-input-group > .adm-input, .adm-ui .adm-input-group > input { flex: 1 1 auto; min-width: 0; border-radius: var(--adm-r-btn) 0 0 var(--adm-r-btn); }
.adm-ui .adm-input-group > .adm-addon {
    display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--adm-line-strong); border-left: 0;
    border-radius: 0 var(--adm-r-btn) var(--adm-r-btn) 0; background: var(--adm-surface-2); color: var(--adm-muted); font-size: 13px; white-space: nowrap;
}
.adm-ui .adm-check { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 10px; font-size: 14px; color: var(--adm-ink-2); cursor: pointer; }
.adm-ui .adm-check input[type=checkbox], .adm-ui .adm-check input[type=radio] { width: 18px; height: 18px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--adm-brand); }
.adm-ui .adm-check small { display: block; color: var(--adm-muted); font-size: 12.5px; }
.adm-ui .adm-checks-inline { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.adm-ui .adm-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; }
.adm-ui .adm-switch input { appearance: none; -webkit-appearance: none; width: 38px; height: 22px; margin: 0; border-radius: 11px; background: #c9d5cd; position: relative; cursor: pointer; transition: background-color .15s ease; flex-shrink: 0; }
.adm-ui .adm-switch input::after { content: ''; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform .15s ease; }
.adm-ui .adm-switch input:checked { background: var(--adm-brand); }
.adm-ui .adm-switch input:checked::after { transform: translateX(16px); }
.adm-ui .adm-switch input:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-ui .adm-form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--adm-line-soft); }
.adm-ui .adm-form-actions__note { font-size: 13px; color: var(--adm-muted); margin-right: auto; }
.adm-ui .adm-form-actions--sticky {
    position: sticky; bottom: 0; z-index: 20; margin: 16px 0 0; padding: 12px 18px; border: 1px solid var(--adm-line); justify-content: flex-end;
    border-radius: var(--adm-r-card); background: rgba(255, 255, 255, .96); box-shadow: 0 -6px 24px rgba(16, 37, 26, .06);
}
.adm-ui .adm-dirty-flag { display: none; font-size: 13px; font-weight: 600; color: var(--adm-warn); }
.adm-ui form.is-dirty .adm-dirty-flag { display: inline-flex; align-items: center; gap: 6px; }

/* ================= Sekmeler ================= */
.adm-ui .adm-tabs {
    position: relative; /* icteki .adm-sr-only kaydirma kabinin disina tasmasin */
    display: flex; gap: 2px; margin: 0 0 18px; border-bottom: 1px solid var(--adm-line); overflow-x: auto; overflow-y: hidden;
    scrollbar-width: thin; -webkit-overflow-scrolling: touch;
}
.adm-ui .adm-tab {
    display: inline-flex; align-items: center; gap: 7px; padding: 10px 14px; margin-bottom: -1px; flex-shrink: 0;
    border: 0; border-bottom: 2px solid transparent; background: none; color: var(--adm-muted);
    font: 600 14px/1.2 var(--adm-font); white-space: nowrap; cursor: pointer; text-decoration: none;
}
.adm-ui .adm-tab:hover { color: var(--adm-ink); border-bottom-color: var(--adm-line-strong); }
.adm-ui .adm-tab.is-active, .adm-ui .adm-tab[aria-selected="true"], .adm-ui .adm-tab[aria-current="page"] { color: var(--adm-brand-strong); border-bottom-color: var(--adm-brand); }
.adm-ui .adm-tab:focus-visible { outline: 2px solid var(--adm-brand); outline-offset: -2px; border-radius: 6px 6px 0 0; }
.adm-ui .adm-tab .adm-tab-count { font-size: 12px; font-weight: 600; padding: 0 7px; border-radius: 999px; background: #eef1ef; color: var(--adm-muted); font-variant-numeric: tabular-nums; }
.adm-ui .adm-tab.is-active .adm-tab-count, .adm-ui .adm-tab[aria-selected="true"] .adm-tab-count, .adm-ui .adm-tab[aria-current="page"] .adm-tab-count { background: var(--adm-brand-soft); color: var(--adm-brand-strong); }
.adm-ui .adm-tabs--pills { border-bottom: 0; gap: 6px; }
.adm-ui .adm-tabs--pills .adm-tab { border: 1px solid var(--adm-line); border-radius: 999px; padding: 7px 14px; margin: 0; background: var(--adm-surface); }
.adm-ui .adm-tabs--pills .adm-tab.is-active, .adm-ui .adm-tabs--pills .adm-tab[aria-selected="true"], .adm-ui .adm-tabs--pills .adm-tab[aria-current="page"] { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-ui [role="tabpanel"][hidden] { display: none !important; }

/* ================= Bos durum ================= */
.adm-ui .adm-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 44px 20px; }
.adm-ui .adm-empty__icon {
    width: 52px; height: 52px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 6px;
    background: var(--adm-brand-soft); color: var(--adm-brand); font-size: 21px;
}
.adm-ui .adm-empty__title { margin: 0; font-family: var(--adm-font-head); font-size: 16px; font-weight: 700; color: var(--adm-ink); }
.adm-ui .adm-empty__text { margin: 0; max-width: 46ch; font-size: 14px; color: var(--adm-muted); }
.adm-ui .adm-empty__actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 10px; }
.adm-ui .adm-empty--sm { padding: 24px 16px; }
.adm-ui .adm-empty--sm .adm-empty__icon { width: 40px; height: 40px; font-size: 16px; border-radius: 10px; }

/* ================= Sayfalama ================= */
.adm-ui .adm-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; flex-wrap: wrap; padding: 14px 0 0; }
.adm-ui .adm-card > .adm-pagination { padding: 12px 18px; border-top: 1px solid var(--adm-line-soft); }
.adm-ui .adm-pagination__info { font-size: 13px; color: var(--adm-muted); font-variant-numeric: tabular-nums; }
.adm-ui .adm-pagination__pages { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.adm-ui .adm-page {
    display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 8px;
    border: 1px solid var(--adm-line); border-radius: var(--adm-r-btn); background: var(--adm-surface); color: var(--adm-ink-2);
    font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; text-decoration: none;
}
.adm-ui a.adm-page:hover { border-color: var(--adm-brand); color: var(--adm-brand-strong); }
.adm-ui a.adm-page:focus-visible { outline: none; box-shadow: var(--adm-focus); border-color: var(--adm-brand); }
.adm-ui .adm-page[aria-current="page"] { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-ui .adm-page.is-disabled { opacity: .45; pointer-events: none; }
.adm-ui .adm-page--gap { border: 0; background: none; min-width: 20px; padding: 0; color: var(--adm-muted); }

/* ================= Gosterge kartlari ================= */
.adm-ui .adm-stats { display: grid; gap: 12px; margin: 0 0 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.adm-ui .adm-stat {
    position: relative; min-width: 0; padding: 14px 16px; background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: 14px;
    display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: inherit;
}
.adm-ui a.adm-stat:hover { border-color: var(--adm-line-strong); box-shadow: 0 4px 14px rgba(16, 37, 26, .06); }
.adm-ui a.adm-stat:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-ui .adm-stat__label { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--adm-muted); }
.adm-ui .adm-stat__label > i { width: 14px; text-align: center; color: var(--adm-brand); font-size: 12px; }
.adm-ui .adm-stat__value { font-family: var(--adm-font-head); font-size: 26px; font-weight: 800; line-height: 1.15; color: var(--adm-ink); font-variant-numeric: tabular-nums; letter-spacing: -.02em; overflow-wrap: anywhere; }
.adm-ui .adm-stat__meta { font-size: 12.5px; color: var(--adm-muted); }
.adm-ui .adm-stat__delta--up { color: var(--adm-ok); font-weight: 700; }
.adm-ui .adm-stat__delta--down { color: var(--adm-danger); font-weight: 700; }
.adm-ui .adm-stat--ok .adm-stat__label > i { color: var(--adm-ok); }
.adm-ui .adm-stat--warn .adm-stat__label > i { color: var(--adm-warn); }
.adm-ui .adm-stat--danger .adm-stat__label > i { color: var(--adm-danger); }
.adm-ui .adm-stat--info .adm-stat__label > i { color: var(--adm-info); }
.adm-ui .adm-stat--warn .adm-stat__value { color: var(--adm-warn); }
.adm-ui .adm-stat--danger .adm-stat__value { color: var(--adm-danger); }

/* ================= Anahtar–deger listesi ================= */
.adm-ui .adm-kv { display: grid; grid-template-columns: minmax(120px, max-content) minmax(0, 1fr); gap: 0; margin: 0; font-size: 14px; }
.adm-ui .adm-kv > dt, .adm-ui .adm-kv > dd { padding: 9px 0; border-bottom: 1px solid var(--adm-line-soft); margin: 0; }
.adm-ui .adm-kv > dt { padding-right: 16px; color: var(--adm-muted); font-weight: 500; }
.adm-ui .adm-kv > dd { color: var(--adm-ink); overflow-wrap: anywhere; min-width: 0; }
.adm-ui .adm-kv > dt:last-of-type, .adm-ui .adm-kv > dd:last-of-type { border-bottom: 0; }
.adm-ui .adm-kv--cols { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px 20px; }
.adm-ui .adm-kv--cols > div { min-width: 0; }
.adm-ui .adm-kv--cols dt { font-size: 12px; font-weight: 600; color: var(--adm-muted); text-transform: uppercase; letter-spacing: .03em; margin: 0 0 2px; }
.adm-ui .adm-kv--cols dd { margin: 0; font-size: 14px; color: var(--adm-ink); overflow-wrap: anywhere; }

/* ================= Uyari kutusu (sayfa ici) ================= */
.adm-ui .adm-alert {
    position: relative; display: flex; align-items: flex-start; gap: 10px; margin: 0 0 16px; padding: 12px 14px;
    border: 1px solid var(--adm-info-line); border-radius: var(--adm-r-box); background: var(--adm-info-bg); color: var(--adm-info);
    font-size: 14px; line-height: 1.5;
}
.adm-ui .adm-alert > i { margin-top: 3px; flex-shrink: 0; }
.adm-ui .adm-alert__body { min-width: 0; flex: 1 1 auto; }
.adm-ui .adm-alert__body > strong:first-child { display: block; }
.adm-ui .adm-alert a { color: inherit; font-weight: 700; text-decoration: underline; }
.adm-ui .adm-alert--ok { background: var(--adm-ok-bg); border-color: var(--adm-ok-line); color: var(--adm-ok); }
.adm-ui .adm-alert--warn { background: var(--adm-warn-bg); border-color: var(--adm-warn-line); color: var(--adm-warn); }
.adm-ui .adm-alert--danger { background: var(--adm-danger-bg); border-color: var(--adm-danger-line); color: var(--adm-danger); }
.adm-ui .adm-alert [data-adm-dismiss] { margin-left: auto; width: 28px; height: 28px; border: 0; border-radius: 6px; background: none; color: inherit; opacity: .6; cursor: pointer; font-size: 18px; line-height: 1; }
.adm-ui .adm-alert [data-adm-dismiss]:hover { opacity: 1; background: rgba(0, 0, 0, .05); }

/* ================= Diyalog (<dialog class="adm-dialog">) ================= */
.adm-ui .adm-dialog {
    width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 48px); padding: 0; margin: auto;
    border: 1px solid var(--adm-line); border-radius: var(--adm-r-card); background: var(--adm-surface); color: var(--adm-ink-2);
    box-shadow: 0 24px 70px rgba(10, 22, 15, .25);
}
.adm-ui .adm-dialog::backdrop { background: rgba(10, 22, 15, .5); }
.adm-ui .adm-dialog--wide { width: min(860px, calc(100vw - 24px)); }
.adm-ui .adm-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--adm-line-soft); }
.adm-ui .adm-dialog__title { margin: 0; font-family: var(--adm-font-head); font-size: 17px; font-weight: 800; color: var(--adm-ink); }
.adm-ui .adm-dialog__body { padding: 18px; overflow-y: auto; max-height: calc(100vh - 200px); }
.adm-ui .adm-dialog__foot { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; padding: 12px 18px; border-top: 1px solid var(--adm-line-soft); }

/* ================= Yardimci siniflar ================= */
.adm-ui .adm-muted { color: var(--adm-muted); }
.adm-ui .adm-small { font-size: 12.5px; }
.adm-ui .adm-mono { font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: .92em; }
.adm-ui .adm-num { font-variant-numeric: tabular-nums; }
.adm-ui .adm-nowrap { white-space: nowrap; }
.adm-ui .adm-break { overflow-wrap: anywhere; }
.adm-ui .adm-text-ok { color: var(--adm-ok); }
.adm-ui .adm-text-warn { color: var(--adm-warn); }
.adm-ui .adm-text-danger { color: var(--adm-danger); }
.adm-ui .adm-stack { display: flex; flex-direction: column; gap: 12px; }
.adm-ui .adm-cluster { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-ui .adm-cluster--end { justify-content: flex-end; }
.adm-ui .adm-divider { height: 1px; border: 0; background: var(--adm-line-soft); margin: 16px 0; }
.adm-ui .adm-section-title { margin: 24px 0 10px; font-family: var(--adm-font-head); font-size: 16px; font-weight: 800; color: var(--adm-ink); }
.adm-ui .adm-code { padding: 1px 6px; border-radius: 5px; background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); font-family: ui-monospace, Consolas, monospace; font-size: .9em; color: var(--adm-ink); }
.adm-ui .adm-copy { cursor: pointer; }
.adm-ui .adm-progress { height: 8px; border-radius: 4px; background: #e6ede8; overflow: hidden; }
.adm-ui .adm-progress > span { display: block; height: 100%; border-radius: 4px; background: var(--adm-brand); }

/* ================= Duyarli ================= */
@media (max-width: 1100px) {
    .adm-ui .adm-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adm-ui .adm-grid--aside { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
    .adm-ui .adm-page-head { align-items: flex-start; margin-bottom: 16px; }
    .adm-ui .adm-page-title { font-size: 21px; }
    .adm-ui .adm-page-head__actions { width: 100%; }
    .adm-ui .adm-page-head__actions > .adm-btn { flex: 1 1 auto; }
    .adm-ui .adm-grid--2, .adm-ui .adm-grid--3, .adm-ui .adm-form-grid--2, .adm-ui .adm-form-grid--3 { grid-template-columns: minmax(0, 1fr); }
    .adm-ui .adm-card-head { padding: 12px 14px; }
    .adm-ui .adm-card-body { padding: 14px; }
    .adm-ui .adm-card-foot, .adm-ui .adm-card > .adm-pagination { padding: 12px 14px; }

    /* Arac cubugu: filtreler "Filtreler" dugmesinin arkasina katlanir (ADMUI.js; JS yoksa acik kalir) */
    .adm-ui .adm-toolbar { padding: 10px; gap: 8px; }
    .adm-ui .adm-toolbar__search { flex-basis: 100%; }
    .adm-ui .adm-toolbar.is-collapsible .adm-toolbar__toggle { display: inline-flex; }
    .adm-ui .adm-toolbar.is-collapsible:not(.is-open) .adm-toolbar__filters { display: none; }
    .adm-ui .adm-toolbar__filters { flex-basis: 100%; }
    .adm-ui .adm-toolbar__filters .adm-field { flex: 1 1 140px; min-width: 0; }
    .adm-ui .adm-toolbar__actions { margin-left: 0; }

    /* Form denetimleri dokunmatik boyutta; iOS odak yakinlasmasi olmasin */
    .adm-ui .adm-input, .adm-ui .adm-select, .adm-ui .adm-textarea,
    .adm-ui .adm-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),
    .adm-ui .adm-field select, .adm-ui .adm-field textarea { font-size: 16px; min-height: 44px; }
    .adm-ui .adm-btn { min-height: 42px; }
    .adm-ui .adm-btn--sm { min-height: 36px; }
    .adm-ui .adm-btn--icon.adm-btn--sm { width: 36px; }
    .adm-ui .adm-form-actions--sticky { padding: 10px 12px; border-radius: 12px; }
    .adm-ui .adm-form-actions--sticky .adm-btn { flex: 1 1 auto; }

    .adm-ui .adm-pagination { justify-content: center; }
    .adm-ui .adm-pagination__info { flex-basis: 100%; text-align: center; }
    .adm-ui .adm-page { min-width: 40px; height: 40px; }

    .adm-ui .adm-kv:not(.adm-kv--cols) { grid-template-columns: minmax(0, 1fr); }
    .adm-ui .adm-kv:not(.adm-kv--cols) > dt { padding: 10px 0 0; border-bottom: 0; font-size: 12.5px; }
    .adm-ui .adm-kv:not(.adm-kv--cols) > dd { padding: 2px 0 10px; }

    /* Tablo -> kart: <table class="adm-table adm-table--cards">, hucrelerde data-label (yoksa ADMUI.js basliktan doldurur) */
    .adm-ui .adm-table--cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
    .adm-ui .adm-table--cards, .adm-ui .adm-table--cards tbody, .adm-ui .adm-table--cards tr, .adm-ui .adm-table--cards td { display: block; width: 100%; }
    .adm-ui .adm-table--cards tbody tr { padding: 10px 14px; border-bottom: 1px solid var(--adm-line); }
    .adm-ui .adm-table--cards tbody tr:last-child { border-bottom: 0; }
    .adm-ui .adm-table--cards tbody tr:hover > * { background: none; }
    .adm-ui .adm-table--cards td { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 5px 0; border: 0; text-align: right; white-space: normal; min-width: 0; }
    .adm-ui .adm-table--cards td::before { content: attr(data-label); flex: 0 0 auto; max-width: 45%; text-align: left; font-size: 12px; font-weight: 600; color: var(--adm-muted); }
    .adm-ui .adm-table--cards td > * { min-width: 0; }
    .adm-ui .adm-table--cards td:not([data-label])::before, .adm-ui .adm-table--cards td[data-label=""]::before { content: none; }
    .adm-ui .adm-table--cards td.adm-card-title-cell { display: block; text-align: left; padding: 2px 0 6px; font-size: 15px; }
    .adm-ui .adm-table--cards td.adm-card-title-cell::before { content: none; }
    .adm-ui .adm-table--cards td.adm-col-actions { justify-content: flex-end; flex-wrap: wrap; gap: 6px; width: 100%; padding-top: 8px; }
    .adm-ui .adm-table--cards td.adm-col-actions::before { content: none; }
    .adm-ui .adm-table--cards td.adm-col-check { position: absolute; left: 14px; top: 12px; width: auto; padding: 0; }
    .adm-ui .adm-table--cards tbody tr:has(.adm-col-check) { position: relative; padding-left: 44px; }
    .adm-ui .adm-table--cards .adm-truncate { max-width: 100%; }
    .adm-ui .adm-table--cards tfoot { display: block; }
    .adm-ui .adm-table--cards tfoot tr { display: flex; justify-content: space-between; padding: 10px 14px; }
    .adm-ui .adm-table--cards tfoot td { display: inline; width: auto; padding: 0; }
}
@media (max-width: 480px) {
    .adm-ui .adm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .adm-ui .adm-stat { padding: 12px; }
    .adm-ui .adm-stat__value { font-size: 21px; }
    .adm-ui .adm-tabs { margin-left: -12px; margin-right: -12px; padding: 0 12px; }
    .adm-ui .adm-pagination__pages { gap: 3px; }
    .adm-ui .adm-page { min-width: 34px; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .adm-ui .adm-btn, .adm-ui .adm-input, .adm-ui .adm-switch input, .adm-ui .adm-switch input::after { transition: none; }
    .adm-ui .adm-btn.is-loading::after { animation-duration: 1.6s; }
}
@media print {
    .adm-ui .adm-page-head__actions, .adm-ui .adm-toolbar, .adm-ui .adm-pagination, .adm-ui .adm-col-actions, .adm-ui .adm-form-actions--sticky { display: none !important; }
    .adm-ui .adm-card, .adm-ui .adm-table-wrap { border-color: #ccc; }
}

/* =====================================================================================================
   ADMUI2 — sayfa ajanlarinin onerileriyle eklenen ortak bilesenler ve duzeltmeler (kilavuz: bolum 19-27)
   ===================================================================================================== */

/* Sabit kaydet cubugu (justify-content: flex-end yukarida): not kalan genisligi alir, en fazla 2 satir (tasan kirpilir);
   dugmeler hep ayni satirda sagda kalir */
.adm-ui .adm-form-actions--sticky > .adm-form-actions__note {
    flex: 1 1 0; min-width: 0; overflow: hidden; line-height: 1.35;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
}
.adm-ui .adm-form-actions--sticky > .adm-btn { flex-shrink: 0; }
/* Not icindeki "Kaydedilmemis degisiklik" rozeti dar ekranda satir kirabilsin (inline-flex kirpiliyordu) */
.adm-ui form.is-dirty .adm-form-actions--sticky .adm-dirty-flag { display: inline; }
.adm-ui .adm-form-actions--sticky .adm-dirty-flag > i { margin-right: 6px; font-size: .8em; }

/* Sayac rozeti sekme disinda da (baslik, menu, kart basligi) */
.adm-ui .adm-tab-count {
    display: inline-block; font-size: 12px; font-weight: 600; line-height: 1.5; padding: 0 7px; border-radius: 999px;
    background: #eef1ef; color: var(--adm-muted); font-variant-numeric: tabular-nums;
}
.adm-ui .adm-tab-count--warn { background: var(--adm-warn-bg); color: var(--adm-warn); box-shadow: inset 0 0 0 1px var(--adm-warn-line); }
.adm-ui .adm-tab-count--danger { background: var(--adm-danger-bg); color: var(--adm-danger); box-shadow: inset 0 0 0 1px var(--adm-danger-line); }
.adm-ui .adm-tab-count--brand { background: var(--adm-brand); color: #fff; }

/* Arac cubugu: alt satira/sutuna gecen oge kabin genisligini asmasin (flex-wrap + align-items:flex-end tasmasi) */
.adm-ui .adm-toolbar > * { max-width: 100%; min-width: 0; }
/* Dikey yigilan arac cubugu (ust uste satirlar, tam genislik) */
.adm-ui .adm-toolbar--stack { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
.adm-ui .adm-toolbar--stack > .adm-toolbar__actions { margin-left: 0; }

/* Uyari basligi (blok). <strong> ilk cocuk eskisi gibi blok kalir; satir ici vurgu icin strong.adm-inline */
.adm-ui .adm-alert__title { display: block; font-weight: 700; }
.adm-ui .adm-alert__body > strong.adm-inline { display: inline; }

/* Kucuk metin alani */
.adm-ui .adm-textarea--sm, .adm-ui .adm-field textarea.adm-textarea--sm { min-height: 60px; padding: 6px 10px; font-size: 13px; }

/* Hucre ici dikey yigin: ana satir + alt satir(lar) + rozetler. Mobil kart gorunumunde saga hizalanir */
.adm-ui .adm-cell-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.adm-ui .adm-cell-stack > .adm-cell-main, .adm-ui .adm-cell-stack > .adm-cell-sub { display: block; max-width: 100%; }
.adm-ui td.num .adm-cell-stack, .adm-ui .adm-cell-stack--end { align-items: flex-end; text-align: right; }

/* Adim gostergesi: <ol class="adm-steps"><li class="adm-step is-done|is-current|is-error|is-warn|is-skip"> */
.adm-ui .adm-steps {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 8px;
    margin: 0 0 16px; padding: 0; list-style: none;
}
.adm-ui .adm-step {
    position: relative; display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 10px 14px;
    background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); color: var(--adm-muted);
}
.adm-ui a.adm-step, .adm-ui .adm-step > a { text-decoration: none; color: inherit; }
.adm-ui .adm-step > a { display: flex; align-items: flex-start; gap: 10px; min-width: 0; flex: 1 1 auto; }
.adm-ui a.adm-step:hover, .adm-ui .adm-step:has(> a:hover) { border-color: var(--adm-line-strong); }
.adm-ui a.adm-step:focus-visible, .adm-ui .adm-step > a:focus-visible { outline: none; box-shadow: var(--adm-focus); border-radius: 6px; }
.adm-ui .adm-step__n {
    flex: 0 0 26px; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line); font: 800 12.5px/1 var(--adm-font-head); color: var(--adm-muted);
}
.adm-ui .adm-step__text { min-width: 0; }
.adm-ui .adm-step__title { display: block; font-family: var(--adm-font-head); font-size: 14px; font-weight: 700; line-height: 1.6; color: var(--adm-ink-2); }
.adm-ui .adm-step__sub { display: block; font-size: 12.5px; line-height: 1.35; }
.adm-ui .adm-step.is-current { border-color: var(--adm-brand); box-shadow: inset 0 -3px 0 var(--adm-brand); }
.adm-ui .adm-step.is-current .adm-step__n { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-ui .adm-step.is-current .adm-step__title { color: var(--adm-ink); }
.adm-ui .adm-step.is-done .adm-step__n { background: var(--adm-ok-bg); border-color: var(--adm-ok-line); color: var(--adm-ok); }
.adm-ui .adm-step.is-error { border-color: var(--adm-danger-line); }
.adm-ui .adm-step.is-error .adm-step__n { background: var(--adm-danger-bg); border-color: var(--adm-danger-line); color: var(--adm-danger); }
.adm-ui .adm-step.is-warn { border-color: var(--adm-warn-line); }
.adm-ui .adm-step.is-warn .adm-step__n { background: var(--adm-warn-bg); border-color: var(--adm-warn-line); color: var(--adm-warn); }
.adm-ui .adm-step.is-skip { opacity: .65; }

/* Zaman cizelgesi: <ol class="adm-timeline"><li class="adm-timeline__item adm-timeline__item--ok"> */
.adm-ui .adm-timeline { list-style: none; margin: 0; padding: 4px 0 0; }
.adm-ui .adm-timeline__item { position: relative; padding: 0 0 14px 24px; min-width: 0; }
.adm-ui .adm-timeline__item::before {
    content: ''; position: absolute; left: 4px; top: 6px; width: 9px; height: 9px; border-radius: 50%;
    background: var(--adm-line-strong); box-shadow: 0 0 0 3px var(--adm-surface);
}
.adm-ui .adm-timeline__item::after { content: ''; position: absolute; left: 8px; top: 18px; bottom: 0; width: 1px; background: var(--adm-line); }
.adm-ui .adm-timeline__item:last-child { padding-bottom: 0; }
.adm-ui .adm-timeline__item:last-child::after { display: none; }
.adm-ui .adm-timeline__item--ok::before { background: var(--adm-ok); }
.adm-ui .adm-timeline__item--warn::before { background: #c27a00; }
.adm-ui .adm-timeline__item--danger::before { background: var(--adm-danger); }
.adm-ui .adm-timeline__item--info::before { background: var(--adm-info); }
.adm-ui .adm-timeline__item--brand::before { background: var(--adm-brand); }
.adm-ui .adm-timeline__title { margin: 0; font-weight: 600; color: var(--adm-ink); overflow-wrap: anywhere; }
.adm-ui .adm-timeline__meta { margin: 1px 0 0; font-size: 12.5px; color: var(--adm-muted); }
.adm-ui .adm-timeline__body { margin: 4px 0 0; font-size: 13.5px; color: var(--adm-ink-2); overflow-wrap: anywhere; }

/* Bolumlu dugme (olcu/gorunum secici): <div class="adm-segmented" role="group"><button aria-pressed="true"> */
.adm-ui .adm-segmented {
    display: inline-flex; gap: 0; max-width: 100%; padding: 3px; border-radius: var(--adm-r-btn);
    background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); overflow-x: auto; scrollbar-width: none;
}
.adm-ui .adm-segmented__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 30px; padding: 0 12px;
    border: 0; border-radius: 6px; background: transparent; color: var(--adm-muted);
    font: 600 13px/1.2 var(--adm-font); white-space: nowrap; cursor: pointer; text-decoration: none; touch-action: manipulation;
}
.adm-ui .adm-segmented__btn:hover { color: var(--adm-ink); }
.adm-ui .adm-segmented__btn:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-ui .adm-segmented__btn[aria-pressed="true"], .adm-ui .adm-segmented__btn[aria-current="true"],
.adm-ui .adm-segmented__btn[aria-current="page"], .adm-ui .adm-segmented__btn.is-active {
    background: var(--adm-surface); color: var(--adm-ink); box-shadow: 0 1px 2px rgba(16, 37, 26, .12);
}
/* Hap secenekler (ornegin tarih araligi: 7 gun / 30 gun / 90 gun) */
.adm-ui .adm-chips { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.adm-ui .adm-chip {
    display: inline-flex; align-items: center; gap: 6px; min-height: 34px; max-width: 100%; overflow: hidden; padding: 0 14px; border-radius: 999px;
    border: 1px solid var(--adm-line); background: var(--adm-surface); color: var(--adm-ink-2);
    font: 600 13px/1.2 var(--adm-font); text-decoration: none; white-space: nowrap; cursor: pointer; touch-action: manipulation;
}
.adm-ui .adm-chip:hover { border-color: var(--adm-line-strong); background: var(--adm-surface-2); color: var(--adm-ink); }
.adm-ui .adm-chip:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-ui .adm-chip[aria-current="true"], .adm-ui .adm-chip[aria-current="page"], .adm-ui .adm-chip[aria-pressed="true"], .adm-ui .adm-chip.is-active {
    background: var(--adm-brand); border-color: var(--adm-brand); color: #fff;
}

@media (max-width: 820px) {
    .adm-ui .adm-form-actions--sticky > .adm-form-actions__note { font-size: 12px; line-height: 1.3; }
    /* Not varken dugmeler genislemez (not okunabilir kalir); not yoksa dugmeler satiri doldurur */
    .adm-ui .adm-form-actions--sticky:has(> .adm-form-actions__note) > .adm-btn { flex: 0 1 auto; }
    .adm-ui .adm-form-actions--sticky > .adm-btn--ghost { flex: 0 0 auto; }

    .adm-ui .adm-table--cards td .adm-cell-stack { align-items: flex-end; text-align: right; }
    /* Form/uzun icerik tasiyan hucre: etiket ustte, icerik tam genislik */
    .adm-ui .adm-table--cards td.adm-cell-block { display: block; text-align: left; }
    .adm-ui .adm-table--cards td.adm-cell-block::before { display: block; max-width: none; margin-bottom: 4px; }
    .adm-ui .adm-table--cards td.adm-cell-block form, .adm-ui .adm-table--cards td.adm-cell-block .adm-input,
    .adm-ui .adm-table--cards td.adm-cell-block .adm-select, .adm-ui .adm-table--cards td.adm-cell-block .adm-textarea { width: 100%; }

    /* Sik tablo: <table class="adm-table adm-table--cards adm-table--dense"> → satir tek blok, degerler yan yana */
    .adm-ui .adm-table--dense.adm-table--cards tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding: 10px 14px; }
    .adm-ui .adm-table--dense.adm-table--cards td { display: inline-flex; align-items: center; gap: 5px; width: auto; padding: 0; font-size: 13px; text-align: left; }
    .adm-ui .adm-table--dense.adm-table--cards td::before { max-width: none; font-size: 12px; }
    .adm-ui .adm-table--dense.adm-table--cards td.adm-card-title-cell { display: block; flex: 0 0 100%; padding: 0 0 2px; font-size: 14px; }
    .adm-ui .adm-table--dense.adm-table--cards td.adm-col-actions { flex: 0 0 100%; justify-content: flex-end; }
    .adm-ui .adm-table--dense.adm-table--cards td.adm-nolabel::before { content: none; }

    .adm-ui .adm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .adm-ui .adm-step, .adm-ui .adm-step > a { gap: 8px; }
    .adm-ui .adm-step { padding: 8px 10px; }
    .adm-ui .adm-step__sub { display: none; }
    .adm-ui .adm-segmented__btn { min-height: 36px; }
    .adm-ui .adm-segmented--block { display: flex; width: 100%; }
    .adm-ui .adm-segmented--block .adm-segmented__btn { flex: 1 1 0; padding: 0 6px; }
    .adm-ui .adm-chips--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
    .adm-ui .adm-chip { min-height: 38px; }
}


/* ==== ADM-COMM.css ==== */
/* ADM-COMM — admin iletisim sayfalari (toplu mail, duyurular, mail sablonlari, mail kaydi, destek talepleri).
   Tum secimler sayfa kok sinifiyla kapsamli: .adm-ui.adm-p-sendmail .adm-ui.adm-p-ann .adm-ui.adm-p-tpl .adm-ui.adm-p-maillog .adm-ui.adm-p-support */

/* ---------- Ortak: degisken / hizli yanit cipleri, onizleme cercevesi ---------- */
.adm-ui.adm-p-sendmail .cm-vars, .adm-ui.adm-p-tpl .cm-vars, .adm-ui.adm-p-support .sup-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.adm-ui.adm-p-support .sup-quick { margin: 0 0 12px; }
.adm-ui.adm-p-sendmail .cm-var, .adm-ui.adm-p-tpl .cm-var, .adm-ui.adm-p-support .cm-var {
    font: 600 12.5px/1 var(--adm-font); padding: 7px 10px; min-height: 30px; border-radius: 999px; cursor: pointer;
    border: 1px solid var(--adm-line); background: var(--adm-surface-2); color: var(--adm-ink-2); transition: border-color .15s, background-color .15s;
}
.adm-ui.adm-p-sendmail .cm-var, .adm-ui.adm-p-tpl .cm-var { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-weight: 500; }
.adm-ui.adm-p-sendmail .cm-var:hover, .adm-ui.adm-p-tpl .cm-var:hover, .adm-ui.adm-p-support .cm-var:hover { border-color: var(--adm-brand); background: var(--adm-brand-soft); color: var(--adm-brand-strong); }
.adm-ui.adm-p-sendmail .cm-var:focus-visible, .adm-ui.adm-p-tpl .cm-var:focus-visible, .adm-ui.adm-p-support .cm-var:focus-visible { outline: none; box-shadow: var(--adm-focus); }

.adm-ui.adm-p-sendmail .cm-preview, .adm-ui.adm-p-tpl .cm-preview { border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); overflow: hidden; background: var(--adm-surface); }
.adm-ui.adm-p-sendmail .cm-preview__meta, .adm-ui.adm-p-tpl .cm-preview__meta { padding: 10px 14px; border-bottom: 1px solid var(--adm-line-soft); background: var(--adm-surface-2); font-size: 14px; overflow-wrap: anywhere; }
.adm-ui.adm-p-sendmail .cm-preview__frame, .adm-ui.adm-p-tpl .cm-preview__frame { display: block; width: 100%; height: 360px; border: 0; background: #fff; }

/* ---------- Toplu mail ---------- */
.adm-ui.adm-p-sendmail .cm-steps { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; counter-reset: none; }
.adm-ui.adm-p-sendmail .cm-steps li { flex: 1 1 140px; min-width: 0; }
.adm-ui.adm-p-sendmail .cm-steps a {
    display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box);
    background: var(--adm-surface); color: var(--adm-ink-2); font-weight: 600; font-size: 14px; text-decoration: none;
}
.adm-ui.adm-p-sendmail .cm-steps a:hover { border-color: var(--adm-line-strong); color: var(--adm-ink); }
.adm-ui.adm-p-sendmail .cm-steps a:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-ui.adm-p-sendmail .cm-steps__n, .adm-ui.adm-p-sendmail .cm-step-n {
    display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line); color: var(--adm-muted); font: 700 12.5px/1 var(--adm-font-head);
}
.adm-ui.adm-p-sendmail .cm-steps a.is-done .cm-steps__n { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-ui.adm-p-sendmail .cm-step-n { margin-right: 6px; vertical-align: 1px; }
.adm-ui.adm-p-sendmail .adm-form-section__title { display: flex; align-items: center; }
.adm-ui.adm-p-sendmail .cm-mail-form .adm-card-body > .adm-form-section:first-child { border-top: 0; padding-top: 4px; }
.adm-ui.adm-p-sendmail .adm-form-section { scroll-margin-top: 80px; }

.adm-ui.adm-p-sendmail .cm-choice { border: 0; margin: 0 0 4px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.adm-ui.adm-p-sendmail .cm-choice__item {
    display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box);
    background: var(--adm-surface); cursor: pointer; transition: border-color .15s, background-color .15s; min-width: 0;
}
.adm-ui.adm-p-sendmail .cm-choice__item:hover { border-color: var(--adm-line-strong); }
.adm-ui.adm-p-sendmail .cm-choice__item:has(input:checked) { border-color: var(--adm-brand); background: var(--adm-brand-soft); }
.adm-ui.adm-p-sendmail .cm-choice__item:has(input:focus-visible) { box-shadow: var(--adm-focus); }
.adm-ui.adm-p-sendmail .cm-choice__item input { width: 18px; height: 18px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--adm-brand); }
.adm-ui.adm-p-sendmail .cm-choice__item span { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; color: var(--adm-ink); }
.adm-ui.adm-p-sendmail .cm-choice__item small { color: var(--adm-muted); font-size: 12.5px; }
.adm-ui.adm-p-sendmail .cm-sub { margin-top: 12px; }
.adm-ui.adm-p-sendmail [hidden] { display: none !important; }
.adm-ui.adm-p-sendmail .cm-count { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 10px 14px; border-radius: var(--adm-r-box); background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); font-size: 14px; color: var(--adm-ink-2); }
.adm-ui.adm-p-sendmail .cm-count i { color: var(--adm-brand); }
.adm-ui.adm-p-sendmail .cm-count strong { font-family: var(--adm-font-head); font-size: 18px; font-variant-numeric: tabular-nums; color: var(--adm-ink); }
.adm-ui.adm-p-sendmail .cm-summary { margin-bottom: 14px; }
.adm-ui.adm-p-sendmail .cm-warn { margin-bottom: 14px; }
.adm-ui.adm-p-sendmail .cm-mail-form .adm-form-actions { padding-top: 0; border-top: 0; }

.adm-ui.adm-p-sendmail .cm-log { list-style: none; margin: 0; padding: 0; }
.adm-ui.adm-p-sendmail .cm-log__item { display: flex; align-items: center; gap: 10px; padding: 10px 18px; border-top: 1px solid var(--adm-line-soft); min-width: 0; }
.adm-ui.adm-p-sendmail .cm-log__main { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.adm-ui.adm-p-sendmail .cm-log__main .adm-truncate { display: block; max-width: 100%; }
.adm-ui.adm-p-sendmail .cm-log__to { font-size: 13.5px; font-weight: 600; color: var(--adm-ink); }
.adm-ui.adm-p-sendmail .cm-log__side { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.adm-ui.adm-p-sendmail .cm-tips > summary { list-style: none; cursor: pointer; border-bottom: 0; }
.adm-ui.adm-p-sendmail .cm-tips > summary::-webkit-details-marker { display: none; }
.adm-ui.adm-p-sendmail .cm-tips > summary::after { content: "\f078"; font: 900 12px/1 "Font Awesome 6 Free"; color: var(--adm-muted); margin-left: auto; transition: transform .15s; }
.adm-ui.adm-p-sendmail .cm-tips[open] > summary::after { transform: rotate(180deg); }
.adm-ui.adm-p-sendmail .cm-tips[open] > summary { border-bottom: 1px solid var(--adm-line-soft); }
.adm-ui.adm-p-sendmail .cm-tips__list { margin: 0; padding-left: 18px; font-size: 14px; color: var(--adm-ink-2); display: grid; gap: 6px; }

/* ---------- Duyurular ---------- */
.adm-ui.adm-p-ann [hidden] { display: none !important; }
.adm-ui.adm-p-ann .an-range { display: flex; align-items: center; gap: 8px; }
.adm-ui.adm-p-ann .an-range select { flex: 1 1 0; min-width: 0; }
.adm-ui.adm-p-ann .an-mail { align-self: end; }
.adm-ui.adm-p-ann .an-mail .adm-check { margin: 0; padding: 10px 12px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); background: var(--adm-surface-2); }
.adm-ui.adm-p-ann .an-form > .adm-card .adm-card-body > .adm-alert { margin: 16px 0 0; }
.adm-ui.adm-p-ann .an-lang { border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); padding: 10px 12px 12px; margin: 0 0 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; background: var(--adm-surface); }
.adm-ui.adm-p-ann .an-lang legend { font: 700 13px/1.3 var(--adm-font); padding: 0 6px; color: var(--adm-ink-2); }
.adm-ui.adm-p-ann .an-lang.is-filled { border-color: var(--adm-line-strong); }
.adm-ui.adm-p-ann .an-lang__ok { color: var(--adm-brand); font-size: 11px; margin-left: 4px; }
.adm-ui.adm-p-ann .an-lang textarea { resize: vertical; }
.adm-ui.adm-p-ann .an-more { margin-top: 4px; }
.adm-ui.adm-p-ann .an-more > summary { cursor: pointer; font-weight: 700; padding: 8px 0 12px; color: var(--adm-brand-strong); }
.adm-ui.adm-p-ann .an-more__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.adm-ui.adm-p-ann .an-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; overflow-wrap: anywhere; }
.adm-ui.adm-p-ann .adm-page-head__actions form { margin: 0; }
.adm-ui.adm-p-ann .an-progress { margin: 0 0 16px; }
.adm-ui.adm-p-ann .an-preview { border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); padding: 14px 16px; background: var(--adm-surface-2); }
.adm-ui.adm-p-ann .an-preview__title { font: 700 16px/1.35 var(--adm-font-head); margin: 0 0 6px; color: var(--adm-ink); overflow-wrap: anywhere; }
.adm-ui.adm-p-ann .an-preview + .adm-alert { margin: 14px 0 0; }

/* ---------- Mail sablonlari ---------- */
.adm-ui.adm-p-tpl .tpl-subject { display: block; max-width: 420px; }
.adm-ui.adm-p-tpl .tpl-form { scroll-margin-top: 80px; }
.adm-ui.adm-p-tpl .tpl-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 24px; align-items: start; }
.adm-ui.adm-p-tpl .tpl-layout__main > .adm-form-section:first-child { border-top: 0; padding-top: 0; }
.adm-ui.adm-p-tpl .tpl-layout__aside { position: sticky; top: 76px; }
.adm-ui.adm-p-tpl .tpl-layout__aside .adm-form-section__title { margin-top: 0; }
.adm-ui.adm-p-tpl .tpl-layout__aside .cm-preview__frame { height: 460px; }
.adm-ui.adm-p-tpl .adm-table tr.is-selected td { background: var(--adm-brand-soft); }

/* ---------- Mail kaydi ---------- */
.adm-ui.adm-p-maillog .adm-page-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.adm-ui.adm-p-maillog .adm-page-head__actions form { margin: 0; }
.adm-ui.adm-p-maillog .adm-page-head + .adm-alert { margin-bottom: 16px; }
.adm-ui.adm-p-maillog .ml-frame { display: block; width: 100%; min-height: 560px; border: 0; background: #fff; border-radius: 0 0 var(--adm-r-card) var(--adm-r-card); }
.adm-ui.adm-p-maillog .ml-filter { min-width: 0; flex: 0 1 280px; }
.adm-ui.adm-p-maillog .ml-filter .adm-input { width: 100%; }
.adm-ui.adm-p-maillog .ml-to { display: block; max-width: 210px; }
.adm-ui.adm-p-maillog .ml-subject { display: block; max-width: 280px; }
.adm-ui.adm-p-maillog .ml-nomatch { padding: 16px 18px; margin: 0; }
.adm-ui.adm-p-maillog tbody tr[hidden] { display: none; }

/* ---------- Destek talepleri ---------- */
.adm-ui.adm-p-support .adm-tabs { margin-bottom: 14px; }
.adm-ui.adm-p-support .sup-toolbar { padding: 14px 18px; border-bottom: 1px solid var(--adm-line-soft); }
.adm-ui.adm-p-support .sup-toolbar + .adm-table-wrap, .adm-ui.adm-p-support .sup-toolbar + .adm-empty { border-top: 0; }
.adm-ui.adm-p-support .sup-row-new td { background: var(--adm-warn-bg); }
.adm-ui.adm-p-support .sup-row-new .adm-cell-main { font-weight: 700; }
.adm-ui.adm-p-support .sup-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--adm-warn); margin-right: 7px; vertical-align: 2px; }
.adm-ui.adm-p-support .sup-table .adm-cell-sub.adm-truncate { display: block; max-width: 260px; }
.adm-ui.adm-p-support .sup-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; overflow-wrap: anywhere; }
.adm-ui.adm-p-support .sup-title > .adm-muted { font-weight: 600; }
.adm-ui.adm-p-support .adm-page-head__actions form { margin: 0; text-align: initial; }
.adm-ui.adm-p-support .sup-thread { margin: 0; }
.adm-ui.adm-p-support .sup-msg { border-radius: 12px; border-color: var(--adm-line); max-width: 86%; }
.adm-ui.adm-p-support .sup-msg--user { background: var(--adm-surface-2); }
.adm-ui.adm-p-support .sup-msg--team { background: var(--adm-brand-soft); border-color: var(--adm-line-strong); }
.adm-ui.adm-p-support .sup-msg .comm-msg-head { color: var(--adm-ink-2); }
.adm-ui.adm-p-support .sup-msg .comm-msg-head i { color: var(--adm-muted); margin-right: 3px; }
.adm-ui.adm-p-support .sup-msg .comm-msg-head time { color: var(--adm-muted); font-variant-numeric: tabular-nums; }
.adm-ui.adm-p-support .sup-msg .comm-msg-body { font-size: 14.5px; color: var(--adm-ink); }
.adm-ui.adm-p-support .sup-reply textarea { min-height: 140px; resize: vertical; }
.adm-ui.adm-p-support .sup-help { display: flex; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; }
.adm-ui.adm-p-support .sup-counter { white-space: nowrap; }
.adm-ui.adm-p-support .sup-reply .adm-form-actions { border-top: 0; padding-top: 4px; }
.adm-ui.adm-p-support .sup-card-link { margin-top: 14px; }

/* ---------- Duyarlilik ---------- */
@media (max-width: 1100px) {
    .adm-ui.adm-p-tpl .tpl-layout { grid-template-columns: minmax(0, 1fr); }
    .adm-ui.adm-p-tpl .tpl-layout__aside { position: static; }
    .adm-ui.adm-p-tpl .tpl-layout__aside .cm-preview__frame { height: 360px; }
}
@media (max-width: 820px) {
    .adm-ui.adm-p-sendmail .cm-choice { grid-template-columns: minmax(0, 1fr); }
    .adm-ui.adm-p-sendmail .cm-steps { gap: 6px; }
    .adm-ui.adm-p-sendmail .cm-steps li { flex: 1 1 calc(50% - 6px); }
    .adm-ui.adm-p-sendmail .cm-steps a { padding: 8px 10px; font-size: 13px; }
    .adm-ui.adm-p-sendmail .cm-preview__frame { height: 300px; }
    .adm-ui.adm-p-ann .an-more__grid { grid-template-columns: minmax(0, 1fr); }
    .adm-ui.adm-p-tpl .tpl-subject, .adm-ui.adm-p-maillog .ml-to, .adm-ui.adm-p-maillog .ml-subject, .adm-ui.adm-p-support .sup-table .adm-cell-sub.adm-truncate { max-width: 100%; }
    .adm-ui.adm-p-maillog .ml-filter { flex: 1 1 100%; }
    .adm-ui.adm-p-maillog .ml-frame { min-height: 420px; }
    .adm-ui.adm-p-support .sup-msg { max-width: 100%; }
    .adm-ui.adm-p-support .sup-toolbar { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .adm-ui.adm-p-sendmail .cm-var, .adm-ui.adm-p-tpl .cm-var, .adm-ui.adm-p-support .cm-var, .adm-ui.adm-p-sendmail .cm-choice__item, .adm-ui.adm-p-sendmail .cm-tips > summary::after { transition: none; }
}

/* Destek listesi: mobilde # ayri satir yerine baslik altinda */
.adm-ui.adm-p-support .sup-id-inline { display: none; }
.adm-ui.adm-p-support .sup-user .adm-cell-main, .adm-ui.adm-p-support .sup-user .adm-cell-sub { display: block; }
@media (max-width: 820px) {
    .adm-ui.adm-p-support .sup-table td.sup-col-id { display: none; }
    .adm-ui.adm-p-support .sup-id-inline { display: inline; }
    .adm-ui.adm-p-support .sup-user__in { text-align: right; min-width: 0; }
}


/* ==== ADM-DASH.css ==== */
/* ADM-DASH: admin/index.php (Dashboard). Tum secimler .adm-p-dash ile kapsanir; ortak bilesenler ADMUI.css'te. */

.adm-ui.adm-p-dash .dash-kpis { margin-bottom: 16px; }
.adm-ui.adm-p-dash .dash-stat-multi { display: flex; flex-direction: column; font-size: 20px; }
.adm-ui.adm-p-dash .dash-money { white-space: nowrap; }
.adm-ui.adm-p-dash .dash-top { margin-bottom: 8px; }
.adm-ui.adm-p-dash .dash-top .adm-stack > .adm-card { margin: 0; }

/* Yapilacaklar */
.adm-ui.adm-p-dash .dash-todo { list-style: none; margin: 0; padding: 6px 0; }
.adm-ui.adm-p-dash .dash-todo li + li { border-top: 1px solid var(--adm-line-soft); }
.adm-ui.adm-p-dash .dash-todo__item {
    display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 14px; align-items: center; gap: 12px;
    padding: 12px 18px; color: var(--adm-ink); text-decoration: none;
}
.adm-ui.adm-p-dash .dash-todo__item:hover { background: var(--adm-surface-2); }
.adm-ui.adm-p-dash .dash-todo__item:focus-visible { outline: none; box-shadow: inset var(--adm-focus); }
.adm-ui.adm-p-dash .dash-todo__icon {
    display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--adm-r-box);
    background: var(--adm-info-bg); color: var(--adm-info); font-size: 15px;
}
.adm-ui.adm-p-dash .dash-todo__item--warn .dash-todo__icon { background: var(--adm-warn-bg); color: var(--adm-warn); }
.adm-ui.adm-p-dash .dash-todo__item--danger .dash-todo__icon { background: var(--adm-danger-bg); color: var(--adm-danger); }
.adm-ui.adm-p-dash .dash-todo__text { display: flex; flex-direction: column; min-width: 0; }
.adm-ui.adm-p-dash .dash-todo__text strong { font-weight: 700; font-size: 14px; }
.adm-ui.adm-p-dash .dash-todo__text small { font-size: 12.5px; color: var(--adm-muted); }
.adm-ui.adm-p-dash .dash-todo__count {
    font-family: var(--adm-font-head); font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--adm-ink);
}
.adm-ui.adm-p-dash .dash-todo__item--warn .dash-todo__count { color: var(--adm-warn); }
.adm-ui.adm-p-dash .dash-todo__item--danger .dash-todo__count { color: var(--adm-danger); }
.adm-ui.adm-p-dash .dash-todo__go { color: var(--adm-muted); font-size: 12px; }

/* Hizli eylemler */
.adm-ui.adm-p-dash .dash-quick { list-style: none; margin: 0; padding: 12px; display: grid; grid-template-columns: 1fr; gap: 6px; }
.adm-ui.adm-p-dash .dash-quick__item {
    display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 8px 12px;
    border: 1px solid var(--adm-line); border-radius: var(--adm-r-btn); background: var(--adm-surface);
    color: var(--adm-ink); font-weight: 600; font-size: 14px; text-decoration: none;
}
.adm-ui.adm-p-dash .dash-quick__item i { width: 18px; text-align: center; color: var(--adm-brand); }
.adm-ui.adm-p-dash .dash-quick__item:hover { border-color: var(--adm-line-strong); background: var(--adm-surface-2); }
.adm-ui.adm-p-dash .dash-quick__item:focus-visible { outline: none; box-shadow: var(--adm-focus); }

/* Son islemler: sinav sonuclari iki sutunu kaplar */
.adm-ui.adm-p-dash .dash-recent .dash-results { grid-column: 1 / -1; }
.adm-ui.adm-p-dash .dash-recent .adm-truncate { max-width: 260px; }
.adm-ui.adm-p-dash .dash-charts .admlib-chart { height: 220px; }

@media (max-width: 1100px) {
    .adm-ui.adm-p-dash .dash-quick { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
}
@media (max-width: 820px) {
    .adm-ui.adm-p-dash .dash-todo__item { padding: 12px 14px; gap: 10px; }
    .adm-ui.adm-p-dash .dash-recent .adm-truncate { max-width: 100%; }
}
@media (max-width: 480px) {
    .adm-ui.adm-p-dash .dash-stat-multi { font-size: 17px; }
    .adm-ui.adm-p-dash .dash-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adm-ui.adm-p-dash .dash-quick__item { font-size: 13px; padding: 8px 10px; }
}

/* Yerlesim: KPI 3'lu, grafikler 3'lu (genis ekranda); acik olimpiyat basligi kesilir */
.adm-ui.adm-p-dash .dash-kpis, .adm-ui.adm-p-dash .dash-general { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.adm-ui.adm-p-dash .dash-charts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.adm-ui.adm-p-dash .dash-oly { width: 100%; }
.adm-ui.adm-p-dash .dash-oly .adm-cell-main { display: block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 480px) {
    .adm-ui.adm-p-dash .dash-kpis, .adm-ui.adm-p-dash .dash-general { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Mobilde ozet tablolar: her satir tek blok, degerler yan yana (uzun kart listesi yerine) */
@media (max-width: 820px) {
    .adm-ui.adm-p-dash .dash-dense tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding: 10px 14px; }
    .adm-ui.adm-p-dash .dash-dense td { display: inline-flex; align-items: center; gap: 5px; width: auto; padding: 0; font-size: 13px; text-align: left; }
    .adm-ui.adm-p-dash .dash-dense td::before { max-width: none; font-size: 12px; }
    .adm-ui.adm-p-dash .dash-dense td.adm-card-title-cell { display: block; flex: 0 0 100%; padding: 0 0 2px; font-size: 14px; }
    .adm-ui.adm-p-dash .dash-oly .adm-cell-main { max-width: 100%; }
    .adm-ui.adm-p-dash .dash-dense td.dash-nolabel::before { content: none; }
    .adm-ui.adm-p-dash .dash-dense td.dash-nolabel.adm-nowrap { color: var(--adm-muted); }
}


/* ==== ADM-EXAMS.css ==== */
/* ADM-EXAMS — admin sinav sayfalari (exams, exam-edit, exam-solutions, exam-integrity, exam-preview).
 * Tum secimler sayfa kok sinifiyla kapsanir; ortak bilesenler ADMUI.css'te. */

/* ---------- Ortak yardimcilar ---------- */
.adm-ui .adm-exams-mt { margin-top: 16px; }
.adm-ui .adm-exams-row { margin-top: 16px; }
.adm-ui .adm-exams-checkfield { justify-content: flex-end; }
.adm-ui .adm-exams-checkfield .adm-check { min-height: 40px; align-items: center; }
.adm-ui .adm-exams-narrow { max-width: 120px; }

/* ---------- exams.php: liste ---------- */
.adm-p-exams .adm-exams-drag { width: 36px; padding-right: 0; text-align: center; color: var(--adm-muted); }
.adm-p-exams td.drag-handle { cursor: grab; }
.adm-p-exams td.drag-handle:active { cursor: grabbing; }
.adm-p-exams #examsSortable tr.is-dragging { opacity: .45; }
.adm-p-exams #examsSortable tr.drag-over td { box-shadow: inset 0 2px 0 var(--adm-brand); }
.adm-p-exams .adm-exams-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.adm-p-exams .adm-exams-title__text { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.adm-p-exams .adm-exams-thumb {
    flex: 0 0 56px; width: 56px; height: 30px; border-radius: 6px; object-fit: cover;
    border: 1px solid var(--adm-line); background: var(--adm-surface-2);
}
.adm-p-exams .adm-exams-thumb--empty { display: inline-flex; align-items: center; justify-content: center; color: var(--adm-line-strong); font-size: 14px; }
.adm-p-exams .adm-exams-oly { max-width: 240px; text-decoration: none; }
.adm-p-exams .adm-exams-oly .adm-truncate { min-width: 0; }
.adm-p-exams .adm-exams-inline { display: inline; margin: 0; }
.adm-p-exams .adm-exams-toggle { border: 0; padding: 0; margin: 0; background: none; cursor: pointer; border-radius: 999px; font: inherit; }
.adm-p-exams .adm-exams-toggle:hover .adm-badge { filter: brightness(.96); text-decoration: underline; }
.adm-p-exams .adm-exams-toggle:focus-visible { outline: none; box-shadow: var(--adm-focus); }
@media (min-width: 821px) {
    /* 5 eylem dugmesi: 3 + 2 satir, tablo kartin disina tasmasin */
    .adm-p-exams .adm-table td.adm-col-actions { white-space: normal; width: 118px; min-width: 118px; line-height: 0; }
    .adm-p-exams .adm-table td.adm-col-actions > * { margin: 2px 0 2px 2px; vertical-align: top; }
}
.adm-p-exams .adm-exams-pool { margin-top: 16px; }

/* ---------- exam-edit.php ---------- */
.adm-p-exam-edit .adm-page-title .adm-badge { vertical-align: middle; }
.adm-p-exam-edit input[readonly] { background: var(--adm-surface-2); color: var(--adm-ink-2); }
.adm-p-exam-edit .adm-exams-aside-link { margin: 14px 0 0; }
.adm-p-exam-edit .adm-exams-qlist { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--adm-line-soft); }
.adm-p-exam-edit .adm-exams-q {
    display: grid; grid-template-columns: 56px minmax(0, 1fr) auto auto; align-items: center; gap: 10px;
    padding: 9px 18px; border-top: 1px solid var(--adm-line-soft);
}
.adm-p-exam-edit .adm-exams-q:hover { background: var(--adm-surface-2); }
.adm-p-exam-edit .adm-exams-q__num { color: var(--adm-brand-strong); font-weight: 700; font-size: 13px; }
.adm-p-exam-edit .adm-exams-q__text {
    font-size: 14px; color: var(--adm-ink-2); overflow: hidden; text-overflow: ellipsis;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.4;
}
.adm-p-exam-edit .adm-exams-q__ans {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
    background: var(--adm-ok-bg); color: var(--adm-ok); font-weight: 800; font-size: 13px; border: 1px solid var(--adm-ok-line);
}
.adm-p-exam-edit .adm-exams-q form { margin: 0; }
.adm-p-exam-edit .adm-exams-addrow { display: flex; align-items: flex-end; gap: 10px; margin-top: 14px; }
.adm-p-exam-edit .adm-exams-addrow .adm-field { flex: 1 1 auto; min-width: 0; margin: 0; }
.adm-p-exam-edit .adm-exams-addrow select { max-width: 100%; }
.adm-p-exam-edit .adm-exams-addrow .adm-btn { flex: 0 0 auto; }
.adm-p-exam-edit .excov-admin-preview { border-radius: var(--adm-r-box); border-color: var(--adm-line); }
.adm-p-exam-edit .excov-note { margin: 0 0 12px; }
.adm-p-exam-edit .adm-exams-covbtns { margin-bottom: 8px; }
.adm-p-exam-edit .adm-exams-covbtns .excov-admin-form { margin: 0; }
.adm-p-exam-edit .ocrop-edit-btn { margin: 0; }

/* ---------- exam-solutions.php ---------- */
.adm-p-exam-solutions .adm-exams-stats { margin-bottom: 16px; }
.adm-p-exam-solutions .adm-exams-sol { border-radius: var(--adm-r-card); border: 1px solid var(--adm-line); border-left: 4px solid var(--adm-ok); box-shadow: none; }
.adm-p-exam-solutions .adm-exams-sol.is-missing { border-left-color: var(--adm-warn); }
.adm-p-exam-solutions .solution-header { align-items: center; gap: 12px; flex-wrap: wrap; }
.adm-p-exam-solutions h2.solution-number { margin: 0; font-family: var(--adm-font-head); font-size: 15px; font-weight: 800; color: var(--adm-ink); }
.adm-p-exam-solutions .solution-explanation h3 { font-size: 14px; color: var(--secondary-dark, #1f6b38); margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.adm-p-exam-solutions .adm-exams-sol__missing { background: var(--adm-warn-bg); border-left: 3px solid var(--adm-warn); }
.adm-p-exam-solutions .adm-exams-sol__missing h3 { color: var(--adm-warn); }
.adm-p-exam-solutions .adm-exams-sol__missing p { margin: 0; color: var(--adm-ink-2); }
.adm-p-exam-solutions .solution-question, .adm-p-exam-solutions .solution-text { overflow-wrap: anywhere; }
.adm-p-exam-solutions .solution-question img, .adm-p-exam-solutions .question-image img, .adm-p-exam-solutions .solution-image img { max-width: 100%; height: auto; }
.adm-p-exam-solutions .solution-text .katex-display { overflow-x: auto; overflow-y: hidden; }

/* ---------- exam-integrity.php ---------- */
.adm-p-exam-integrity .adm-page-title .adm-badge { vertical-align: middle; font-size: 12px; }
.adm-p-exam-integrity .adm-stats { margin-bottom: 16px; }
.adm-p-exam-integrity .adm-exams-cellwrap { display: block; min-width: 0; }
.adm-p-exam-integrity .adm-exams-cellwrap > .adm-cell-sub, .adm-p-exam-integrity .adm-exams-cellwrap > .adm-cell-main { display: block; }
.adm-p-exam-integrity .adm-exams-plain { font-weight: 600; color: var(--adm-ink); }
.adm-p-exam-integrity .adm-exams-examcol { display: block; max-width: 220px; }
.adm-p-exam-integrity .adm-table .adm-truncate { max-width: 240px; }
.adm-p-exam-integrity .int-row-alert td { background: var(--adm-danger-bg); }
.adm-p-exam-integrity .exsec-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.adm-p-exam-integrity .int-break { max-width: 360px; overflow-wrap: anywhere; }
.adm-p-exam-integrity .adm-exams-fieldset { border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); padding: 12px 14px 14px; margin: 0; min-width: 0; }
.adm-p-exam-integrity .adm-exams-fieldset legend { padding: 0 6px; margin: 0; }
.adm-p-exam-integrity .adm-exams-fieldset .adm-field { margin-bottom: 12px; }

@media (max-width: 820px) {
    body.adm-p-exams .adm-table th.adm-exams-drag, body.adm-p-exams .adm-table td.adm-exams-drag { display: none !important; }
    .adm-p-exams .adm-exams-oly { max-width: 100%; }
    .adm-p-exam-edit .adm-exams-q { grid-template-columns: 48px minmax(0, 1fr) auto auto; padding: 9px 14px; }
    .adm-p-exam-edit .adm-exams-addrow { flex-direction: column; align-items: stretch; }
    .adm-ui .adm-exams-narrow { max-width: none; }
    .adm-ui .adm-exams-checkfield { justify-content: flex-start; }
    .adm-p-exam-integrity .adm-exams-examcol, .adm-p-exam-integrity .adm-table .adm-truncate, .adm-p-exam-integrity .int-break { max-width: 100%; }
    .adm-p-exam-solutions .solution-options { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- exam-preview.php (ogrenci sinav ekrani + onizleme cubugu; admin kabugu yok) ---------- */
.adm-p-exam-preview .pvw-bar {
    position: relative; z-index: 101; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px;
    padding: 8px 16px; background: #183f23; color: #fff; font-size: 13px; font-weight: 600;
}
.adm-p-exam-preview .pvw-bar__label { letter-spacing: .06em; text-transform: uppercase; font-weight: 800; }
.adm-p-exam-preview .pvw-bar__lang { margin: 0; }
.adm-p-exam-preview .pvw-bar select { padding: 4px 8px; border-radius: 6px; border: 0; font-size: 13px; font-weight: 600; cursor: pointer; }
.adm-p-exam-preview .pvw-bar__check { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.adm-p-exam-preview .pvw-bar__check input { width: 16px; height: 16px; margin: 0; accent-color: #7fd39a; }
.adm-p-exam-preview .pvw-bar__links { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.adm-p-exam-preview .pvw-bar__btn {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 8px; color: #fff; text-decoration: none;
    background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .35);
}
.adm-p-exam-preview .pvw-bar__btn:hover { background: rgba(255, 255, 255, .26); }
.adm-p-exam-preview .pvw-bar a:focus-visible, .adm-p-exam-preview .pvw-bar select:focus-visible, .adm-p-exam-preview .pvw-bar input:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.adm-p-exam-preview .pvw-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.adm-p-exam-preview .preview-correct { border: 2px solid #27ae60 !important; background: rgba(39, 174, 96, .08) !important; }
.adm-p-exam-preview .preview-correct .option-letter { background: #27ae60 !important; color: #fff !important; }
.adm-p-exam-preview .question-text, .adm-p-exam-preview .option-text { overflow-wrap: anywhere; }
.adm-p-exam-preview .question-image img, .adm-p-exam-preview .option-image { max-width: 100%; height: auto; }
@media (max-width: 640px) {
    .adm-p-exam-preview .pvw-bar { justify-content: flex-start; padding: 8px 12px; }
    .adm-p-exam-preview .exam-topbar { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
    .adm-p-exam-preview .exam-topbar-left, .adm-p-exam-preview .exam-topbar-right { min-width: 0; flex-wrap: wrap; gap: 8px; }
    .adm-p-exam-preview .exam-topbar-left h2 { font-size: 15px; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    .adm-p-exams #examsSortable tr { transition: none; }
}


/* ==== ADM-IMPORT.css ==== */
/* ADM-IMPORT — PDF import, import loglari, PDF ceviri, toplu ceviri sayfalari.
   Kapsam: body.adm-imp (admin-header $adminBodyClass). ADMUI belirtecleri (--adm-*) kullanilir. */

/* ---------- Adim gostergesi ---------- */
.adm-imp .imp-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; counter-reset: impstep; }
.adm-imp .imp-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adm-imp .imp-step {
    position: relative; display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 12px 14px;
    background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); color: var(--adm-muted);
}
.adm-imp .imp-step__no {
    flex: 0 0 28px; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line); font-family: var(--adm-font-head); font-size: 13px; font-weight: 800; color: var(--adm-muted);
}
.adm-imp .imp-step__no .fas { display: none; font-size: 12px; }
.adm-imp .imp-step__txt { min-width: 0; }
.adm-imp .imp-step__title { display: block; font-family: var(--adm-font-head); font-size: 14px; font-weight: 800; color: var(--adm-ink-2); }
.adm-imp .imp-step__sub { display: block; font-size: 12.5px; line-height: 1.35; }
.adm-imp .imp-step.is-current { border-color: var(--adm-brand); box-shadow: inset 0 -3px 0 var(--adm-brand); }
.adm-imp .imp-step.is-current .imp-step__no { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-imp .imp-step.is-current .imp-step__title { color: var(--adm-ink); }
.adm-imp .imp-step.is-done .imp-step__no { background: var(--adm-ok-bg); border-color: var(--adm-ok-line); color: var(--adm-ok); }
.adm-imp .imp-step.is-done .imp-step__no .fas,
.adm-imp .imp-step.is-error .imp-step__no .fas,
.adm-imp .imp-step.is-warn .imp-step__no .fas { display: inline; }
.adm-imp .imp-step.is-done .imp-step__n,
.adm-imp .imp-step.is-error .imp-step__n,
.adm-imp .imp-step.is-warn .imp-step__n { display: none; }
.adm-imp .imp-step.is-error { border-color: var(--adm-danger-line); }
.adm-imp .imp-step.is-error .imp-step__no { background: var(--adm-danger-bg); border-color: var(--adm-danger-line); color: var(--adm-danger); }
.adm-imp .imp-step.is-warn { border-color: var(--adm-warn-line); }
.adm-imp .imp-step.is-warn .imp-step__no { background: var(--adm-warn-bg); border-color: var(--adm-warn-line); color: var(--adm-warn); }
.adm-imp .imp-step.is-skip { opacity: .65; }

/* ---------- Dosya birakma alani ---------- */
.adm-imp .imp-drop {
    position: relative; display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer;
    background: var(--adm-surface-2); border: 2px dashed var(--adm-line-strong); border-radius: var(--adm-r-box);
    transition: border-color .15s, background-color .15s;
}
.adm-imp .imp-drop:hover, .adm-imp .imp-drop.dragover { border-color: var(--adm-brand); background: var(--adm-brand-soft); }
.adm-imp .imp-drop:focus-within { border-color: var(--adm-brand); box-shadow: var(--adm-focus); }
.adm-imp .imp-drop.file-selected { border-style: solid; border-color: var(--adm-ok-line); background: var(--adm-ok-bg); }
.adm-imp .imp-drop > i, .adm-imp .imp-drop__ico { flex: 0 0 auto; font-size: 30px; color: var(--adm-muted); }
.adm-imp .imp-drop.file-selected > i { color: var(--adm-ok); }
.adm-imp .imp-drop p { margin: 0; font-size: 14px; font-weight: 600; color: var(--adm-ink-2); }
.adm-imp .imp-drop__hint { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; color: var(--adm-muted); }
.adm-imp .imp-drop input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.adm-imp .imp-drop .file-name { display: none; margin-top: 2px; font-size: 13px; color: var(--adm-ok); overflow-wrap: anywhere; }
.adm-imp .imp-drop .file-name.visible { display: block; }

/* ---------- Dil secimi ---------- */
.adm-imp .imp-langs-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin: 0 0 10px; }
.adm-imp .imp-langs-count { font-size: 13px; color: var(--adm-muted); font-variant-numeric: tabular-nums; }
.adm-imp .imp-langs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.adm-imp .imp-langs .checkbox-card { display: block; margin: 0; cursor: pointer; min-width: 0; }
.adm-imp .imp-langs .checkbox-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.adm-imp .imp-langs .checkbox-card-content,
.adm-imp .imp-langs .checkbox-card-body {
    display: flex; align-items: center; gap: 8px; min-width: 0; padding: 8px 10px; font-size: 13.5px; font-weight: 500; color: var(--adm-ink-2);
    background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-btn); transition: border-color .15s, background-color .15s;
}
.adm-imp .imp-langs .checkbox-card-content > span:last-child,
.adm-imp .imp-langs .checkbox-card-body { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-imp .imp-langs .checkbox-card-content::after,
.adm-imp .imp-langs .checkbox-card-body::after { content: ""; flex: 0 0 auto; margin-left: auto; width: 14px; height: 14px; border-radius: 4px; border: 1.5px solid var(--adm-line-strong); background: var(--adm-surface); }
.adm-imp .imp-langs .checkbox-card:hover .checkbox-card-content,
.adm-imp .imp-langs .checkbox-card:hover .checkbox-card-body { border-color: var(--adm-line-strong); }
.adm-imp .imp-langs input:checked + .checkbox-card-content,
.adm-imp .imp-langs input:checked + .checkbox-card-body { border-color: var(--adm-brand); background: var(--adm-brand-soft); color: var(--adm-ink); }
.adm-imp .imp-langs input:checked + .checkbox-card-content::after,
.adm-imp .imp-langs input:checked + .checkbox-card-body::after {
    border-color: var(--adm-brand); background: var(--adm-brand) no-repeat center / 10px
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.adm-imp .imp-langs input:focus-visible + .checkbox-card-content,
.adm-imp .imp-langs input:focus-visible + .checkbox-card-body { box-shadow: var(--adm-focus); }
.adm-imp .imp-langs input:disabled + .checkbox-card-content { cursor: default; opacity: .8; }
.adm-imp .imp-langs img { flex: 0 0 auto; border-radius: 2px; }

/* ---------- Ilerleme + gunluk ---------- */
.adm-imp .imp-progress { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; }
.adm-imp .imp-progress .adm-progress { flex: 1 1 auto; height: 10px; }
.adm-imp .imp-progress .adm-progress > span { transition: width .3s ease; }
.adm-imp .imp-progress__pct { flex: 0 0 auto; min-width: 44px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--adm-ink); }
.adm-imp .imp-status { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13.5px; color: var(--adm-muted); }
.adm-imp .imp-status:empty { display: none; }
.adm-imp .imp-log {
    max-height: 340px; overflow-y: auto; margin: 0; padding: 4px 0; font-size: 13px; line-height: 1.5;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); border-radius: var(--adm-r-box);
}
.adm-imp .imp-log:empty { display: none; }
.adm-imp .imp-log > p, .adm-imp .imp-log > div { margin: 0; padding: 6px 12px; border-bottom: 1px solid var(--adm-line-soft); color: var(--adm-ink-2); overflow-wrap: anywhere; }
.adm-imp .imp-log > :last-child { border-bottom: 0; }
.adm-imp .imp-log .fas, .adm-imp .imp-log .far { width: 16px; margin-right: 4px; text-align: center; }
.adm-imp .imp-log .text-danger, .adm-imp .imp-log .is-error { color: var(--adm-danger); }
.adm-imp .imp-ok { color: var(--adm-ok); }
.adm-imp .imp-warn { color: var(--adm-warn); }
.adm-imp .imp-err { color: var(--adm-danger); }
.adm-imp .imp-chip { display: inline-block; margin-left: 6px; padding: 0 7px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.adm-imp .imp-chip--ok { background: var(--adm-ok-bg); color: var(--adm-ok); }
.adm-imp .imp-chip--warn { background: var(--adm-warn-bg); color: var(--adm-warn); }
.adm-imp .imp-chip--info { background: var(--adm-info-bg); color: var(--adm-info); }

/* ---------- Calisma sirasinda form kilidi ---------- */
.adm-imp form[inert] { opacity: .6; }
.adm-imp .imp-run-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ---------- PDF Import ---------- */
.adm-imp .imp-rules { margin: 0; padding: 0; list-style: none; font-size: 13.5px; line-height: 1.5; color: var(--adm-ink-2); }
.adm-imp .imp-rules li { position: relative; padding: 4px 0 4px 18px; }
.adm-imp .imp-rules li::before { content: ""; position: absolute; left: 3px; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--adm-brand); }
.adm-imp .imp-result:empty { display: none; }
.adm-imp .imp-result .adm-alert { margin: 14px 0 0; }
.adm-imp .imp-retry-btns { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.adm-imp .imp-range { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.adm-imp .imp-range .adm-field { margin: 0; width: 120px; }
.adm-imp .imp-range .adm-label { font-size: 12px; }
.adm-imp .imp-form-error { margin: 0 0 12px; }
.adm-imp .imp-form-error:empty { display: none; }

/* ---------- Import loglari ---------- */
.adm-imp .imp-errcell { max-width: 320px; }
.adm-imp .imp-errcell details summary { cursor: pointer; color: var(--adm-danger); font-size: 13px; font-weight: 600; list-style: none; }
.adm-imp .imp-errcell details summary::-webkit-details-marker { display: none; }
.adm-imp .imp-errcell details summary:focus-visible { outline: none; box-shadow: var(--adm-focus); border-radius: 4px; }
.adm-imp .imp-errcell pre {
    margin: 6px 0 0; max-height: 220px; overflow: auto; padding: 8px 10px; white-space: pre-wrap; overflow-wrap: anywhere; text-align: left;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); border-radius: 8px; font-size: 12px; line-height: 1.45; color: var(--adm-ink-2);
}
.adm-imp .imp-langs-cell { max-width: 220px; }

/* ---------- PDF ceviri ---------- */
.adm-imp .imp-rlist { display: flex; flex-direction: column; gap: 0; margin: 14px 0 0; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); overflow: hidden; }
.adm-imp .imp-rlist:empty { display: none; }
.adm-imp .result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap; padding: 10px 14px; background: var(--adm-surface); border-bottom: 1px solid var(--adm-line-soft); }
.adm-imp .result-row:last-child { border-bottom: 0; }
.adm-imp .result-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.adm-imp .result-left img { border-radius: 2px; }
.adm-imp .result-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; min-width: 0; font-size: 13px; color: var(--adm-muted); }
.adm-imp .result-right details { flex-basis: 100%; font-size: 12px; text-align: left; }
.adm-imp .result-right details summary { cursor: pointer; color: var(--adm-muted); }
.adm-imp .result-right pre { max-height: 200px; overflow: auto; margin: 6px 0 0; padding: 6px 8px; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--adm-surface-2); border-radius: 6px; font-size: 11px; }
.adm-imp .result-row .ico { width: 20px; text-align: center; font-size: 16px; }
.adm-imp .result-row.wait .ico { color: var(--adm-muted); }
.adm-imp .result-row.work { background: var(--adm-surface-2); }
.adm-imp .result-row.work .ico { color: var(--adm-warn); }
.adm-imp .result-row.done .ico { color: var(--adm-ok); }
.adm-imp .result-row.fail { background: var(--adm-danger-bg); }
.adm-imp .result-row.fail .ico { color: var(--adm-danger); }
.adm-imp .result-err { color: var(--adm-danger); font-size: 12.5px; max-width: 46ch; overflow-wrap: anywhere; }
.adm-imp .result-size { font-size: 12px; color: var(--adm-muted); font-variant-numeric: tabular-nums; }

/* ---------- Toplu ceviri ---------- */
.adm-imp .imp-stats { margin-bottom: 14px; }
.adm-imp .imp-current { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 12px; background: var(--adm-brand-soft); border-radius: var(--adm-r-box); font-size: 13px; color: var(--adm-ink-2); overflow-wrap: anywhere; }
.adm-imp .imp-current[hidden] { display: none; }
.adm-imp .imp-run-state { font-size: 13px; color: var(--adm-muted); }
.adm-imp .imp-run-state:empty { display: none; }
.adm-imp #logContainer { font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: 12px; }
.adm-imp #logContainer:empty::before { content: "Henüz kayıt yok."; display: block; padding: 10px 12px; color: var(--adm-muted); font-family: var(--adm-font); }
.adm-imp .log-line { display: flex; gap: 8px; align-items: baseline; }
.adm-imp .log-line .log-time { flex: 0 0 auto; color: var(--adm-muted); font-variant-numeric: tabular-nums; }
.adm-imp .log-info { color: var(--adm-brand-strong); }
.adm-imp .log-success { color: var(--adm-ok); }
.adm-imp .log-error { color: var(--adm-danger); background: var(--adm-danger-bg); }
.adm-imp .log-warning { color: var(--adm-warn); }
.adm-imp .log-skip { color: var(--adm-muted); }
.adm-imp .imp-log.only-errors .log-line:not(.log-error) { display: none; }
.adm-imp .adm-tabs .adm-tab[disabled] { cursor: not-allowed; opacity: .55; }

@media (max-width: 1100px) {
    .adm-imp .imp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adm-imp .imp-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .adm-imp .imp-steps, .adm-imp .imp-steps--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .adm-imp .imp-step { padding: 9px 10px; gap: 8px; }
    .adm-imp .imp-step__sub { display: none; }
    .adm-imp .imp-langs { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
    .adm-imp .imp-langs .checkbox-card-content, .adm-imp .imp-langs .checkbox-card-body { min-height: 44px; }
    .adm-imp .imp-drop { padding: 14px; }
    .adm-imp .imp-run-actions .adm-btn { flex: 1 1 auto; }
    .adm-imp .result-right { justify-content: flex-start; flex-basis: 100%; padding-left: 30px; }
}
@media (prefers-reduced-motion: reduce) {
    .adm-imp .imp-progress .adm-progress > span, .adm-imp .imp-drop, .adm-imp .imp-langs .checkbox-card-content, .adm-imp .imp-langs .checkbox-card-body { transition: none; }
}
.adm-imp .adm-grid { margin-bottom: 16px; }
.adm-imp .imp-form-error + .adm-form-section { padding-top: 0; border-top: 0; }
.adm-imp .adm-table .adm-card-title-cell .adm-truncate { display: block; max-width: 260px; }
.adm-imp .imp-errcell details summary { white-space: nowrap; }
.adm-imp .imp-errcell details[open] { min-width: 240px; }
@media (max-width: 820px) {
    .adm-imp .adm-table .adm-card-title-cell .adm-truncate { max-width: 100%; }
    .adm-imp .imp-errcell { max-width: none; }
    .adm-imp .imp-errcell details[open] { min-width: 0; width: 100%; }
}
.adm-imp .imp-drop { text-align: left; }
.adm-imp .adm-table .adm-card-title-cell .adm-truncate { max-width: 210px; }
.adm-imp .adm-table .imp-langs-cell { display: block; max-width: 90px; }
@media (max-width: 820px) {
    .adm-imp .imp-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .adm-imp .adm-table .imp-langs-cell { max-width: 100%; }
}
.adm-imp .imp-drop .file-name, .adm-imp .imp-drop .file-name.visible { padding: 0; margin-top: 2px; background: none; font-size: 13px; font-weight: 600; }
.adm-imp .imp-langs .checkbox-card { position: relative; }


/* ==== ADM-LEGAL.css ==== */
/* ADM-LEGAL: Sozlesmeler (liste, yerlesim haritasi, belge ayarlari, onay kayitlari) + KVKK talepleri admin sayfalari.
   Tum seciciler body.adm-p-legal ile kapsamli; ortak bilesenler ADMUI.css'te. */

.adm-p-legal .adm-legal-mt { margin-top: 20px; }
.adm-p-legal .adm-legal-intro { margin: 0 0 16px; font-size: 14px; max-width: 900px; }
.adm-p-legal .adm-legal-badges { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 6px; }
.adm-p-legal .adm-legal-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.adm-p-legal .lg-chip { margin: 0; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
    background: var(--adm-surface-2); color: var(--adm-ink-2); border: 1px solid var(--adm-line-soft); white-space: nowrap; }
.adm-p-legal .lg-chip.adm-legal-chip--required { background: var(--adm-brand-soft); color: var(--adm-brand-strong); border-color: transparent; }
.adm-p-legal .lg-chip.adm-legal-chip--optional { background: var(--adm-warn-bg); color: var(--adm-warn); border-color: var(--adm-warn-line); }
.adm-p-legal .lg-chip.lg-chip-main { background: var(--adm-brand); color: #fff; border-color: var(--adm-brand); }

/* Liste */
.adm-p-legal .adm-legal-table .adm-cell-sub code { font-size: 12px; }
.adm-p-legal .adm-legal-table td { vertical-align: top; }
.adm-p-legal .adm-legal-table .adm-card-title-cell { min-width: 200px; max-width: 280px; }
.adm-p-legal .adm-legal-table td[data-label="Yerleşim"] { min-width: 200px; max-width: 300px; }
.adm-p-legal .adm-legal-ver { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.adm-p-legal .adm-legal-table .adm-col-actions { white-space: nowrap; }
.adm-p-legal tr.adm-legal-off > td { background: var(--adm-surface-2); }
.adm-p-legal tr.adm-legal-off .adm-cell-main { color: var(--adm-muted); }

/* Yerlesim haritasi */
.adm-p-legal .adm-legal-key { font-size: 11.5px; font-weight: 500; color: var(--adm-muted); background: var(--adm-surface-2); padding: 1px 6px; border-radius: 6px; }
.adm-p-legal .adm-legal-maplist { margin: 0; padding: 0; list-style: none; counter-reset: lgmap; }
.adm-p-legal .adm-legal-maplist li { counter-increment: lgmap; display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 6px;
    padding: 8px 0; border-bottom: 1px solid var(--adm-line-soft); }
.adm-p-legal .adm-legal-maplist li:last-child { border-bottom: 0; }
.adm-p-legal .adm-legal-maplist li::before { content: counter(lgmap) "."; grid-row: 1 / span 2; color: var(--adm-muted); font-size: 13px; font-variant-numeric: tabular-nums; padding-top: 1px; }
.adm-p-legal .adm-legal-maplist__doc { font-weight: 600; overflow-wrap: anywhere; }
.adm-p-legal .adm-legal-maplist__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 4px; }
.adm-p-legal .adm-legal-warn { list-style: none; margin: 12px 0 0; padding: 8px 12px; background: var(--adm-warn-bg); border: 1px solid var(--adm-warn-line);
    border-radius: var(--adm-r-box); font-size: 13px; color: var(--adm-ink-2); }
.adm-p-legal .adm-legal-warn li { margin: 3px 0; }
.adm-p-legal .adm-legal-warn i { color: var(--adm-warn); }
.adm-p-legal .adm-legal-ok { margin: 12px 0 0; }

/* Yardim (katlanir) */
.adm-p-legal .adm-legal-help { margin-top: 20px; }
.adm-p-legal .adm-legal-help__sum { cursor: pointer; padding: 14px 20px; font-family: var(--adm-font-head); font-weight: 700; font-size: 15px; color: var(--adm-ink); list-style-position: inside; }
.adm-p-legal .adm-legal-help__sum i { color: var(--adm-brand); margin-right: 4px; }
.adm-p-legal .adm-legal-help__sum:focus-visible { outline: 2px solid var(--adm-brand); outline-offset: -2px; border-radius: var(--adm-r-card); }
.adm-p-legal .adm-legal-help[open] .adm-legal-help__sum { border-bottom: 1px solid var(--adm-line-soft); }
.adm-p-legal .adm-legal-help ol { margin: 0 0 0 18px; padding: 0; font-size: 14px; color: var(--adm-ink-2); }
.adm-p-legal .adm-legal-help li { margin: 5px 0; }

/* Belge ayarlari */
.adm-p-legal .adm-legal-single { max-width: 860px; }
.adm-p-legal .adm-legal-pl { border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); overflow: hidden; }
.adm-p-legal .adm-legal-pl-table { font-size: 14px; }
.adm-p-legal .adm-legal-pl-table th { background: var(--adm-surface-2); color: var(--adm-muted); font-size: 12px; padding: 8px 12px; border-bottom: 1px solid var(--adm-line); }
.adm-p-legal .adm-legal-pl-table td { padding: 10px 12px; border-bottom: 1px solid var(--adm-line-soft); }
.adm-p-legal .adm-legal-pl-table tr:last-child td { border-bottom: 0; }
.adm-p-legal .adm-legal-pl-table th:nth-child(2), .adm-p-legal .adm-legal-pl-table td:nth-child(2) { width: 200px; }
.adm-p-legal .adm-legal-pl-table th:nth-child(3), .adm-p-legal .adm-legal-pl-table td:nth-child(3) { width: 96px; }
.adm-p-legal .adm-legal-pl-table .adm-check { margin: 0; }
.adm-p-legal .adm-legal-pl-table .adm-select { width: 100%; }
.adm-p-legal .adm-legal-pl-table input[type="number"] { width: 100%; }
.adm-p-legal .adm-legal-pl-table tr.is-off td:first-child strong { color: var(--adm-ink-2); font-weight: 500; }
.adm-p-legal .adm-legal-modes { margin-bottom: 14px; }
.adm-p-legal .adm-legal-active { align-self: end; }
.adm-p-legal .adm-legal-active .adm-check { margin: 0 0 6px; }
.adm-p-legal .adm-legal-pre { white-space: pre-line; overflow-wrap: anywhere; min-width: 240px; font-size: 13px; }

/* Onay kayitlari */
.adm-p-legal .adm-legal-acc .adm-card-title-cell { max-width: 260px; }
.adm-p-legal .adm-legal-proof { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--adm-muted); }
.adm-p-legal .adm-legal-proof .adm-mono { font-size: 12px; color: var(--adm-ink-2); }

/* KVKK */
.adm-p-kvkk .adm-kvkk-note { white-space: pre-line; overflow-wrap: anywhere; max-width: 360px; }
.adm-p-kvkk .adm-kvkk-act { min-width: 280px; }
.adm-p-kvkk .adm-kvkk-form { display: flex; flex-direction: column; gap: 8px; }
.adm-p-kvkk .adm-kvkk-form .adm-textarea { width: 100%; min-height: 60px; font-size: 13px; }
.adm-p-kvkk .adm-kvkk-form .adm-check { margin: 0; font-size: 13px; }
.adm-p-kvkk .adm-kvkk-btns { display: flex; flex-wrap: wrap; gap: 6px; }

@media (max-width: 820px) {
    .adm-p-legal .adm-legal-table .adm-card-title-cell,
    .adm-p-legal .adm-legal-table td[data-label="Yerleşim"],
    .adm-p-legal .adm-legal-acc .adm-card-title-cell,
    .adm-p-kvkk .adm-kvkk-note { max-width: none; min-width: 0; }
    .adm-p-legal .adm-legal-pre, .adm-p-kvkk .adm-kvkk-act { min-width: 0; }
    .adm-p-legal .adm-legal-table .adm-col-actions { white-space: normal; }
    .adm-p-kvkk .adm-kvkk-act { display: block; }
    .adm-p-kvkk .adm-kvkk-btns .adm-btn { flex: 1 1 auto; }
    /* Yerlesim tablosu: satir = kart (yerlesim tam satir, onay sekli + sira yan yana) */
    .adm-p-legal .adm-legal-pl-table thead { display: none; }
    .adm-p-legal .adm-legal-pl-table, .adm-p-legal .adm-legal-pl-table tbody { display: block; }
    .adm-p-legal .adm-legal-pl-table tr { display: grid; grid-template-columns: minmax(0, 1fr) 90px; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--adm-line-soft); }
    .adm-p-legal .adm-legal-pl-table tr:last-child { border-bottom: 0; }
    .adm-p-legal .adm-legal-pl-table td { display: block; width: auto !important; padding: 0; border: 0; }
    .adm-p-legal .adm-legal-pl-table td:first-child { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
    .adm-p-legal .adm-legal-pre, .adm-p-kvkk .adm-kvkk-note { text-align: start; }
}
@media (max-width: 820px) {
    .adm-ui.adm-p-kvkk .adm-table--cards td.adm-kvkk-act { display: block; text-align: start; }
    .adm-ui.adm-p-kvkk .adm-table--cards td.adm-kvkk-act::before { display: block; margin-bottom: 6px; }
}
/* Cok parcali hucre: masaustunde alt alta (sola), mobil kartta saga hizali tek blok */
.adm-p-legal .adm-legal-cell { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.adm-p-legal td.num .adm-legal-cell { align-items: flex-end; }
.adm-p-legal .adm-legal-acc .adm-legal-doc { min-width: 190px; }
@media (max-width: 820px) {
    .adm-p-legal .adm-legal-cell { align-items: flex-end; text-align: end; }
    .adm-p-legal .adm-legal-ver { align-items: flex-end; }
}


/* ==== ADM-MENTOR.css ==== */
/* ADM-MENTOR — admin/mentors.php (.adm-p-mentors) ve admin/mentor-view.php (.adm-p-mentor). ADMUI bilesenlerine ek, sayfa kapsamli. */

/* ---------- Liste ---------- */
.adm-p-mentors .adm-tab.adm-p-mentors__tab-hot .adm-tab-count { background: var(--adm-warn-bg); color: var(--adm-warn); box-shadow: inset 0 0 0 1px var(--adm-warn-line); }
.adm-p-mentors .adm-toolbar .adm-check { margin: 0; align-self: center; }
.adm-p-mentors__person { display: flex; align-items: center; gap: 10px; min-width: 0; }
.adm-p-mentors__person .f1-avatar { width: 36px; height: 36px; flex-shrink: 0; }
.adm-p-mentors__who { display: flex; flex-direction: column; min-width: 0; max-width: 220px; }
.adm-p-mentors .adm-table td .adm-truncate { display: block; max-width: 170px; }
.adm-p-mentors__badges { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.adm-p-mentors .adm-table td .adm-cell-sub { display: block; }
.adm-p-mentors .adm-table td.adm-col-actions form { display: inline-flex; gap: 4px; }

/* ---------- Ayrinti ---------- */
.adm-p-mentor .adm-page-title .adm-badge { vertical-align: middle; }
.adm-p-mentor a.adm-badge { text-decoration: none; }
.adm-p-mentor .adm-page-head__actions { margin: 0; }
.adm-p-mentor__alert-form { margin: 8px 0 0; }
.adm-p-mentor__money { display: flex; flex-direction: column; gap: 2px; }
.adm-p-mentor__person { display: flex; align-items: center; gap: 14px; min-width: 0; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--adm-line-soft); }
.adm-p-mentor__person .f1-avatar { width: 72px; height: 72px; flex-shrink: 0; }
.adm-p-mentor__person > div { min-width: 0; }
.adm-p-mentor__person p { margin: 0 0 2px; }
.adm-p-mentor__name { font-family: var(--adm-font-head); font-size: 18px; font-weight: 700; color: var(--adm-ink); }
.adm-p-mentor__pre { white-space: pre-line; overflow-wrap: anywhere; }
.adm-p-mentor__records { margin-top: 20px; }
.adm-p-mentor__tabs { padding: 0 16px; margin: 0; }
.adm-p-mentor [role="tabpanel"] > .adm-empty, .adm-p-mentor__note, .adm-p-mentor__timeline { margin-left: 16px; margin-right: 16px; }
.adm-p-mentor__note { margin-top: 10px; margin-bottom: 14px; }
.adm-p-mentor .adm-table td .adm-truncate { display: block; max-width: 280px; }
.adm-p-mentor .adm-table td .adm-cell-sub { display: block; }
.adm-p-mentor__num { max-width: 140px; }
.adm-p-mentor aside .adm-form-actions { margin-top: 12px; }

.adm-p-mentor__timeline { list-style: none; padding: 16px 0 4px; }
.adm-p-mentor__event { position: relative; padding: 0 0 14px 22px; }
.adm-p-mentor__event::before { content: ""; position: absolute; left: 4px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: var(--adm-line-strong); }
.adm-p-mentor__event::after { content: ""; position: absolute; left: 8px; top: 18px; bottom: 0; width: 1px; background: var(--adm-line); }
.adm-p-mentor__event:last-child::after { display: none; }
.adm-p-mentor__event--ok::before { background: var(--adm-ok); }
.adm-p-mentor__event--danger::before { background: var(--adm-danger); }
.adm-p-mentor__event p { margin: 0; }
.adm-p-mentor__event-title { font-weight: 600; color: var(--adm-ink); }

@media (max-width: 820px) {
    .adm-p-mentors__val { display: flex; flex-direction: column; align-items: flex-end; text-align: right; min-width: 0; }
    .adm-p-mentors__badges { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
    .adm-p-mentors .adm-table td .adm-truncate, .adm-p-mentor .adm-table td .adm-truncate, .adm-p-mentors__who { max-width: 100%; }
    .adm-p-mentors .adm-table--cards td[data-label] > span, .adm-p-mentor .adm-table--cards td[data-label] > span { text-align: right; }
    .adm-p-mentor__tabs { padding: 0 8px; }
    .adm-p-mentor [role="tabpanel"] > .adm-table-wrap { padding: 0 12px; }
    .adm-p-mentor__num { max-width: none; flex: 1 1 120px; }
}


/* ==== ADM-OLY.css ==== */
/* ADM-OLY — olimpiyat yonetimi sayfalari (olympiads, olympiad-edit + sekmeler, olympiad-results).
   Tum kurallar body.adm-p-oly altinda; ortak bilesenler ADMUI.css'te. */

/* ---- Liste ---- */
body.adm-p-oly .adm-oly-links { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 12.5px; }
body.adm-p-oly .adm-oly-links a { color: var(--adm-muted); text-decoration: none; font-weight: 600; }
body.adm-p-oly .adm-oly-links a:hover, body.adm-p-oly .adm-oly-links a:focus-visible { color: var(--adm-brand-strong); text-decoration: underline; }
body.adm-p-oly .adm-oly-list .adm-card-title-cell { min-width: 180px; }
body.adm-p-oly .adm-oly-list .adm-cell-sub.adm-truncate { max-width: 240px; }
body.adm-p-oly .adm-oly-money { font-size: 1.15rem; overflow-wrap: anywhere; }
body.adm-p-oly .adm-table td .adm-badge + .adm-cell-sub { margin-top: 4px; }
body.adm-p-oly .adm-oly-list .adm-cell-sub.adm-nowrap { display: block; }
body.adm-p-oly .adm-oly-list .adm-col-actions { white-space: nowrap; }
body.adm-p-oly .adm-oly-list .adm-col-actions form { display: inline; }

/* ---- Duzenleme: sekmeler, hatalar, form ---- */
body.adm-p-oly .adm-oly-tabs { margin-bottom: 16px; }
body.adm-p-oly .adm-oly-tabs .adm-tab i { opacity: .7; }
body.adm-p-oly .adm-oly-errors { margin: 4px 0 0; padding-left: 18px; }
body.adm-p-oly .adm-oly-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
body.adm-p-oly .adm-oly-fieldset legend { padding: 0; }
body.adm-p-oly .adm-oly-fieldset .adm-check { margin: 4px 0; }
body.adm-p-oly .adm-oly-preview .adm-select { width: auto; max-width: 220px; }
body.adm-p-oly .adm-page-desc.adm-cluster { gap: 6px 8px; align-items: center; }
body.adm-p-oly .adm-oly-form .f5-md-toolbar { border-color: var(--adm-line); border-radius: var(--adm-r-box) var(--adm-r-box) 0 0; background: var(--adm-surface-2); }
body.adm-p-oly .adm-oly-form .f5-row input, body.adm-p-oly .adm-oly-form .f5-row textarea { border-color: var(--adm-line-strong); border-radius: var(--adm-r-btn); }
body.adm-p-oly .adm-oly-form .f5-src-text { border-color: var(--adm-line); border-radius: var(--adm-r-box); background: var(--adm-surface-2); }
body.adm-p-oly .adm-oly-form .f5-tr-pair { padding: 12px 0; border-bottom: 1px dashed var(--adm-line); margin: 0; }
body.adm-p-oly .adm-oly-form .f5-tr-pair:last-child { border-bottom: 0; }
body.adm-p-oly .f5-badge { border-radius: 999px; }

/* ---- Kapak ---- */
body.adm-p-oly .adm-oly-cover-form { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; align-items: start; }
body.adm-p-oly .adm-oly-cover-submit { padding-top: 26px; }
body.adm-p-oly .adm-oly-tr .adm-col-actions { white-space: nowrap; }
body.adm-p-oly .adm-oly-tr .adm-col-actions form { display: inline; }
body.adm-p-oly .adm-oly-show-sm { display: none; }
body.adm-p-oly .adm-oly-cover-form .f5-upload-btn { margin-top: 0; }
body.adm-p-oly .adm-oly-cover-grid { margin-top: 0; }
body.adm-p-oly .f5-cover-item { border-color: var(--adm-line); border-radius: var(--adm-r-box); }
body.adm-p-oly .adm-oly-cover-actions { display: inline-flex; gap: 6px; margin-left: auto; align-items: center; }
body.adm-p-oly .adm-oly-cover-actions form { margin: 0; }

/* ---- Sinav takvimi ---- */
body.adm-p-oly .adm-card.oxcat-group { padding: 0; border-color: var(--adm-line); background: var(--adm-surface); margin: 0 0 16px; }
body.adm-p-oly .adm-card.oxcat-group.is-empty { border-color: var(--adm-warn-line); }
body.adm-p-oly .adm-card.oxcat-common { border-style: dashed; }
body.adm-p-oly .f5-exam { border-color: var(--adm-line); border-radius: var(--adm-r-box); padding: 14px 16px; }
body.adm-p-oly .f5-exam.is-locked { border-color: var(--adm-warn-line); background: var(--adm-warn-bg); }
body.adm-p-oly .f5-exam-new { background: var(--adm-surface-2); }
body.adm-p-oly .adm-oly-exam-title { font-family: var(--adm-font-head); font-size: 15px; }
body.adm-p-oly .f5-exam-grid .adm-field { min-width: 0; }
body.adm-p-oly .f5-exam-grid select { max-width: 100%; }
body.adm-p-oly .oxcat-add { margin-top: 4px; }
body.adm-p-oly .oxcat-add > summary { display: inline-flex; align-items: center; gap: 6px; list-style: none; padding: 7px 12px; border: 1px dashed var(--adm-line-strong); border-radius: var(--adm-r-btn); color: var(--adm-brand-strong); font-size: 13.5px; }
body.adm-p-oly .oxcat-add > summary::-webkit-details-marker { display: none; }
body.adm-p-oly .oxcat-add > summary:hover { background: var(--adm-brand-soft); }
body.adm-p-oly .oxcat-add > summary:focus-visible { outline: 2px solid var(--adm-focus, var(--adm-brand)); outline-offset: 2px; }
body.adm-p-oly .oxcat-add[open] > summary { margin-bottom: 10px; }
body.adm-p-oly .oxcat-empty { margin: 0 0 10px; }
body.adm-p-oly .adm-oly-tz { margin: 4px 0 0; }

/* ---- Basvuru ayarlari ---- */
body.adm-p-oly .adm-oly-dist .adm-stat__label small { font-weight: 500; opacity: .8; }
body.adm-p-oly .adm-oly-dist__list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; }
body.adm-p-oly .adm-oly-dist__list li { display: flex; justify-content: space-between; gap: 10px; min-width: 0; }
body.adm-p-oly .adm-oly-dist__list li span { overflow-wrap: anywhere; color: var(--adm-ink-2); }
body.adm-p-oly .adm-oly-dist__list li strong { font-variant-numeric: tabular-nums; }
body.adm-p-oly .adm-progress { margin-top: 6px; min-width: 80px; }
body.adm-p-oly .adm-progress.is-full > span { background: var(--adm-danger); }
body.adm-p-oly .adm-oly-venue-edit > summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--adm-brand-strong); margin-top: 6px; }
body.adm-p-oly .oxapp-adm-venues .adm-col-actions { text-align: left; }

body.adm-p-oly .oxapp-adm-maprow select, body.adm-p-oly .oxapp-adm-vform input:not([type="checkbox"]), body.adm-p-oly .oxapp-adm-regedit input, body.adm-p-oly .oxapp-adm-regedit select {
    min-height: 40px; padding: 6px 10px; border: 1px solid var(--adm-line-strong); border-radius: var(--adm-r-btn); background: var(--adm-surface); font: inherit; font-size: 14px; color: var(--adm-ink);
}
body.adm-p-oly .oxapp-adm-maprow select:focus-visible, body.adm-p-oly .oxapp-adm-vform input:focus-visible, body.adm-p-oly .oxapp-adm-regedit input:focus-visible, body.adm-p-oly .oxapp-adm-regedit select:focus-visible { outline: 2px solid var(--adm-brand); outline-offset: 1px; }
body.adm-p-oly .oxapp-adm-maphead { font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--adm-muted); }

/* ---- Kayitlar ---- */
body.adm-p-oly .adm-oly-reg-filter { padding-top: 0; }
body.adm-p-oly .f9-table .f9-cell a { overflow-wrap: anywhere; }
body.adm-p-oly .f9-details-body { background: var(--adm-surface-2); border-color: var(--adm-line); border-radius: var(--adm-r-box); }

/* ---- Sonuclar ---- */
body.adm-p-oly .adm-oly-res-filter .adm-toolbar__filters .adm-field { flex: 1 1 220px; min-width: 0; }
body.adm-p-oly .adm-oly-res-filter .adm-select { width: 100%; }
body.adm-p-oly .adm-oly-cat-pills { margin-bottom: 14px; }
body.adm-p-oly .adm-oly-stats5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.adm-p-oly .adm-oly-stat-text { font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
body.adm-p-oly .adm-oly-res .adm-code { letter-spacing: .06em; }

@media (max-width: 1100px) {
    body.adm-p-oly .adm-oly-stats5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    body.adm-p-oly .adm-oly-preview .adm-select { max-width: none; flex: 1 1 100%; order: -1; }
    body.adm-p-oly .adm-oly-preview > .adm-btn { flex: 1 1 40%; }
    body.adm-p-oly .adm-oly-cover-actions { margin-left: 0; }
    body.adm-p-oly .oxapp-adm-maphead { display: none; }
    body.adm-p-oly .adm-oly-hide-sm { display: none; }
    body.adm-p-oly .adm-oly-show-sm { display: inline; }
    body.adm-p-oly .adm-oly-cover-submit { padding-top: 0; }
    body.adm-p-oly .oxapp-adm-maprow { padding: 10px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); }
    body.adm-p-oly .oxapp-adm-maprow select { font-size: 16px; min-height: 44px; }
}
@media (max-width: 560px) {
    body.adm-p-oly .adm-oly-dist { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
    body.adm-p-oly .adm-oly-stats5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* ==== ADM-PAY.css ==== */
/* ADM-PAY — Satis ve Odeme admin sayfalari (payments, pos-settings, coupons, campaigns, packages).
 * Yalniz gorunum (dosya ADMUI.css'ten once yuklenir: secicilerin basinda body. var); her secici sayfa kok sinifiyla kapsamli (admin-header $adminBodyClass). ADMUI bilesenleri uzerine kucuk ekler. */

/* ---------- payments.php ---------- */
body.adm-p-pay .adm-tabs { margin-bottom: 16px; }
body.adm-p-pay .pay-stats-row { grid-template-columns: repeat(6, minmax(0, 1fr)); }
body.adm-p-pay .pay-stats-row .adm-stat { padding: 14px 16px; }
body.adm-p-pay .pay-stats-row .adm-stat__value { font-size: 22px; }
body.adm-p-pay .pay-list .pay-item { max-width: 24ch; }
body.adm-p-pay .pay-list .pay-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
body.adm-p-pay .pay-list .pay-card { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 13px; }
body.adm-p-pay .pay-list .pay-txn { max-width: 20ch; font-size: 11.5px; }
body.adm-p-pay .pay-3d { color: var(--adm-line-strong); font-size: 12px; }
body.adm-p-pay .pay-3d.is-on { color: var(--adm-ok); }
body.adm-p-pay .pay-list td.num .adm-cell-sub { font-weight: 400; }
body.adm-p-pay .pay-bank { margin-top: 14px; }
body.adm-p-pay .pay-bank > summary { cursor: pointer; color: var(--adm-muted); font-size: 13px; font-weight: 600; }
body.adm-p-pay .pay-bank pre { margin-top: 8px; max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
body.adm-p-pay .pay-refund-kv { margin-bottom: 12px; }

@media (max-width: 1180px) {
    body.adm-p-pay .pay-stats-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    body.adm-p-pay .pay-stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.adm-p-pay .pay-stats-row .adm-stat { padding: 12px; }
    body.adm-p-pay .pay-stats-row .adm-stat__value { font-size: 19px; }
}

/* Iade / paket iade penceresi (payments + packages) */
body.adm-p-pay .adm-dialog .adm-alert, body.adm-p-pkg .adm-dialog .adm-alert { margin: 0 0 14px; }
body.adm-p-pkg .pay-refund-kv { margin-bottom: 12px; }

/* ---------- pos-settings.php ---------- */
body.adm-p-pos .pos-mono input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
body.adm-p-pos .pos-rate { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 12px 14px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); background: var(--adm-surface-2); font-size: 14px; }
body.adm-p-pos .pos-rate strong { font-variant-numeric: tabular-nums; }
body.adm-p-pos .pos-example { margin-top: 12px; padding: 10px 14px; border-radius: var(--adm-r-box); background: var(--adm-ok-bg); border: 1px solid var(--adm-ok-line); color: var(--adm-ink); font-size: 14px; }
body.adm-p-pos .pos-markup { max-width: 260px; }
body.adm-p-pos .pos-urls .adm-mono { font-size: 12.5px; }
body.adm-p-pos .pos-testcard code { font-size: 12.5px; }

/* ---------- coupons / campaigns / packages ---------- */
body.adm-p-cpn .cpn-code, body.adm-p-pkg .cpn-code, body.adm-p-cmp .cpn-code { font-weight: 700; letter-spacing: .02em; }
body.adm-p-cpn .cpn-tags, body.adm-p-cmp .cpn-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
body.adm-p-cpn .cpn-tags a { text-decoration: none; }
body.adm-p-cpn .adm-table tr.is-off td:not(.adm-col-actions),
body.adm-p-cmp .adm-table tr.is-off td:not(.adm-col-actions),
body.adm-p-pkg .adm-table tr.is-off td:not(.adm-col-actions) { opacity: .62; }
body.adm-p-cpn .adm-col-actions form, body.adm-p-cmp .adm-col-actions form, body.adm-p-pkg .adm-col-actions form { display: inline; margin: 0; }
body.adm-p-cpn .com-upper { text-transform: uppercase; }
/* CPNT hedefleme kutusu (includes/mo/coupon-target-admin.php) form icinde bolum gibi dursun */
body.adm-p-cpn .adm-form #cpntBox, body.adm-p-cmp .adm-form #cpntBox { margin-top: 4px; }
body.adm-p-pkg .pkg-orders-filter { display: flex; align-items: center; gap: 8px; }
body.adm-p-pkg .pkg-orders-filter .adm-label { margin: 0; }
body.adm-p-pay .pay-list .adm-card-title-cell .adm-truncate { max-width: 22ch; }
body.adm-p-pay .pay-list .pay-item { max-width: 18ch; }
body.adm-p-pay .pay-list .adm-col-actions { white-space: nowrap; }
body.adm-p-pay .pay-list .pay-cardcell { display: block; min-width: 0; }
@media (max-width: 820px) {
    body.adm-p-pay .pay-list .pay-cardcell { text-align: right; }
    body.adm-p-pay .pay-list .pay-cardcell .adm-cell-sub { display: block; }
    body.adm-p-pay .pay-list .pay-txn { max-width: 100%; }
}
body.adm-p-cpn .cpn-scope { max-width: 22ch; }
body.adm-p-cpn .cpn-valid { display: block; }
@media (max-width: 820px) { body.adm-p-cpn .cpn-valid { text-align: right; } body.adm-p-cpn .cpn-scope { max-width: 100%; } }
body.adm-p-pos .adm-form-section > .adm-switch { display: flex; margin: 0 0 10px; }
body.adm-p-pos .pos-urls .adm-kv { grid-template-columns: minmax(0, 1fr); }
body.adm-p-pos .pos-urls .adm-kv > dt { padding: 10px 0 0; border-bottom: 0; font-size: 12.5px; }
body.adm-p-pos .pos-urls .adm-kv > dd { padding: 2px 0 10px; }


/* ==== ADM-PWRESET.css ==== */
/* ADM-PWRESET — ogrenci detayi basligindaki "Sifre sifirlama baglantisi gonder" eylemi (admin/student-detail.php) */
.adm-p-student .sd-pw-form { display: flex; margin: 0; }
.adm-p-student .sd-pw-off { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; max-width: 280px; }
.adm-p-student .sd-pw-off .adm-btn[disabled] { cursor: not-allowed; }
@media (max-width: 820px) {
    .adm-p-student .sd-pw-form, .adm-p-student .sd-pw-off { flex: 1 1 auto; max-width: none; }
    .adm-p-student .sd-pw-form .adm-btn, .adm-p-student .sd-pw-off .adm-btn { flex: 1 1 auto; width: 100%; justify-content: center; }
}


/* ==== ADM-QUEST.css ==== */
/* ADM-QUEST: soru bankasi (questions.php), soru formu (question-add/edit.php), kategoriler (categories.php).
   Tum kurallar yalniz bu sayfalarin govde sinifi altinda: <body class="... adm-ui adm-p-quest">. Ortak bilesenler: ADMUI.css */

/* ================= Liste: arac cubugu (6 filtre tek satira sigsin) ================= */
.adm-ui.adm-p-qlist .adm-toolbar__filters { flex: 1 1 auto; }
.adm-ui.adm-p-qlist .adm-toolbar__filters .adm-field { min-width: 118px; flex: 1 1 118px; }
.adm-ui.adm-p-qlist .adm-toolbar__filters .qb-f-per { flex: 0 0 84px; min-width: 84px; }

/* ================= Liste: toplu islem cubugu ================= */
.adm-ui.adm-p-quest .qb-bulk {
    display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap;
    padding: 10px 16px; background: var(--adm-brand-soft); border-bottom: 1px solid #c4e2cd;
    border-radius: var(--adm-r-card) var(--adm-r-card) 0 0;
}
.adm-ui.adm-p-quest .qb-bulk[hidden] { display: none; }
.adm-ui.adm-p-quest .qb-bulk__count { font-size: 14px; color: var(--adm-brand-strong); }
.adm-ui.adm-p-quest .qb-bulk + .adm-table-wrap { border-top-left-radius: 0; border-top-right-radius: 0; }

/* ================= Liste: tablo ================= */
.adm-ui.adm-p-quest .qb-cell-q { min-width: 260px; }
.adm-ui.adm-p-quest .adm-table .qb-qtext {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    font-weight: 500; line-height: 1.45; overflow-wrap: anywhere;
}
.adm-ui.adm-p-quest .qb-imgwarn { color: var(--adm-warn); margin-right: 4px; }
.adm-ui.adm-p-quest .qb-diff { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--adm-ink-2); white-space: nowrap; }
.adm-ui.adm-p-quest .qb-diff::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--adm-line-strong); }
.adm-ui.adm-p-quest .qb-diff--1::before { background: #4f9d69; }
.adm-ui.adm-p-quest .qb-diff--2::before { background: #c98a1b; }
.adm-ui.adm-p-quest .qb-diff--3::before { background: #c0392b; }
.adm-ui.adm-p-quest .qb-col-ans { text-align: center; }
.adm-ui.adm-p-quest .qb-ans {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px;
    background: var(--adm-brand-soft); color: var(--adm-brand-strong); font-family: var(--adm-font-head); font-weight: 800; font-size: 14px;
}
.adm-ui.adm-p-quest .qb-loading { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 40px 16px; color: var(--adm-muted); }
.adm-ui.adm-p-quest .qb-dlg-q { margin: 0; }

/* ================= Ceviri raporu ================= */
.adm-ui.adm-p-quest .qb-tr-stats { margin-bottom: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); }
.adm-ui.adm-p-quest .qb-tr-stats .adm-stat__value { font-size: 22px; }
.adm-ui.adm-p-quest .qb-tr-h { margin: 18px 0 8px; font-family: var(--adm-font-head); font-size: 14px; font-weight: 700; color: var(--adm-ink); }
.adm-ui.adm-p-quest .qb-tr-issues { max-height: 300px; overflow-y: auto; }
.adm-ui.adm-p-quest .qb-tr-issues .adm-truncate { max-width: 30ch; }
.adm-ui.adm-p-quest .qb-fix { margin-top: 18px; padding: 14px 16px; border: 1px solid #c4e2cd; border-radius: var(--adm-r-box); background: var(--adm-brand-soft); }
.adm-ui.adm-p-quest .qb-fix__head { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; flex-wrap: wrap; }
.adm-ui.adm-p-quest .qb-fix__head strong { display: block; color: var(--adm-ink); }
.adm-ui.adm-p-quest .qb-fix__head strong i { color: var(--adm-brand); }
.adm-ui.adm-p-quest #fixProgressArea { margin-top: 14px; }
.adm-ui.adm-p-quest .qb-fix__status { margin: 0 0 8px; font-size: 14px; }
.adm-ui.adm-p-quest .qb-fix__log {
    margin-top: 10px; max-height: 200px; overflow-y: auto; padding: 8px 10px; font-size: 12.5px; line-height: 1.6;
    background: var(--adm-surface); border: 1px solid var(--adm-line-soft); border-radius: 8px;
}
.adm-ui.adm-p-quest .qb-fix__again { padding-top: 8px; text-align: center; }

/* ================= Soru onizlemesi (liste diyalogu + formdaki canli onizleme) ================= */
.adm-ui.adm-p-quest .qp { min-width: 0; }
.adm-ui.adm-p-quest .qp-meta { margin-bottom: 14px; }
.adm-ui.adm-p-quest .qp-text {
    margin: 0 0 14px; padding: 14px 16px; border-radius: var(--adm-r-box); background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft);
    font-size: 16px; line-height: 1.7; color: var(--adm-ink); overflow-wrap: anywhere; overflow-x: auto;
}
.adm-ui.adm-p-quest .qp-img { margin: 0 0 14px; text-align: center; }
.adm-ui.adm-p-quest .qp img { max-width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--adm-line); background: #fff; }
.adm-ui.adm-p-quest .qp-img img { max-height: 340px; }
.adm-ui.adm-p-quest .qp-opts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.adm-ui.adm-p-quest .qp-opt {
    display: flex; align-items: center; gap: 10px; min-width: 0; padding: 9px 12px;
    border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); background: var(--adm-surface); color: var(--adm-ink-2);
}
.adm-ui.adm-p-quest .qp-opt__letter {
    flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 7px;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line); font-weight: 800; font-size: 13px; color: var(--adm-ink-2);
}
.adm-ui.adm-p-quest .qp-opt__body { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; overflow-x: auto; }
.adm-ui.adm-p-quest .qp-opt__body img { display: block; max-height: 64px; width: auto; }
.adm-ui.adm-p-quest .qp-opt__ok { color: var(--adm-ok); flex-shrink: 0; }
.adm-ui.adm-p-quest .qp-opt.is-correct { border-color: var(--adm-ok-line); background: var(--adm-ok-bg); }
.adm-ui.adm-p-quest .qp-opt.is-correct .qp-opt__letter { background: var(--adm-ok); border-color: var(--adm-ok); color: #fff; }
.adm-ui.adm-p-quest .qp-sol { margin-top: 14px; padding: 12px 14px; border-radius: var(--adm-r-box); border: 1px solid var(--adm-warn-line); background: var(--adm-warn-bg); color: var(--adm-ink-2); overflow-wrap: anywhere; }
.adm-ui.adm-p-quest .qp-sol__title { margin: 0 0 6px; font-weight: 700; color: var(--adm-warn); }
.adm-ui.adm-p-quest .qp-sol img { display: block; margin-top: 10px; max-height: 300px; }

/* ================= Soru formu ================= */
.adm-ui.adm-p-quest .qf-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); }
.adm-ui.adm-p-quest .qf-form > .adm-card:last-of-type { margin-bottom: 0; }
.adm-ui.adm-p-quest .qf-preview-card { position: sticky; top: 76px; max-height: calc(100vh - 92px); overflow-y: auto; }
.adm-ui.adm-p-quest .qf-preview .qp-text { font-size: 15px; padding: 12px 14px; }
.adm-ui.adm-p-quest .qf-pv-lang { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--adm-muted); }
.adm-ui.adm-p-quest .qf-switch-field .adm-switch { min-height: 40px; }
.adm-ui.adm-p-quest .qf-langtabs { position: relative; margin-bottom: 6px; } /* ic sr-only ogeler kaydirma kabinda kirpilsin */
.adm-ui.adm-p-quest .qf-tabs-help { margin: 0 0 16px; }
.adm-ui.adm-p-quest .qf-tab-dot { display: none; width: 7px; height: 7px; border-radius: 50%; background: var(--adm-danger); }
.adm-ui.adm-p-quest .lang-tab.is-missing .qf-tab-dot { display: inline-block; }
.adm-ui.adm-p-quest .lang-tab-content[hidden] { display: none; }
.adm-ui.adm-p-quest .qf-opt-letter {
    display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-right: 4px; border-radius: 6px;
    background: var(--adm-brand-soft); color: var(--adm-brand-strong); font-weight: 800; font-size: 12px;
}
.adm-ui.adm-p-quest .qf-optimg { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; margin-top: 8px; }
.adm-ui.adm-p-quest .qf-optimg img { max-height: 56px; width: auto; border-radius: 6px; border: 1px solid var(--adm-line); background: #fff; }
.adm-ui.adm-p-quest .qf-optimg .adm-check { margin: 0; font-size: 13px; }
.adm-ui.adm-p-quest .qf-file { display: block; min-width: 0; max-width: 100%; }
.adm-ui.adm-p-quest .adm-field input[type=file], .adm-ui.adm-p-quest .qf-file input[type=file] { max-width: 100%; font-size: 13px; }
.adm-ui.adm-p-quest .qf-current-img { margin: 0 0 14px; }
.adm-ui.adm-p-quest .qf-current-img img { display: block; max-width: min(100%, 420px); height: auto; border-radius: var(--adm-r-box); border: 1px solid var(--adm-line); background: #fff; }
.adm-ui.adm-p-quest .qf-current-img figcaption { margin-top: 8px; }
.adm-ui.adm-p-quest .qf-actions #translateStatus { font-size: 13px; }
/* QADD-KEEP: dogrulama hatasi ozeti, hatali dil sekmesi, korunan onceki yukleme */
.adm-ui.adm-p-quest .qf-errsum { margin-bottom: 16px; scroll-margin-top: 80px; }
.adm-ui.adm-p-quest .qf-errsum:focus { outline: 2px solid var(--adm-danger); outline-offset: 2px; }
.adm-ui.adm-p-quest .qf-errsum__list { margin: 6px 0 0; padding-left: 18px; }
.adm-ui.adm-p-quest .qf-errsum__list li { margin: 2px 0; overflow-wrap: anywhere; }
.adm-ui.adm-p-quest .qf-errsum__list a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.adm-ui.adm-p-quest .lang-tab.has-error { color: var(--adm-danger); box-shadow: inset 0 -2px 0 var(--adm-danger); }
.adm-ui.adm-p-quest .qf-kept { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 8px; padding: 8px 10px; border: 1px dashed var(--adm-line); border-radius: 10px; background: var(--adm-surface, #fff); font-size: 13px; min-width: 0; }
.adm-ui.adm-p-quest .qf-kept__txt { min-width: 0; overflow-wrap: anywhere; }
.adm-ui.adm-p-quest .qf-kept .adm-check { margin: 0; font-size: 13px; }
.adm-ui.adm-p-quest .qf-optimg .qf-kept { flex-basis: 100%; margin: 0; }
.adm-ui.adm-p-quest .qf-optimg .adm-error { flex-basis: 100%; margin-top: 0; }
.adm-ui.adm-p-quest .qf-optimg.has-error input[type=file] { outline: 1px solid var(--adm-danger); border-radius: 6px; }

@media (max-width: 1100px) {
    .adm-ui.adm-p-quest .qf-layout { grid-template-columns: minmax(0, 1fr); }
    .adm-ui.adm-p-quest .qf-preview-card { position: static; max-height: none; }
}
@media (max-width: 820px) {
    .adm-ui.adm-p-quest .qb-bulk { border-radius: 0; padding: 10px 14px; }
    .adm-ui.adm-p-quest .qb-bulk .adm-btn-group { width: 100%; }
    .adm-ui.adm-p-quest .qb-bulk .adm-btn { flex: 1 1 auto; }
    .adm-ui.adm-p-quest .qb-cell-q { min-width: 0; }
    .adm-ui.adm-p-quest .adm-table .qb-qtext { -webkit-line-clamp: 3; }
    .adm-ui.adm-p-quest .qp-text { font-size: 15px; }
    .adm-ui.adm-p-quest .qf-actions { gap: 8px; }
    .adm-ui.adm-p-quest .qf-actions .adm-form-actions__note { flex-basis: 100%; }
    .adm-ui.adm-p-quest form:not(.is-dirty) .qf-actions .adm-form-actions__note:has([id=translateStatus]:empty) { display: none; } /* bos not satiri yer kaplamasin */
    .adm-ui.adm-p-quest form.is-dirty .qf-actions .adm-form-actions__note { display: block; }
    .adm-ui.adm-p-quest .qf-actions .adm-btn--ghost { flex: 0 0 auto; }
}
.adm-ui.adm-p-quest .qf-show-sm { display: none; }
@media (max-width: 480px) {
    .adm-ui.adm-p-quest .qf-hide-sm { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
    .adm-ui.adm-p-quest .qf-show-sm { display: inline; }
}


/* ==== ADM-STATS.css ==== */
/* ADM-STATS — admin/analytics.php (ziyaretci istatistikleri). Tum secimler .adm-p-stats ile kapsanir.
   Grafik renkleri: secili donem = marka yesili (--sta-cur), karsilastirma = notr gri (--sta-prev, 3.2:1).
   Cizim: assets/js/mo/ADM-STATS.js (Chart.js, admin-lib.js yukleyicisiyle); JS yoksa sunucu SVG'si gorunur. */

.adm-p-stats {
    --sta-cur: #32834a;
    --sta-cur-hover: #1f6b38;
    --sta-prev: #879289;
    --sta-track: #e4ece6;
}

/* ---------- Tarih araligi cubugu ---------- */
.adm-ui.adm-p-stats .sta-range { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; }
.adm-p-stats .sta-range__presets { display: flex; flex-wrap: wrap; gap: 6px; align-self: center; }
.adm-p-stats .sta-chip {
    display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: 999px;
    border: 1px solid var(--adm-line); background: var(--adm-surface); color: var(--adm-ink-2);
    font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.adm-p-stats .sta-chip:hover { border-color: var(--adm-line-strong); background: var(--adm-surface-2); color: var(--adm-ink); }
.adm-p-stats .sta-chip:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-p-stats .sta-chip[aria-current="true"] { background: var(--adm-brand); border-color: var(--adm-brand); color: #fff; }
.adm-p-stats .sta-range__custom { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 10px; }
.adm-p-stats .sta-range__custom .adm-field { margin: 0; }
.adm-p-stats .sta-range__custom .adm-label { font-size: 12px; margin-bottom: 3px; }
.adm-p-stats .sta-range__custom input { width: 9.5em; }
.adm-p-stats .sta-range__custom .admlib-date input { width: 8.5em; }

.adm-p-stats .sta-tabs { margin-bottom: 20px; }

/* ---------- Gostergeler ---------- */
.adm-ui.adm-p-stats .sta-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 12px; }
@media (min-width: 1500px) { .adm-ui.adm-p-stats .sta-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 600px) { .adm-ui.adm-p-stats .sta-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.adm-p-stats .sta-kpis .adm-stat__value { font-variant-numeric: normal; }
.adm-p-stats .sta-kpi-text { font-size: 21px; line-height: 1.35; }
.adm-p-stats .sta-kpis .adm-stat__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.adm-p-stats .sta-delta { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.adm-p-stats .sta-delta i { font-size: 11px; }
.adm-p-stats .sta-delta--flat { color: var(--adm-muted); font-weight: 600; }
.adm-p-stats .sta-prev { color: var(--adm-muted); white-space: nowrap; }

.adm-p-stats .sta-strip {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: 0;
    margin: 0 0 20px; padding: 0; background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); border-radius: var(--adm-r-box);
}
.adm-p-stats .sta-strip > div { padding: 10px 14px; min-width: 0; border-left: 1px solid var(--adm-line-soft); }
.adm-p-stats .sta-strip > div:first-child { border-left: 0; }
.adm-p-stats .sta-strip dt { font-size: 12px; font-weight: 600; color: var(--adm-muted); margin: 0 0 2px; }
.adm-p-stats .sta-strip dd { margin: 0; font-size: 15px; font-weight: 700; color: var(--adm-ink); font-variant-numeric: tabular-nums; }
.adm-p-stats .sta-strip small { font-size: 12px; font-weight: 500; color: var(--adm-muted); }
.adm-p-stats .sta-live { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--adm-ok); vertical-align: 2px; box-shadow: 0 0 0 3px var(--adm-ok-bg); }

/* ---------- Trend karti ---------- */
.adm-p-stats .sta-trend .adm-card-head { flex-wrap: wrap; row-gap: 8px; }
.adm-p-stats .sta-metric { display: inline-flex; gap: 0; padding: 3px; border-radius: var(--adm-r-btn); background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); }
.adm-p-stats .sta-metric[hidden] { display: none; }
.adm-p-stats .sta-seg {
    min-height: 30px; padding: 0 12px; border: 0; border-radius: 6px; background: transparent;
    font: inherit; font-size: 13px; font-weight: 600; color: var(--adm-muted); cursor: pointer; white-space: nowrap;
}
.adm-p-stats .sta-seg:hover { color: var(--adm-ink); }
.adm-p-stats .sta-seg:focus-visible { outline: none; box-shadow: var(--adm-focus); }
.adm-p-stats .sta-seg[aria-pressed="true"] { background: var(--adm-surface); color: var(--adm-ink); box-shadow: 0 1px 2px rgba(16, 37, 26, .12); }

.adm-p-stats .sta-legend { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--adm-ink-2); }
.adm-p-stats .sta-legend li { display: inline-flex; align-items: center; gap: 7px; }
.adm-p-stats .sta-key { display: inline-block; width: 16px; height: 2px; border-radius: 1px; }
.adm-p-stats .sta-key--cur { background: var(--sta-cur); height: 3px; }
.adm-p-stats .sta-key--prev { background: var(--sta-prev); }

/* Chart.js kabi: cizim hazir olunca gorunur (JS yoksa SVG yedegi kalir) */
.adm-p-stats .sta-chart { position: relative; height: 220px; display: none; }
.adm-p-stats .sta-chart.is-ready { display: block; }
.adm-p-stats .sta-chart--tall { height: 300px; }
.adm-p-stats .sta-table-toggle { margin-top: 12px; }
.adm-p-stats .sta-table-toggle summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--adm-muted); width: max-content; }
.adm-p-stats .sta-table-toggle summary:hover { color: var(--adm-ink); }
.adm-p-stats .sta-table-toggle .adm-table-wrap { margin-top: 8px; max-height: 360px; overflow: auto; border: 1px solid var(--adm-line-soft); border-radius: var(--adm-r-box); }

/* SVG yedek grafik (JS/CDN yoksa) */
.adm-p-stats .anl-chart .grid line { stroke: var(--sta-track); }
.adm-p-stats .anl-chart .grid text, .adm-p-stats .anl-chart .xlab text { fill: var(--adm-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.adm-p-stats .anl-chart .col { fill: var(--sta-cur); }
.adm-p-stats .anl-chart g.c:hover .col { fill: var(--sta-cur-hover); }
.adm-p-stats .anl-tip { background: var(--adm-ink); border-radius: var(--adm-r-btn); font-size: 12.5px; }

/* ---------- Yatay cubuk listeleri ---------- */
.adm-p-stats .adm-grid { margin-bottom: 16px; }
.adm-p-stats .sta-grid-auto { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.adm-p-stats .anl-bars li { padding: 7px 0 6px; font-size: 13.5px; gap: 4px 12px; }
.adm-p-stats .anl-bars .lbl { color: var(--adm-ink-2); }
.adm-p-stats .anl-bars .val { color: var(--adm-ink); font-weight: 700; }
.adm-p-stats .anl-bars .val small { color: var(--adm-muted); font-weight: 500; }
.adm-p-stats .anl-bars .bar { height: 6px; background: var(--sta-track); border-radius: 3px; }
.adm-p-stats .anl-bars .bar i { background: var(--sta-cur); border-radius: 0 3px 3px 0; }
.adm-p-stats .anl-bars li:hover .bar i { background: var(--sta-cur-hover); }
.adm-p-stats .adm-empty__text { overflow-wrap: anywhere; }
.adm-p-stats .anl-empty { color: var(--adm-muted); font-size: 13.5px; margin: 0; padding: 4px 0; }

/* ---------- Tablolar ---------- */
.adm-p-stats .sta-path { max-width: 34ch; }
.adm-p-stats .adm-cell-sub.sta-path, .adm-p-stats .adm-cell-main.sta-path { display: block; }
.adm-p-stats .anl-ua { margin: 0; font-family: ui-monospace, Consolas, monospace; font-size: 12px; color: var(--adm-ink-2); word-break: break-all; }
.adm-p-stats .sta-note { margin: 0 0 14px; font-size: 13.5px; color: var(--adm-muted); max-width: 90ch; }

/* Performans renkleri: renk + simge (renk tek basina anlam tasimaz) */
.adm-p-stats .anl-perf-good { color: var(--adm-ok); }
.adm-p-stats .anl-perf-ok { color: var(--adm-warn); }
.adm-p-stats .anl-perf-bad { color: var(--adm-danger); }

/* ---------- Ayarlar ---------- */
.adm-p-stats .sta-retention { max-width: 260px; margin-top: 6px; }
.adm-p-stats .sta-counts dd { text-align: right; }
.adm-p-stats .sta-purge { margin: 0 0 16px; }
.adm-p-stats .sta-purge .adm-help { margin: 0 0 8px; }
.adm-p-stats .sta-danger { padding: 14px; border: 1px solid var(--adm-danger-line); background: var(--adm-danger-bg); border-radius: var(--adm-r-box); }
.adm-p-stats .sta-danger__title { margin: 0 0 8px; font-weight: 700; color: var(--adm-danger); display: flex; align-items: center; gap: 8px; }
.adm-p-stats .sta-danger .adm-field { margin: 0; }
.adm-p-stats .sta-danger__row { display: flex; flex-wrap: wrap; gap: 8px; }
.adm-p-stats .sta-danger__row input { flex: 1 1 140px; max-width: 200px; background: var(--adm-surface); }
.adm-p-stats .sta-howto { margin: 0; padding-left: 18px; line-height: 1.7; color: var(--adm-ink-2); font-size: 14px; }
.adm-p-stats .sta-howto li + li { margin-top: 4px; }

/* ---------- Tablet / telefon ---------- */
@media (max-width: 820px) {
    .adm-p-stats .sta-chart--tall { height: 240px; }
    .adm-p-stats .sta-metric { width: 100%; }
    .adm-p-stats .sta-seg { flex: 1 1 0; padding: 0 6px; }
    .adm-p-stats .sta-path { max-width: 100%; }
}
@media (max-width: 600px) {
    .adm-ui.adm-p-stats .sta-range { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
    .adm-p-stats .sta-range__presets { align-self: stretch; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
    .adm-p-stats .sta-range__custom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .adm-p-stats .sta-range__custom .adm-field { min-width: 0; }
    .adm-p-stats .sta-range__custom input, .adm-p-stats .sta-range__custom select,
    .adm-p-stats .sta-range__custom .admlib-date, .adm-p-stats .sta-range__custom .admlib-date input { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
    .adm-p-stats .sta-range__custom .adm-field:nth-child(3), .adm-p-stats .sta-range__custom .adm-btn { grid-column: 1 / -1; }
    .adm-p-stats .sta-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adm-p-stats .sta-strip > div:nth-child(n) { border-left: 0; border-top: 1px solid var(--adm-line-soft); }
    .adm-p-stats .sta-strip > div:nth-child(-n+2) { border-top: 0; }
    .adm-p-stats .sta-strip > div:nth-child(even) { border-left: 1px solid var(--adm-line-soft); }
    .adm-p-stats .sta-strip > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .adm-p-stats .sta-kpi-text { font-size: 17px; }
    .adm-p-stats .sta-chart { height: 200px; }
    .adm-p-stats .sta-seg { font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) {
    .adm-p-stats .sta-chip, .adm-p-stats .sta-seg { transition: none; }
}

/* Kart gorunumundeki (<=820) cok parcali hucreler: deger tek blok olarak saga hizalanir */
.adm-p-stats .sta-cellv { display: block; min-width: 0; }
.adm-p-stats .sta-cellv .adm-cell-sub { display: block; }
@media (max-width: 820px) {
    .adm-p-stats .adm-table--cards .sta-cellv { text-align: right; }
    .adm-p-stats .adm-table--cards .sta-cellv .adm-truncate { max-width: 100%; }
}
@media (min-width: 821px) {
    .adm-p-stats .sta-visits td[data-label="Cihaz"] .adm-cell-sub { white-space: nowrap; }
    .adm-p-stats .sta-visits .adm-truncate { max-width: 20ch; }
}

/* 9 sekme: masaustunde tek satira sigsin; daha darda yatay kayar (aktif sekme JS ile gorunur alana alinir) */
.adm-ui.adm-p-stats .sta-tabs .adm-tab { padding: 10px 11px; gap: 6px; }
.adm-ui.adm-p-stats .sta-tabs .adm-tab > i { font-size: 13px; }
@media (max-width: 820px) {
    .adm-ui.adm-p-stats .sta-counts { grid-template-columns: minmax(0, 1fr) auto; }
    .adm-ui.adm-p-stats .sta-counts > dt { padding: 9px 12px 9px 0; border-bottom: 1px solid var(--adm-line-soft); font-size: 14px; }
    .adm-ui.adm-p-stats .sta-counts > dd { padding: 9px 0; border-bottom: 1px solid var(--adm-line-soft); }
    .adm-ui.adm-p-stats .sta-counts > dt:last-of-type, .adm-ui.adm-p-stats .sta-counts > dd:last-of-type { border-bottom: 0; }
}


/* ==== ADM-SYS.css ==== */
/* ADM-SYS — Admin sistem sayfalari: ayarlar, admin kullanicilar, islem kaydi, hata gunlugu, veritabani guncellemeleri, cop kutusu, SSS.
   Tum secimler body.adm-p-sys ile kapsanir (admin-header $adminBodyClass). Ortak bilesenler ADMUI.css'te. */

/* ---- Ortak ---- */
.adm-ui.adm-p-sys .sys-row-off .adm-cell-main,
.adm-ui.adm-p-sys .sys-row-off .sys-faq-q { color: var(--adm-muted); }
.adm-ui.adm-p-sys .sys-help-block { display: block; margin-top: 6px; }
.adm-ui.adm-p-sys .sys-stack { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.adm-ui.adm-p-sys .sys-field-switch { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.adm-ui.adm-p-sys .sys-field-switch .adm-label { margin: 0; }
.adm-ui.adm-p-sys .sys-err-list { margin: 4px 0 0; padding-left: 18px; }
.adm-ui.adm-p-sys .adm-table .adm-card-title-cell > .adm-cell-main { display: inline; margin-right: 6px; }
.adm-ui.adm-p-sys .adm-table .adm-card-title-cell > .adm-cell-sub { display: block; }
.adm-ui.adm-p-sys .adm-card-title-cell .adm-badge { vertical-align: 1px; }
.adm-ui.adm-p-sys .adm-card-sub code,
.adm-ui.adm-p-sys .adm-page-desc code { font-size: .92em; }

/* Acilir ayrinti (islem kaydi, hata gunlugu) */
.adm-ui.adm-p-sys .sys-details > summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--adm-brand-strong); width: max-content; max-width: 100%; }
.adm-ui.adm-p-sys .sys-details > summary:focus-visible { outline: none; box-shadow: var(--adm-focus); border-radius: 4px; }
.adm-ui.adm-p-sys .sys-details pre {
    margin: 6px 0 0; padding: 10px 12px; max-width: 560px; max-height: 280px; overflow: auto;
    background: var(--adm-surface-2); border: 1px solid var(--adm-line-soft); border-radius: var(--adm-r-box);
    font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--adm-ink-2);
    white-space: pre-wrap; overflow-wrap: anywhere; text-align: left;
}

/* ---- Ayarlar ---- */
.adm-ui.adm-p-settings .sys-settings > .adm-tabs { margin-bottom: 16px; }
.adm-ui.adm-p-settings .sys-settings > .adm-card[hidden] { display: none; }
.adm-ui.adm-p-settings .sys-settings > .adm-card:focus { outline: none; }
.adm-ui.adm-p-settings .sys-settings > .adm-card:focus-visible { box-shadow: var(--adm-focus); }
.adm-ui.adm-p-settings .sys-grid-host { grid-template-columns: minmax(0, 1fr) minmax(120px, 200px); margin-bottom: 14px; }
.adm-ui.adm-p-settings .adm-label .adm-badge { margin-left: 6px; vertical-align: middle; }
.adm-ui.adm-p-settings form.is-dirty .sys-clean-note { display: none; }
.adm-ui.adm-p-settings .sys-clean-note { font-size: 13px; color: var(--adm-muted); }

/* ---- Admin duzenle: yetkiler ---- */
.adm-ui.adm-p-admin-edit #permissionsCard[hidden] { display: none; }
.adm-ui.adm-p-admin-edit .sys-super-note { margin: 12px 0 0; display: flex; gap: 8px; align-items: baseline; }
.adm-ui.adm-p-admin-edit .sys-super-note[hidden] { display: none; }
.adm-ui.adm-p-admin-edit .sys-perm-group { border: 0; margin: 0 0 18px; padding: 0; min-width: 0; }
.adm-ui.adm-p-admin-edit .sys-perm-group:last-child { margin-bottom: 0; }
.adm-ui.adm-p-admin-edit .sys-perm-group > legend { padding: 0; margin: 0 0 8px; }
.adm-ui.adm-p-admin-edit .sys-perm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 8px; }
.adm-ui.adm-p-admin-edit .sys-perm {
    margin: 0; padding: 10px 12px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-box);
    background: var(--adm-surface); transition: border-color .15s ease, background-color .15s ease; min-width: 0;
}
.adm-ui.adm-p-admin-edit .sys-perm:hover { border-color: var(--adm-line-strong); }
.adm-ui.adm-p-admin-edit .sys-perm:has(input:checked) { border-color: var(--adm-brand); background: var(--adm-brand-soft); }
.adm-ui.adm-p-admin-edit .sys-perm:has(input:focus-visible) { box-shadow: var(--adm-focus); }
.adm-ui.adm-p-admin-edit .sys-perm > span { min-width: 0; color: var(--adm-ink); font-weight: 600; font-size: 13.5px; }
.adm-ui.adm-p-admin-edit .sys-perm small { font-weight: 400; font-size: 11.5px; overflow-wrap: anywhere; }
.adm-ui.adm-p-admin-edit .sys-perm.is-disabled { cursor: not-allowed; opacity: .6; }
.adm-ui.adm-p-admin-edit .adm-card-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ---- Admin listesi ---- */
.adm-ui.adm-p-admins .sys-admins-table .adm-truncate { max-width: 340px; }

/* ---- Islem kaydi ---- */
.adm-ui.adm-p-audit .sys-audit-table td { vertical-align: top; }
.adm-ui.adm-p-audit .adm-toolbar__filters .adm-field { flex: 1 1 150px; max-width: 260px; }
.adm-ui.adm-p-audit .sys-audit-table td a { color: var(--adm-brand-strong); font-weight: 600; }

/* ---- Hata gunlugu ---- */
.adm-ui.adm-p-errlog .adm-toolbar__filters .sys-el-file { flex: 2 1 280px; }
.adm-ui.adm-p-errlog .adm-toolbar__filters .adm-select { width: 100%; max-width: 100%; }
.adm-ui.adm-p-errlog .sys-el-levels { margin: 0 0 12px; }
.adm-ui.adm-p-errlog .sys-el-list { list-style: none; margin: 0; padding: 0; }
.adm-ui.adm-p-errlog .sys-el-item { padding: 12px 18px; border-bottom: 1px solid var(--adm-line-soft); min-width: 0; }
.adm-ui.adm-p-errlog .sys-el-item:last-child { border-bottom: 0; }
.adm-ui.adm-p-errlog .sys-el-head { display: flex; gap: 6px 12px; align-items: center; flex-wrap: wrap; font-size: 12.5px; color: var(--adm-muted); }
.adm-ui.adm-p-errlog .sys-el-count { font-weight: 700; color: var(--adm-ink); }
.adm-ui.adm-p-errlog .sys-el-msg {
    margin-top: 6px; font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--adm-ink);
    white-space: pre-wrap; overflow-wrap: anywhere;
}
.adm-ui.adm-p-errlog .sys-details { margin-top: 6px; }
.adm-ui.adm-p-errlog .sys-details pre { max-width: 100%; }

/* ---- Veritabani guncellemeleri ---- */
.adm-ui.adm-p-dbup .adm-page-title .adm-badge { vertical-align: middle; }
.adm-ui.adm-p-dbup .sys-dbup-check { margin-top: 8px; max-height: 320px; overflow: auto; border: 1px solid var(--adm-line-soft); border-radius: var(--adm-r-box); background: var(--adm-surface); }
.adm-ui.adm-p-dbup .adm-alert code.adm-break { display: block; margin-top: 4px; }
.adm-ui.adm-p-dbup .sys-dbup-name { cursor: pointer; font-weight: 600; color: var(--adm-ink); overflow-wrap: anywhere; }
.adm-ui.adm-p-dbup .adm-card-foot { display: block; }
.adm-ui.adm-p-dbup .sys-dbup-actions { padding-top: 0; border-top: 0; }

/* ---- Cop kutusu ---- */
.adm-ui.adm-p-trash .sys-dlg-who { margin: 0 0 12px; font-size: 14px; overflow-wrap: anywhere; }
.adm-ui.adm-p-trash .adm-dialog .adm-alert { margin-bottom: 12px; }
.adm-ui.adm-p-trash .adm-dialog .adm-field { margin: 0; }
.adm-ui.adm-p-trash .adm-dialog .adm-label { white-space: normal; }
.adm-ui.adm-p-trash .sys-trash-table .adm-cell-sub { display: block; }

/* ---- SSS ---- */
.adm-ui.adm-p-faq .sys-faq-q { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 560px; }
.adm-ui.adm-p-faq .sys-lang { border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); padding: 12px 14px 4px; margin: 0 0 12px; min-width: 0; }
.adm-ui.adm-p-faq .sys-lang.is-filled { border-color: var(--adm-line-strong); }
.adm-ui.adm-p-faq .sys-lang > legend { padding: 0 6px; font-weight: 700; font-size: 14px; color: var(--adm-ink); }
.adm-ui.adm-p-faq .sys-lang-ok { color: var(--adm-ok); font-size: 12px; margin-left: 4px; }
.adm-ui.adm-p-faq .sys-more-langs { margin-top: 4px; border-top: 1px solid var(--adm-line-soft); padding-top: 10px; }
.adm-ui.adm-p-faq .sys-more-langs > summary { cursor: pointer; font-weight: 700; padding: 6px 0 10px; color: var(--adm-ink); display: flex; align-items: center; gap: 8px; }
.adm-ui.adm-p-faq .sys-more-langs > summary:focus-visible { outline: none; box-shadow: var(--adm-focus); border-radius: 6px; }
@media (min-width: 1100px) {
    .adm-ui.adm-p-faq .sys-more-langs__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
}

/* ---- Mobil ---- */
@media (max-width: 820px) {
    .adm-ui.adm-p-settings .sys-grid-host { grid-template-columns: minmax(0, 1fr); }
    .adm-ui.adm-p-sys .sys-details pre { max-width: 100%; }
    .adm-ui.adm-p-sys .adm-table--cards td.sys-audit-det { flex-wrap: wrap; }
    .adm-ui.adm-p-sys .adm-table--cards td.sys-audit-det > details { flex: 0 1 auto; text-align: right; }
    .adm-ui.adm-p-sys .adm-table--cards td.sys-audit-det > details[open] { flex-basis: 100%; text-align: left; }
    .adm-ui.adm-p-sys .adm-table--cards td.sys-audit-det > details[open] > summary { margin-left: auto; }
    .adm-ui.adm-p-errlog .sys-el-item { padding: 12px 14px; }
    .adm-ui.adm-p-admins .sys-admins-table .adm-truncate { max-width: 100%; }
    .adm-ui.adm-p-admins .sys-admins-table td.num[data-label="#"],
    .adm-ui.adm-p-trash .sys-trash-table td.num[data-label="#"] { display: none; }
    .adm-ui.adm-p-settings .sys-clean-note { display: none; }
    .adm-ui.adm-p-settings .sys-settings > .adm-tabs .adm-tab > i { display: none; }
    .adm-ui.adm-p-faq .sys-faq-q { max-width: 100%; }
}


/* ==== ADM-USERS.css ==== */
/* ADM-USERS — admin ogrenci sayfalari: users.php (.adm-p-users), student-detail.php (.adm-p-student),
   user-add.php (.adm-p-user-add), results.php (.adm-p-results). Ortak bilesenler ADMUI.css'te; burada yalniz sayfaya ozel ekler. */

/* ================= Ogrenci listesi ================= */
.adm-p-users .u-list { position: relative; }
.adm-p-users .u-bulkbar {
    position: sticky; top: 0; z-index: 3;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0; padding: 10px 14px;
    background: var(--adm-warn-bg); border: 0; border-bottom: 1px solid var(--adm-warn-line); border-radius: var(--adm-r-card) var(--adm-r-card) 0 0;
    font-size: 14px; color: var(--adm-ink);
}
.adm-p-users .u-bulkbar[hidden] { display: none; }
.adm-p-users .u-bulkbar #f10SelInfo { margin-right: auto; font-weight: 700; }
.adm-p-users .f10-all-matching .u-bulkbar { background: var(--adm-danger-bg); border-bottom-color: var(--adm-danger-line); }

.adm-p-users .u-name { min-width: 200px; }
.adm-p-users .u-name__line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adm-p-users .u-name .adm-cell-sub { display: block; max-width: 280px; }
.adm-p-users .u-name .adm-cell-sub i { font-size: 11px; opacity: .7; }
.adm-p-users .u-city { display: inline-block; max-width: 140px; vertical-align: bottom; }
.adm-p-users .u-status { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.adm-p-users .adm-table .adm-col-check input { width: 18px; height: 18px; cursor: pointer; accent-color: var(--adm-brand); }

@media (max-width: 820px) {
    .adm-p-users .u-name { min-width: 0; }
    .adm-p-users .u-name .adm-cell-sub { max-width: 100%; }
    .adm-p-users .u-status { align-items: flex-end; }
    .adm-p-users .u-bulkbar .adm-btn { flex: 1 1 auto; }
    .adm-p-users .u-bulkbar #f10SelInfo { flex-basis: 100%; }
}

/* Silme diyaloglari (F10-users.js; perdeye tiklayinca kapanmaz — calisan toplu silme kesilmesin) */
.adm-p-users .f10-dialog {
    width: min(500px, calc(100vw - 24px)); padding: 0; border: 1px solid var(--adm-line); border-radius: var(--adm-r-card);
    background: var(--adm-surface); color: var(--adm-ink); font-family: var(--adm-font); box-shadow: 0 24px 60px rgba(10, 22, 15, .28);
}
.adm-p-users .f10-dialog::backdrop { background: rgba(10, 22, 15, .5); }
.adm-p-users .f10-dialog form { padding: 20px; }
.adm-p-users .f10-dialog__title {
    display: flex; align-items: center; gap: 8px; margin: 0 0 12px;
    font-family: var(--adm-font-head); font-size: 18px; font-weight: 800; color: var(--adm-danger);
}
.adm-p-users .f10-dialog p { color: var(--adm-ink-2); }
.adm-p-users .f10-dialog .f10-muted { color: var(--adm-muted); font-size: 13px; }
.adm-p-users .f10-dialog label { font-size: 13px; font-weight: 600; color: var(--adm-ink); }
.adm-p-users .f10-dialog input[type="text"], .adm-p-users .f10-dialog input[type="email"] {
    min-height: 42px; border: 1px solid var(--adm-line-strong); border-radius: var(--adm-r-btn); background: var(--adm-surface);
}
.adm-p-users .f10-dialog input:focus { outline: 0; border-color: var(--adm-danger); box-shadow: 0 0 0 3px rgba(180, 35, 24, .2); }
.adm-p-users .f10-warn-box { padding: 10px 12px; background: var(--adm-warn-bg); border: 1px solid var(--adm-warn-line); border-radius: var(--adm-r-box); color: var(--adm-warn); }
.adm-p-users .f10-progress { background: var(--adm-surface-2); border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); }
.adm-p-users .f10-dialog-actions { padding-top: 4px; }
@media (max-width: 480px) {
    .adm-p-users .f10-dialog-actions .adm-btn { flex: 1 1 auto; }
    .adm-p-users .f10-dialog input[type="text"], .adm-p-users .f10-dialog input[type="email"] { font-size: 16px; }
}

.adm-p-users .u-id { font-size: 12px; color: var(--adm-muted); }
@media (min-width: 821px) {
    .adm-p-users .u-status .adm-badge { white-space: normal; max-width: 130px; line-height: 1.25; }
    .adm-p-users .u-table th, .adm-p-users .u-table td { padding-left: 10px; padding-right: 10px; }
}
@media (min-width: 481px) and (max-width: 820px) {
    /* Tablet: kart icindeki kisa alanlar iki sutun */
    .adm-p-users .u-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; }
    .adm-p-users .u-table td.adm-card-title-cell, .adm-p-users .u-table td.adm-col-actions { grid-column: 1 / -1; }
}

/* ================= Ogrenci detayi ================= */
.adm-p-student .sd-summary__body { display: flex; align-items: center; gap: 20px; }
.adm-p-student .sd-summary__avatar { flex: 0 0 auto; }
.adm-p-student .sd-summary__avatar .f1-avatar { width: 64px; height: 64px; }
.adm-p-student .sd-summary .sd-summary__kv { flex: 1 1 auto; min-width: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.adm-p-student .sd-tabs { margin: 4px 0 16px; }
.adm-p-student .sd-panel > .adm-card + .adm-card,
.adm-p-student .sd-panel > .adm-grid + .adm-card,
.adm-p-student .sd-panel > .adm-alert + .adm-card { margin-top: 16px; }
.adm-p-student .sd-panel > .adm-card { margin-bottom: 0; }
.adm-p-student .sd-panel .adm-card-head { flex-wrap: wrap; }
.adm-p-student .sd-note { display: inline-block; max-width: 340px; vertical-align: bottom; }
.adm-p-student .sd-inline-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.adm-p-student .sd-inline-row form { margin: 0; }
.adm-p-student .sd-pending { margin: 0; }
.adm-p-student .sd-pending__form { margin: 8px 0 0; }
.adm-p-student .sd-select-list { width: 100%; min-height: 150px; padding: 4px; }
.adm-p-student .sd-select-list option { padding: 6px 8px; border-radius: 6px; white-space: normal; }
.adm-p-student .adm-cluster form { margin: 0; }
@media (max-width: 820px) {
    .adm-p-student .sd-note { max-width: 100%; }
}
@media (max-width: 560px) {
    .adm-p-student .sd-summary__body { flex-direction: column; align-items: flex-start; gap: 14px; }
    .adm-p-student .sd-summary .sd-summary__kv { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.adm-p-student .sd-panel .adm-grid { align-items: start; }
.adm-p-student .sd-status { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

/* ================= Kullanici ekle ================= */
.adm-p-user-add .ua-form { max-width: 920px; }
.adm-p-user-add .ua-types { border: 0; margin: 0; padding: 0; min-width: 0; }
.adm-p-user-add .ua-types legend { padding: 0; }
.adm-p-user-add .ua-type-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 10px; }
.adm-p-user-add .ua-type { position: relative; display: block; cursor: pointer; margin: 0; }
.adm-p-user-add .ua-type input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.adm-p-user-add .ua-type__box {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; height: 100%;
    border: 1px solid var(--adm-line); border-radius: var(--adm-r-box); background: var(--adm-surface);
    transition: border-color .15s ease, background-color .15s ease;
}
.adm-p-user-add .ua-type__box > i { margin-top: 2px; font-size: 18px; color: var(--adm-muted); width: 22px; text-align: center; }
.adm-p-user-add .ua-type__box strong { display: block; font-size: 15px; color: var(--adm-ink); }
.adm-p-user-add .ua-type__box small { display: block; margin-top: 2px; font-size: 13px; color: var(--adm-muted); line-height: 1.4; }
.adm-p-user-add .ua-type:hover .ua-type__box { border-color: var(--adm-line-strong); }
.adm-p-user-add .ua-type input:checked + .ua-type__box { border-color: var(--adm-brand); background: var(--adm-brand-soft); box-shadow: inset 0 0 0 1px var(--adm-brand); }
.adm-p-user-add .ua-type input:checked + .ua-type__box > i { color: var(--adm-brand-strong); }
.adm-p-user-add .ua-type input:focus-visible + .ua-type__box { box-shadow: var(--adm-focus); }
.adm-p-user-add [data-f1-for][hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .adm-p-user-add .ua-type__box { transition: none; } }

/* ================= Sinav sonuclari ================= */
.adm-p-results .rs-student .adm-cell-sub { display: block; max-width: 260px; }
.adm-p-results .rs-exam { display: inline-block; max-width: 240px; vertical-align: bottom; }
@media (max-width: 820px) {
    .adm-p-results .rs-student .adm-cell-sub, .adm-p-results .rs-exam { max-width: 100%; }
}


/* ==== AICOV.css ==== */
/* AICOV — kapak gorsellerini yapay zeka ile dillere cevirme (admin) */
.aicov {
    margin-top: 20px;
    padding: 16px;
    border: 1px solid var(--gray-200, #e5e7eb);
    border-radius: 10px;
    background: var(--gray-50, #f9fafb);
    min-width: 0;
    overflow-wrap: anywhere;
}
.aicov-title { margin: 0 0 8px; font-size: 16px; display: flex; gap: 8px; align-items: center; }
.aicov-note { font-size: 13px; color: var(--gray-600, #4b5563); margin: 0 0 8px; }
.aicov-note.aicov-off { margin-top: 12px; color: var(--gray-500, #6b7280); }
.aicov-cost {
    font-size: 13px; margin: 0 0 12px; padding: 8px 10px; border-radius: 8px;
    background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa;
}
.aicov-mock {
    font-size: 12px; margin: 0 0 12px; padding: 6px 10px; border-radius: 8px;
    background: #eef2ff; color: #3730a3; border: 1px dashed #a5b4fc;
}

.aicov-langs { border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; padding: 10px 12px; margin: 0 0 12px; background: #fff; min-width: 0; }
.aicov-langs legend { font-size: 13px; font-weight: 600; padding: 0 4px; }
.aicov-all { display: inline-flex; gap: 6px; align-items: center; margin-bottom: 8px; font-size: 14px; }
.aicov-lang-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px 12px; }
.aicov-lang-grid label { display: flex; gap: 6px; align-items: center; font-size: 13px; min-height: 32px; cursor: pointer; }
.aicov-lang-grid small { color: var(--gray-500, #6b7280); }

.aicov-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.aicov-progress { display: flex; gap: 10px; align-items: center; font-size: 13px; margin-bottom: 8px; }
.aicov-progress progress { flex: 1 1 auto; max-width: 320px; height: 10px; }
.aicov-msg { font-size: 14px; min-height: 1.2em; margin-bottom: 10px; }
.aicov-msg.is-ok { color: #166534; }
.aicov-msg.is-warn { color: #92400e; }
.aicov-msg.is-error { color: #b91c1c; }

.aicov-texts { font-size: 13px; background: #fff; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; }
.aicov-texts ul { margin: 6px 0 0; padding-left: 18px; }

.aicov-jobs { display: grid; gap: 12px; }
.aicov-job { background: #fff; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 10px; padding: 12px; min-width: 0; }
.aicov-job-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.aicov-badge { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: var(--gray-100, #f3f4f6); color: var(--gray-700, #374151); }
.aicov-badge.is-working { background: #dbeafe; color: #1e40af; }
.aicov-badge.is-prompt { background: #f3f4f6; color: #374151; }
.aicov-badge.is-generated { background: #fef3c7; color: #92400e; }
.aicov-badge.is-accepted { background: #dcfce7; color: #166534; }
.aicov-badge.is-failed { background: #fee2e2; color: #991b1b; }

.aicov-pairs { list-style: none; margin: 0 0 8px; padding: 0; font-size: 13px; display: grid; gap: 4px; }
.aicov-pairs li { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.aicov-from { color: var(--gray-500, #6b7280); }
.aicov-arrow { color: var(--gray-400, #9ca3af); }
.aicov-to { font-weight: 600; unicode-bidi: plaintext; }

.aicov-prompt-label { display: block; font-size: 13px; font-weight: 600; }
.aicov-prompt {
    display: block; width: 100%; max-width: 100%; box-sizing: border-box; margin-top: 4px;
    font: 13px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; padding: 8px;
    border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; resize: vertical; unicode-bidi: plaintext;
}
.aicov-err { color: #b91c1c; font-size: 13px; margin: 8px 0 0; }
.aicov-preview { margin: 10px 0 0; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; overflow: hidden; background: var(--gray-100, #f3f4f6); }
.aicov-preview img { display: block; width: 100%; height: auto; }
.aicov-job-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.aicov [hidden] { display: none !important; }

.aicov-saved { margin-top: 14px; }
.aicov-saved h5 { margin: 0 0 8px; font-size: 14px; }
.aicov-saved-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.aicov-saved-item { margin: 0; background: #fff; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; overflow: hidden; }
.aicov-saved-item img { display: block; width: 100%; height: auto; }
.aicov-saved-item figcaption { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: space-between; padding: 6px 8px; font-size: 13px; }

.aicov-settings { margin-top: 14px; font-size: 13px; }
.aicov-settings summary { cursor: pointer; font-weight: 600; min-height: 32px; display: flex; align-items: center; }
.aicov-settings-body { display: grid; gap: 8px; padding-top: 8px; }
.aicov-settings-body label { display: grid; gap: 4px; }
.aicov-settings-body input { width: 100%; max-width: 360px; box-sizing: border-box; padding: 6px 8px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; }
.aicov-settings-body .btn { justify-self: start; }

@media (max-width: 480px) {
    .aicov { padding: 12px; }
    .aicov-lang-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
    .aicov-actions .btn { flex: 1 1 100%; }
}


/* ==== AN.css ==== */
/* Cerez onayi banner'i (public) + ziyaretci istatistikleri (admin/analytics.php) */

.fib-cookie {
    position: fixed; z-index: 10000; left: 16px; right: 16px; bottom: 16px;
    max-width: 760px; margin: 0 auto; padding: 18px 20px;
    display: flex; gap: 16px; align-items: center;
    background: var(--white, #fff); color: var(--gray-900, #202124);
    border: 1px solid var(--gray-200, #e8eaed); border-radius: var(--radius, 12px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
    font-size: 14px; line-height: 1.5;
}
.fib-cookie[hidden] { display: none; }
.fib-cookie__body { flex: 1; min-width: 0; }
.fib-cookie__title { margin: 0 0 4px; font-weight: 700; font-size: 15px; }
.fib-cookie__title i { color: var(--primary, #32834a); }
.fib-cookie__text { margin: 0; color: var(--gray-700, #5f6368); }
.fib-cookie__text a { color: var(--primary, #32834a); text-decoration: underline; }
.fib-cookie__actions { display: flex; gap: 8px; flex-shrink: 0; }
.fib-cookie__actions .btn { white-space: nowrap; }
@media (max-width: 640px) {
    .fib-cookie { flex-direction: column; align-items: stretch; left: 8px; right: 8px; bottom: 8px; padding: 16px; }
    .fib-cookie__actions .btn { flex: 1; }
}
@media print { .fib-cookie { display: none !important; } }

/* ---------------- Admin: istatistikler (admin/analytics.php + ADM-STATS.js) ----------------
   Yalniz hala kullanilan siniflar: anl-bars, anl-empty, anl-chart, anl-tip, anl-ua, anl-perf-*.
   (ADMUI2: eski anl-toolbar/range/tabs/kpis/kpi/live/grid/card-sub/table-wrap/muted/path/pager/dl kaldirildi;
   .anl-kpi artik yalniz ANL.css'te — public sinav analizi.) */

/* Yatay cubuk listesi (tek renk, deger yazi rengiyle) */
.anl-bars { list-style: none; margin: 0; padding: 0; }
.anl-bars li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 6px 0; font-size: 13px; }
.anl-bars .lbl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--gray-800); }
.anl-bars .val { color: var(--gray-900); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.anl-bars .val small { color: var(--gray-600); font-weight: 400; margin-left: 6px; }
.anl-bars .bar { grid-column: 1 / -1; height: 6px; background: var(--gray-100); border-radius: 3px; overflow: hidden; }
.anl-bars .bar i { display: block; height: 100%; background: var(--primary); border-radius: 0 3px 3px 0; min-width: 2px; }
.anl-empty { color: var(--gray-600); font-size: 13px; padding: 8px 0; }

/* Sutun grafigi */
.anl-chart { position: relative; }
.anl-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.anl-chart .grid line { stroke: var(--gray-200); stroke-width: 1; }
.anl-chart .grid text, .anl-chart .xlab text { fill: var(--gray-600); font-size: 11px; }
.anl-chart rect.col { fill: var(--primary); }
.anl-chart rect.hit { fill: transparent; cursor: default; }
.anl-chart g.c:hover rect.col { fill: var(--primary-dark); }
.anl-tip {
    position: fixed; z-index: 1000; pointer-events: none; background: var(--gray-900); color: #fff;
    padding: 8px 10px; border-radius: 6px; font-size: 12px; line-height: 1.5; white-space: nowrap; box-shadow: var(--shadow-md);
}
.anl-tip[hidden] { display: none; }

.anl-ua { font-family: ui-monospace, Consolas, monospace; font-size: 12px; color: var(--gray-700); word-break: break-all; }

.anl-perf-good { color: var(--success); }
.anl-perf-ok { color: #b45309; }
.anl-perf-bad { color: var(--danger); }
.anl-perf-good::before, .anl-perf-ok::before, .anl-perf-bad::before { font-family: 'Font Awesome 6 Free', sans-serif; font-weight: 900; margin-right: 4px; font-size: 11px; }
.anl-perf-good::before { content: '\f00c'; }
.anl-perf-ok::before { content: '\f071'; }
.anl-perf-bad::before { content: '\f00d'; }



/* ==== ANL.css ==== */
/* ANL — deneme sinavi analizi (sonuc sayfasi + panel ozeti) ve yanlislarim defteri */

/* ---- Ortak ---- */
.anl-kpi {
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius);
    padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
/* ADMUI2: asagidaki box-shadow / margin-top / uppercase eskiden AN.css'teki admin .anl-kpi kuralindan sizan degerlerdi;
   AN.css'ten kaldirildi, gorunum ayni kalsin diye burada acikca yazildi. */
.anl-kpi { box-shadow: var(--shadow); }
.anl-kpi strong { display: block; margin-top: 4px; font-weight: 700; font-size: 24px; line-height: 1.2; color: var(--dark); font-variant-numeric: tabular-nums; }
.anl-kpi span { display: block; text-transform: uppercase; letter-spacing: .02em; font-size: 13px; color: var(--gray-700); overflow-wrap: anywhere; }
.anl-kpi-accent { background: var(--primary-light); border-color: #cfe6d5; }
.anl-kpi-accent strong { color: var(--primary); }

.anl-bar {
    position: relative; display: flex; height: 8px; border-radius: 999px;
    background: var(--gray-200); overflow: visible;
}
.anl-bar-c { display: block; height: 100%; background: var(--success); border-radius: 999px 0 0 999px; }
.anl-bar-w { display: block; height: 100%; background: #f28b82; }
.anl-bar-c:only-child { border-radius: 999px; }
.anl-bar-avg {
    position: absolute; top: -3px; width: 2px; height: 14px; margin-left: -1px;
    background: var(--dark); border-radius: 1px;
}

/* ---- Sonuc sayfasi analiz kutusu ---- */
.anl-box {
    background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow);
    padding: 24px; margin: 0 0 32px;
}
.anl-title { font-size: 20px; margin: 0 0 16px; display: flex; align-items: center; gap: 8px; }
.anl-title i { color: var(--primary); }
.anl-compare { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.anl-note { grid-column: span 2; align-self: center; margin: 0; color: var(--gray-700); font-size: 14px; }

.anl-study {
    border: 1px solid #f5c7a9; background: #fff6ef; border-radius: var(--radius);
    padding: 16px; margin-bottom: 20px;
}
.anl-study h3 { font-size: 16px; margin: 0 0 10px; display: flex; align-items: center; gap: 8px; color: #9a4a12; }
.anl-study ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.anl-study li {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
    background: var(--white); border-radius: var(--radius-sm); padding: 10px 12px;
}
.anl-study-name { font-weight: 700; color: var(--dark); flex: 1 1 160px; min-width: 0; overflow-wrap: anywhere; }
.anl-study-meta { font-size: 13px; color: var(--gray-700); }
.anl-study-link { font-size: 14px; font-weight: 600; color: var(--primary); text-decoration: none; white-space: nowrap; }
.anl-study-link:hover, .anl-study-link:focus-visible { text-decoration: underline; }
.anl-good { background: var(--primary-light); color: var(--primary-dark); border-radius: var(--radius); padding: 12px 16px; margin: 0 0 20px; }

.anl-sub { font-size: 16px; margin: 0 0 12px; }
.anl-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.anl-topic { border: 1px solid var(--gray-200); border-radius: var(--radius-sm); padding: 12px 14px; min-width: 0; }
.anl-topic-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.anl-topic-name { font-weight: 600; color: var(--dark); min-width: 0; overflow-wrap: anywhere; }
.anl-topic-pct { font-weight: 800; font-variant-numeric: tabular-nums; }
.anl-topic.is-strong .anl-topic-pct { color: var(--success); }
.anl-topic.is-weak .anl-topic-pct { color: var(--danger); }
.anl-topic.is-mid .anl-topic-pct { color: var(--warning); }
.anl-topic-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 8px; font-size: 12px; color: var(--gray-700); }
.anl-topic-meta .c { color: var(--success); }
.anl-topic-meta .w { color: var(--danger); }
.anl-topic-meta .a { margin-left: auto; }
.anl-strong-line { margin: 16px 0 0; font-size: 14px; color: var(--gray-800); }
.anl-strong-line i { color: #e3a008; }
.anl-actions { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }

/* ---- Ogrenci paneli ozeti ---- */
.anl-dash .card-header { flex-wrap: wrap; gap: 8px; }
.anl-dash-desc { margin: 0 0 12px; font-size: 14px; color: var(--gray-700); }
.anl-dash-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.anl-dash-list a {
    display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: baseline;
    padding: 12px 14px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm);
    text-decoration: none; color: inherit; min-width: 0;
}
.anl-dash-list a:hover, .anl-dash-list a:focus-visible { border-color: var(--primary); }
.anl-dash-name { font-weight: 600; color: var(--dark); min-width: 0; overflow-wrap: anywhere; }
.anl-dash-pct { font-weight: 800; color: var(--danger); font-variant-numeric: tabular-nums; }
.anl-dash-list .anl-bar { grid-column: 1 / -1; }
.anl-dash-list .anl-bar-c { background: var(--danger); }

/* ---- Yanlislarim defteri: kart tasarimi assets/css/mo/MSTK.css'e tasindi (public/mistakes.php,
   sinifi .mstk-*). Burada yalniz diger ANL sayfalariyla (analiz kutusu, panel ozeti) paylasilanlar kalir. */

/* ---- Tablet ---- */
@media (max-width: 900px) {
    .anl-dash-list { grid-template-columns: 1fr; }
}
/* ---- Telefon ---- */
@media (max-width: 640px) {
    .anl-box { padding: 16px; }
    .anl-compare { grid-template-columns: 1fr 1fr; }
    .anl-compare .anl-kpi-accent { grid-column: 1 / -1; }
    .anl-note { grid-column: 1 / -1; }
    .anl-topics { grid-template-columns: 1fr; }
    .anl-kpi strong { font-size: 20px; }
}


/* ==== AUTH.css ==== */
/* AUTH — kimlik dogrulama sayfalari (giris, kayit, mentor kaydi, sifremi unuttum, sifre sifirla).
   Sayfalar: public/login.php, register.php, mentor-register.php, forgot-password.php, reset-password.php.
   Kapsam: .auth-* (paylasilan, activate.php/complete-profile.php de kullanir — genel iyilestirmeler onlara da
   zararsizca yansir) ve yeni .authx-* (yalniz bu 5 sayfaya eklenen siniflar). style.css'e dokunulmadi;
   REG.css / FPW.css kurallari buraya tasindi (o dosyalarda "AUTH.css'e tasindi" notu birakildi). */

/* =========================================================================
   1) Ortak kart / form iskeleti (tum auth-* sayfalari, activate/complete-profile dahil)
   ========================================================================= */

.auth-card { padding: clamp(30px, 4vw, 48px) clamp(24px, 4vw, 44px); }

.auth-logo {
    width: 56px; height: 56px; margin: 0 auto 18px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; background: var(--primary-light);
    font-size: 22px; color: var(--primary);
}

.auth-header h2 {
    font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800;
    letter-spacing: -0.01em; font-size: clamp(21px, 2.6vw, 26px); line-height: 1.25;
    color: var(--dark);
}
.auth-header p { line-height: 1.55; margin-top: 6px; }

.authx .alert { margin: 0 0 20px; max-width: none; }

.authx-form .form-group { margin-bottom: 18px; }

/* Sifre alani: goster/gizle dugmesi metnin ustune binmesin */
.password-input input,
.mo-ui-pw input { padding-inline-end: 44px; }
.password-toggle {
    width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
    border-radius: 8px;
}
.password-toggle:hover { background: var(--gray-100); color: var(--gray-700); }

/* Alanin altinda hata metni (aria-describedby ile baglanir) */
.form-group.has-error input,
.form-group.has-error select { border-color: var(--danger); }
.authx-field-error {
    display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.45; color: var(--danger);
}

/* Sozlesme onaylari (moLegalFormFields) ve yedek "kosullari kabul ediyorum" kutusu */
.authx-form .lg-consents { display: flex; flex-direction: column; gap: 10px; margin: 2px 0 22px; }
.authx-form .lg-consent,
.authx-form .checkbox-label { align-items: flex-start; min-height: 24px; padding: 4px 0; }
.authx-form .lg-consent input,
.authx-form .checkbox-label input { margin-top: 2px; flex-shrink: 0; }
.authx-form .lg-consent-info {
    display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--gray-600);
    background: var(--gray-50); border-radius: var(--radius-sm); padding: 10px 12px; margin: 2px 0 22px;
}
.authx-form .lg-consent-info i { color: var(--primary); margin-top: 2px; }

/* Gonder dugmesi: yukleniyor durumu (AUTH.js ikon degistirir, burada sadece gorunum) */
.authx-submit { position: relative; gap: 10px; }
.authx-submit[disabled] { opacity: 0.85; cursor: progress; }
.authx-submit .fa-spinner { animation: authx-spin 0.7s linear infinite; }
@keyframes authx-spin { to { transform: rotate(360deg); } }

/* Alt baglantilar: kayit ol / giris yap / mentor-ogrenci gecisleri, daha ferah ve dokunma dostu */
.authx-form ~ .auth-footer,
.auth-footer { display: flex; flex-direction: column; gap: 10px; }
.auth-footer p { margin: 0; }
.auth-footer a { display: inline-flex; align-items: center; gap: 6px; padding: 4px 2px; min-height: 28px; }

/* Ogretmen/koc icin "Mentor olarak kaydol" seridi (login/register: formun ustunde, basligin altinda).
   Tek kaynak burasi (F0.css'teki eski kural kaldirildi). */
.mo-mentor-register-link {
    display: flex; align-items: center; gap: 10px;
    margin: 0 0 20px; padding: 11px 14px;
    background: var(--primary-light); color: var(--gray-700);
    border: 1px solid rgba(50, 131, 74, 0.18); border-inline-start: 4px solid var(--primary);
    border-radius: var(--radius-sm);
    font-size: 14px; line-height: 1.45; text-align: start;
}
.mo-mentor-register-link > i { flex-shrink: 0; font-size: 17px; color: var(--primary); }
.mo-mentor-register-link > span { min-width: 0; overflow-wrap: anywhere; }
.mo-mentor-register-link a {
    font-weight: 700; color: var(--primary-dark);
    text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
    white-space: nowrap;
}
.mo-mentor-register-link a::after { content: " \2192"; }
[dir="rtl"] .mo-mentor-register-link a::after { content: " \2190"; }
.mo-mentor-register-link a:hover,
.mo-mentor-register-link a:focus-visible { color: var(--primary); text-decoration-thickness: 2px; }

.form-row { margin-bottom: 18px; }
.form-row .checkbox-label { min-height: 44px; }
.form-row .form-link { padding: 10px 2px; min-height: 44px; display: inline-flex; align-items: center; }

/* =========================================================================
   2) Ikili panel (login / register / mentor-register) — .authx--split
   ========================================================================= */

.authx--split .auth-container {
    display: grid; grid-template-columns: minmax(0, 420px) 1fr; align-items: stretch;
    max-width: 1000px; border-radius: var(--radius-lg); box-shadow: 0 24px 70px rgba(16, 51, 29, 0.14);
}
.authx--split.authx--wide .auth-container { grid-template-columns: minmax(0, 460px) 1fr; max-width: 1080px; }

.authx--split .auth-card { display: flex; flex-direction: column; justify-content: center; }

/* Marka paneli: koyu zemin, buyume dizisi (1 2 3 5 8 13 21) dekoru, sol hizali icerik */
.authx-side {
    position: relative; overflow: hidden; isolation: isolate;
    background: linear-gradient(155deg, var(--primary-dark) 0%, var(--dark-2) 72%);
    color: #fff; display: flex; align-items: center; padding: clamp(32px, 4vw, 52px);
}
/* Sag/bitis kenarinda sabit bir bosluk (authx-decor icin): dilden/yazi tipinden bagimsiz,
   basligin (max-width olmadan tam genislige yayilabilen tek eleman) dekora degmesini onler. */
.authx-side .auth-side-content { text-align: start; width: 100%; position: relative; z-index: 1; padding-inline-end: 100px; }
.authx-side h2 {
    font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800; letter-spacing: -0.015em;
    font-size: clamp(23px, 2.6vw, 30px); line-height: 1.2; margin-bottom: 10px;
}
.authx-side p { color: #d7e7db; font-size: 15px; line-height: 1.6; max-width: 34ch; }

.authx-side .auth-features { margin-top: 26px; display: flex; flex-direction: column; gap: 4px; }
.authx-side .auth-features li { font-size: 14.5px; color: #eaf4ec; padding: 7px 0; }
.authx-side .auth-features i { color: #7cd39a; font-size: 15px; }

.authx-side .auth-stats {
    display: flex; gap: 0; justify-content: flex-start; margin-top: 30px; padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.authx-side .auth-stat { padding-inline-end: 22px; text-align: start; }
.authx-side .auth-stat + .auth-stat { padding-inline-start: 22px; border-inline-start: 1px solid rgba(255, 255, 255, 0.16); }
.authx-side .auth-stat strong {
    font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800; font-size: 24px; line-height: 1; color: #fff;
}
.authx-side .auth-stat span { display: block; margin-top: 6px; font-size: 11.5px; color: #b9dcc3; }

/* Dekor: Fibonacci buyume dizisi — sayfaya gore anlam tasiyan tek "cesur" gorsel oge, geri kalan sade */
.authx-decor { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.authx-decor span {
    position: absolute; display: flex; align-items: center; justify-content: center; border-radius: 50%;
    font-family: 'Manrope', sans-serif; font-weight: 700; color: rgba(255, 255, 255, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 72%);
}
/* Sagdaki dar seride (~son %25) dizilir: solundaki baslik/madde metniyle kesismesin */
.authx-decor .n1 { inset-inline-end: 20%; top: 4%; width: 18px; height: 18px; font-size: 8px; }
.authx-decor .n2 { inset-inline-end: 6%; top: 14%; width: 24px; height: 24px; font-size: 10px; }
.authx-decor .n3 { inset-inline-end: 24%; top: 24%; width: 30px; height: 30px; font-size: 12px; }
.authx-decor .n5 { inset-inline-end: 6%; top: 36%; width: 42px; height: 42px; font-size: 14px; }
.authx-decor .n8 { inset-inline-end: 20%; top: 38%; width: 54px; height: 54px; font-size: 16px; }
.authx-decor .n13 { inset-inline-end: 2%; top: 72%; width: 64px; height: 64px; font-size: 18px; }
.authx-decor .n21 { inset-inline-end: -8%; bottom: -10%; width: 132px; height: 132px; font-size: 28px; }

/* =========================================================================
   3) Tek kart (sifremi unuttum / sifre sifirla) — .authx--solo (fpw-page)
   ========================================================================= */

.fpw-page .auth-container { grid-template-columns: 1fr; max-width: 440px; }
.fpw-page .auth-card { padding-top: clamp(34px, 5vw, 48px); }
.fpw-page .form-group input { font-size: 16px; } /* iOS Safari: 16px alti alanlar sayfayi yakinlastirir */
.fpw-invalid .alert { margin-bottom: 16px; }

/* =========================================================================
   4) REG2 — okul/sehir zorunlu, formda dogrudan gorunur (eski acilir .reg-more bolumu kaldirildi)
   ========================================================================= */

/* =========================================================================
   5) Cerez bandi formu ortmesin (AN.css .fib-cookie: fixed, left/right 16px, bottom 16px).
   Sayfa geneline pay birakmanin yanisira dar ekranlarda dusey ritmi sikilastirip formun
   (ozellikle uzun kayit formunun) ilk acilista bandin arkasinda kalma olasiligini azaltir.
   ========================================================================= */

@media (max-width: 900px) {
    .authx.auth-section { padding-bottom: 108px; }
    .authx .auth-header { margin-bottom: 18px; }
    .authx .auth-logo { width: 44px; height: 44px; font-size: 18px; margin-bottom: 12px; }
    .authx-form .form-group { margin-bottom: 14px; }
    .authx-form { margin-bottom: 16px; }
}

/* =========================================================================
   6) Mobil: marka paneli kisa ust seride doner (kart altta), tek sutun
   ========================================================================= */

@media (max-width: 900px) {
    .authx--split .auth-container {
        display: grid; grid-template-columns: 1fr; grid-template-areas: "side" "card";
        max-width: 480px; box-shadow: 0 10px 34px rgba(16, 51, 29, 0.1);
    }
    .authx--split .auth-card { grid-area: card; justify-content: flex-start; }
    .authx--split .authx-side { grid-area: side; padding: 20px 24px 18px; }
    .authx-side .auth-side-content { padding-inline-end: 46px; }
    .authx-side .auth-features,
    .authx-side .auth-stats { display: none; }
    .authx-side p { max-width: none; font-size: 13.5px; }
    .authx-side h2 { font-size: 19px; margin-bottom: 4px; }
    .authx-decor .n13, .authx-decor .n21 { display: none; }
    .authx-decor .n8 { inset-inline-end: -6%; top: 30%; opacity: 0.7; }
}

@media (max-width: 480px) {
    .authx-side p { display: none; }
    .authx-side { padding: 16px 22px; }
}

/* =========================================================================
   7) RTL (ar, fa, ur) — konumlar `inset-inline-*` / `padding-inline-*` ile zaten
   otomatik aynalanir (A11Y.css .password-toggle'i de ayrica halleder); ek kural gerekmedi.
   ========================================================================= */


/* ==== AVATAR.css ==== */
/* AVATAR — profil sayfasi fotograf karti + listelerdeki yuvarlak kutularda foto */
.av-card { margin-bottom: 20px; padding-top: 28px; padding-bottom: 28px; }
.av-title { margin: 0 0 14px; font-size: 17px; }
.av-title i { color: var(--primary); margin-inline-end: 4px; }
.av-row { display: flex; align-items: center; gap: 24px; }
.av-preview { flex: 0 0 auto; }
.av-preview .f1-avatar { width: 96px; height: 96px; box-shadow: 0 0 0 3px var(--white), 0 0 0 5px var(--primary-light, #e0e7ff); }
.av-body { min-width: 0; flex: 1 1 auto; }
.av-hint { margin: 0 0 12px; color: var(--gray-600, #6b7280); font-size: 14px; line-height: 1.5; }
.av-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.av-actions .btn { margin: 0; }
.av-pick { cursor: pointer; }
.av-pick:focus-within { outline: 2px solid var(--primary); outline-offset: 2px; }
/* JS varsa kirpma sonrasi otomatik gonderilir; yukle dugmesi yalnizca JS'siz yedek */
.av-upload[disabled] { display: none; }
.av-remove { color: var(--danger, #dc2626); border-color: currentColor; }
.av-status { display: block; margin-top: 8px; overflow-wrap: anywhere; }
.av-status:empty { display: none; }

@media (max-width: 600px) {
    .av-card { padding: 20px 16px; }
    .av-row { flex-direction: column; text-align: center; gap: 14px; }
    .av-actions { justify-content: center; }
    .av-actions .btn { flex: 1 1 auto; justify-content: center; }
}

/* Mevcut bas harf kutulari (f2-avatar, f4-avatar): foto varsa kutuyu doldurur */
.f2-avatar, .f4-avatar { overflow: hidden; }
.f2-avatar > .av-img, .f4-avatar > .av-img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }


/* ==== BDGPRM.css ==== */
/* BDGPRM - rozetler sayfasi (public/badges.php) premium duzeni. Tum kurallar .bdgprm kokuyle kapsamli.
   Kazanilmis/kilitli ayrimi renge dayanmaz: ayri bolumler, dolu/kesikli cerceve, ikon (onay/kilit) ve metin etiketi.
   Hareket yok (parilti yok); mantiksal ozellikler (RTL). */
.bdgprm {
    --bd-tint: #f1f6f2; --bd-line: #d6e3d9; --bd-text: #4a554e; --bd-r: 16px; --bd-r-sm: 10px;
    --bd-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px;
}
.bdgprm .container { max-width: 960px; }
.bdgprm a:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }

.bdgprm .bdgprm-hero { padding: clamp(40px, 6vw, 72px) 0 clamp(32px, 4vw, 48px); background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%); color: #fff; }
.bdgprm .bdgprm-hero h1 { font-family: var(--bd-display); font-weight: 800; color: #fff; margin: 0 0 16px; text-align: start; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; letter-spacing: -0.035em; }
.bdgprm .bdgprm-hero p { margin: 0 0 28px; max-width: 52ch; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; color: rgba(255, 255, 255, 0.84); }
.bdgprm .bdgprm-summary { max-inline-size: 460px; }
.bdgprm .bdgprm-count { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; color: rgba(255, 255, 255, 0.84); font-size: 15px; font-variant-numeric: tabular-nums; }
.bdgprm .bdgprm-count strong { font-family: var(--bd-display); font-size: 40px; line-height: 1; font-weight: 800; color: #fff; }

.bdgprm .bdgprm-bar { display: block; inline-size: 100%; block-size: 8px; background: #e3ece6; border-radius: 999px; overflow: hidden; }
.bdgprm .bdgprm-bar-lg { block-size: 10px; background: rgba(255, 255, 255, 0.2); }
.bdgprm .bdgprm-bar-fill { display: block; block-size: 100%; background: var(--primary); border-radius: 999px; }
.bdgprm .bdgprm-bar-lg .bdgprm-bar-fill { background: #fff; }

.bdgprm .bdgprm-body { background: var(--bd-tint); padding: clamp(28px, 4vw, 40px) 0 clamp(40px, 5vw, 56px); }
.bdgprm .bdgprm-h { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-family: var(--bd-display); font-weight: 800; font-size: 20px; letter-spacing: -0.02em; color: var(--dark); text-align: start; }
.bdgprm .bdgprm-h span { font-family: inherit; font-size: 13px; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--bd-line); color: var(--bd-text); font-variant-numeric: tabular-nums; }
.bdgprm .bdgprm-grid { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.bdgprm .bdgprm-empty { margin: 0 0 40px; padding: 20px 24px; background: #fff; border: 1px dashed var(--bd-line); border-radius: var(--bd-r); color: var(--bd-text); line-height: 1.6; }

.bdgprm .bdgprm-card { display: flex; gap: 16px; align-items: flex-start; padding: 20px; background: #fff; border: 1px solid var(--bd-line); border-radius: var(--bd-r); min-inline-size: 0; }
.bdgprm .bdgprm-card.is-locked { background: transparent; border-style: dashed; }
.bdgprm .bdgprm-icon { flex: none; inline-size: 52px; block-size: 52px; display: grid; place-items: center; border-radius: 50%; font-size: 22px; background: var(--primary-dark); color: #fff; }
.bdgprm .bdgprm-card.is-locked .bdgprm-icon { background: #fff; color: #5d6a62; border: 2px dashed #9fb0a5; }
.bdgprm .bdgprm-main { min-inline-size: 0; flex: 1; }
.bdgprm .bdgprm-card h3 { margin: 0 0 4px; font-family: var(--bd-display); font-size: 17px; font-weight: 800; letter-spacing: -0.01em; color: var(--dark); text-align: start; overflow-wrap: anywhere; }
.bdgprm .bdgprm-card p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--bd-text); text-align: start; }
.bdgprm .bdgprm-state { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.bdgprm .bdgprm-state.is-earned { background: #e3f1e7; color: #14532d; }
.bdgprm .bdgprm-state.is-locked { background: #fff; border: 1px solid var(--bd-line); color: #4a554e; }
.bdgprm .bdgprm-date { font-weight: 500; font-variant-numeric: tabular-nums; }
.bdgprm .bdgprm-prog { margin-top: 12px; }
.bdgprm .bdgprm-prog-text { display: block; margin-bottom: 6px; font-size: 13px; color: var(--bd-text); font-variant-numeric: tabular-nums; }

@media (max-width: 480px) {
    .bdgprm .bdgprm-card { padding: 16px; gap: 12px; }
    .bdgprm .bdgprm-icon { inline-size: 44px; block-size: 44px; font-size: 18px; }
}

/* ilerleme cubugu genislikleri (satir ici style yerine) */
.bdgprm .bdgprm-w0 { inline-size: 0%; }
.bdgprm .bdgprm-w5 { inline-size: 5%; }
.bdgprm .bdgprm-w10 { inline-size: 10%; }
.bdgprm .bdgprm-w15 { inline-size: 15%; }
.bdgprm .bdgprm-w20 { inline-size: 20%; }
.bdgprm .bdgprm-w25 { inline-size: 25%; }
.bdgprm .bdgprm-w30 { inline-size: 30%; }
.bdgprm .bdgprm-w35 { inline-size: 35%; }
.bdgprm .bdgprm-w40 { inline-size: 40%; }
.bdgprm .bdgprm-w45 { inline-size: 45%; }
.bdgprm .bdgprm-w50 { inline-size: 50%; }
.bdgprm .bdgprm-w55 { inline-size: 55%; }
.bdgprm .bdgprm-w60 { inline-size: 60%; }
.bdgprm .bdgprm-w65 { inline-size: 65%; }
.bdgprm .bdgprm-w70 { inline-size: 70%; }
.bdgprm .bdgprm-w75 { inline-size: 75%; }
.bdgprm .bdgprm-w80 { inline-size: 80%; }
.bdgprm .bdgprm-w85 { inline-size: 85%; }
.bdgprm .bdgprm-w90 { inline-size: 90%; }
.bdgprm .bdgprm-w95 { inline-size: 95%; }
.bdgprm .bdgprm-w100 { inline-size: 100%; }


/* ==== CMPPRM.css ==== */
/* CMPPRM - kampanyalar sayfasi (public/campaigns.php) premium duzeni. Tum kurallar .cmpprm kokuyle kapsamli.
   WALLET.css'in .wlt-* kurallari my-coupons ile ortak; burada yalniz bu sayfada ustune yazilir.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */
.cmpprm {
    --cp-tint: #f1f6f2; --cp-line: #d6e3d9; --cp-ink: var(--dark); --cp-text: #4a554e;
    --cp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px;
}
.cmpprm a:focus-visible, .cmpprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 8px; }
.cmpprm .cmpprm-hero a:focus-visible { outline-color: #fff; }

.cmpprm .cmpprm-hero { padding: clamp(36px, 5vw, 60px) 0 clamp(36px, 5vw, 56px); background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%); color: #fff; }
.cmpprm .cmpprm-hero .container { max-width: 960px; }
.cmpprm .cmpprm-hero h1 { margin: 0 0 12px; font-family: var(--cp-display); font-weight: 800; color: #fff; font-size: clamp(32px, 4.6vw, 52px); line-height: 1.05; letter-spacing: -0.03em; text-align: start; }
.cmpprm .cmpprm-hero p { margin: 0; max-width: 56ch; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.6; color: rgba(255, 255, 255, .84); }

.cmpprm .cmpprm-body { background: var(--cp-tint); padding: clamp(24px, 4vw, 40px) 0 clamp(56px, 7vw, 88px); }
.cmpprm .wlt-wrap { max-width: 960px; }

.cmpprm .wlt-crosslink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; margin-bottom: 20px; border-radius: 999px; background: #fff; border: 1px solid var(--cp-line); color: var(--primary-dark); font-weight: 700; text-decoration: none; }
.cmpprm .wlt-crosslink:hover { border-color: var(--primary); background: #fff; }

.cmpprm .wlt-cmp-list { gap: 16px; }
.cmpprm .wlt-cmp { grid-template-columns: minmax(0, 1fr) 320px; border: 1px solid var(--cp-line); border-radius: 16px; box-shadow: none; background: #fff; transition: border-color .2s; }
.cmpprm .wlt-cmp:hover { border-color: #9cc4aa; }
.cmpprm .wlt-cmp-body { padding: 24px 28px; gap: 10px; }
.cmpprm .wlt-scope { font-size: 14px; font-weight: 700; color: var(--primary-dark); }
.cmpprm .wlt-scope i { margin-top: 2px; }
.cmpprm .wlt-cmp-title { font-family: var(--cp-display); font-weight: 800; font-size: clamp(20px, 2.2vw, 24px); letter-spacing: -0.02em; color: var(--cp-ink); }
.cmpprm .wlt-cmp-desc { color: var(--cp-text); line-height: 1.6; }
.cmpprm .wlt-exp { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 4px; font-size: 14px; color: var(--cp-text); font-variant-numeric: tabular-nums; }
.cmpprm .wlt-exp i { color: var(--gray-500); margin: 0; }
.cmpprm .cmpprm-left { padding: 3px 10px; border-radius: 999px; background: var(--primary-light); color: var(--primary-dark); font-size: 13px; font-weight: 800; }
.cmpprm .cmpprm-left.is-urgent { background: #fef3c7; color: #92400e; }

.cmpprm .wlt-cmp-side { background: var(--cp-tint); border-inline-start: 1px solid var(--cp-line); padding: 24px 28px; min-width: 250px; gap: 8px; }
.cmpprm .wlt-amount { font-family: var(--cp-display); font-size: clamp(30px, 3.6vw, 38px); font-weight: 800; letter-spacing: -0.03em; color: var(--primary-dark); }
.cmpprm .wlt-off { color: var(--cp-text); }
.cmpprm .wlt-code-row { margin-top: 4px; }
.cmpprm .wlt-code { font-size: 15px; letter-spacing: .02em; border: 1px dashed #9cc4aa; border-radius: 8px; background: #fff; }
.cmpprm .wlt-copy { border-radius: 8px; border-color: var(--cp-line); }
.cmpprm .wlt-copy:hover { border-color: var(--primary); color: var(--primary-dark); }
.cmpprm .wlt-use { border-radius: 8px; min-height: 44px; }

.cmpprm .wlt-empty { max-width: 520px; margin: 8px auto; padding: 40px 24px; background: #fff; border: 1px solid var(--cp-line); border-radius: 16px; }
.cmpprm .wlt-empty-icon { background: var(--primary-light); }
.cmpprm .wlt-empty h2 { font-family: var(--cp-display); font-weight: 800; }

@media (max-width: 720px) {
    .cmpprm .wlt-cmp { grid-template-columns: minmax(0, 1fr); }
    .cmpprm .wlt-cmp-body { padding: 20px 18px 16px; }
    .cmpprm .wlt-cmp-side { min-width: 0; max-width: none; padding: 16px 18px 20px; border-inline-start: 0; border-top: 1px solid var(--cp-line); }
    .cmpprm .wlt-cmp-side .wlt-use { align-self: stretch; justify-content: center; }
    .cmpprm .wlt-crosslink { display: flex; }
}
@media (prefers-reduced-motion: reduce) { .cmpprm .wlt-cmp { transition: none; } }


/* ==== COM.css ==== */
/* COM — indirim kuponu, sinav paketleri, makbuz, admin odeme ekleri */

/* Kupon kutusu (odeme sayfalari) */
.com-coupon { margin: 0 0 18px; }
.com-coupon-label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.com-coupon-row { display: flex; gap: 8px; }
.com-coupon-row input { flex: 1 1 auto; min-width: 0; text-transform: uppercase; letter-spacing: .04em; }
.com-coupon-row .btn { flex: 0 0 auto; }
.com-coupon-applied { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; background: var(--primary-light); border: 1px dashed var(--primary); border-radius: var(--radius-sm, 8px); padding: 10px 12px; }
.com-coupon-tag { font-weight: 700; color: var(--primary-dark); letter-spacing: .04em; overflow-wrap: anywhere; }
.com-coupon-off { font-weight: 700; color: var(--success); margin-right: auto; }
.com-was { font-size: 14px; color: var(--gray-600); }
.com-was-inline { color: var(--gray-500); font-weight: 400; font-size: .85em; }
.com-free { text-align: center; }
.com-free p { color: var(--gray-700); margin: 0 0 12px; }
.com-pkg-use { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm, 8px); padding: 12px; margin: 0 0 16px; }
.com-pkg-use p { margin: 0 0 10px; font-weight: 600; color: var(--dark); }
.com-pkg-hint { font-size: 14px; margin: 0 0 14px; }

/* Paketler */
.com-page { padding: 32px 0 56px; }
.com-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 16px; color: var(--gray-700); text-decoration: none; }
.com-back:hover { color: var(--primary); }
.com-muted { color: var(--gray-600); }
.com-small { font-size: 13px; }
.com-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.com-note { background: var(--gray-50); border-left: 3px solid var(--info); padding: 10px 12px; border-radius: var(--radius-sm, 8px); font-size: 14px; margin: 0 0 12px; }
.com-note-warn { border-left-color: var(--warning); background: #fffbeb; }
.com-empty { text-align: center; padding: 48px 16px; color: var(--gray-600); }
.com-empty i { font-size: 40px; color: var(--gray-400); margin-bottom: 12px; display: block; }
.com-credits { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; background: var(--primary-light); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 20px; font-weight: 600; color: var(--primary-dark); }
.com-credits .btn { margin-left: auto; }
.com-pkg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; margin-bottom: 28px; }
.com-pkg-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.com-pkg-card h2 { font-size: 18px; margin: 0; color: var(--dark); overflow-wrap: anywhere; }
.com-pkg-card p { margin: 0; }
.com-pkg-count { font-weight: 600; color: var(--primary); }
.com-pkg-price { font-size: 24px; font-weight: 800; color: var(--dark); margin: auto 0 8px; padding-top: 8px; }
.com-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.com-pkg-name { font-size: 20px; margin: 0 0 6px; overflow-wrap: anywhere; }
.com-total { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 14px 0; margin-top: 8px; border-top: 1px solid var(--gray-200); font-size: 15px; }
.com-total strong { font-size: 20px; }
.com-my { margin-top: 8px; }
.com-table-wrap { overflow-x: auto; }
.com-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.com-table th, .com-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--gray-100); vertical-align: top; }
.com-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--gray-600); }
.com-badge { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 999px; margin-left: 6px; }
.com-badge-ok { background: #ecfdf5; color: var(--success); }
.com-badge-warn { background: #fffbeb; color: var(--warning); }
.com-badge-muted { background: var(--gray-100); color: var(--gray-700); }

/* Makbuz */
.com-rc-actions { display: flex; justify-content: flex-end; max-width: 760px; margin: 0 auto 12px; }
.com-rc { max-width: 760px; margin: 0 auto; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 28px; }
.com-rc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; padding-bottom: 18px; margin-bottom: 8px; border-bottom: 2px solid var(--primary); }
.com-rc-brand { font-size: 18px; font-weight: 800; color: var(--primary-dark); }
.com-rc-title { text-align: right; }
.com-rc-title h1 { font-size: 22px; margin: 0; }
.com-rc-no { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--gray-700); margin: 2px 0 6px; }
.com-rc-title .com-badge { margin-left: 0; }
.com-rc-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.com-rc-table th, .com-rc-table td { padding: 10px 4px; border-bottom: 1px solid var(--gray-100); text-align: left; vertical-align: top; }
.com-rc-table th { width: 38%; font-weight: 500; color: var(--gray-600); }
.com-rc-table td { font-weight: 600; color: var(--dark); overflow-wrap: anywhere; }
.com-rc-foot { margin: 16px 0 0; }

/* Admin */
.com-adm-head { flex-wrap: wrap; gap: 10px; }
.com-adm-links { display: flex; flex-wrap: wrap; gap: 8px; }
.com-adm-card { margin-bottom: 20px; }
.com-adm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 16px; }
.com-adm-grid small { color: var(--gray-600); font-size: 12px; }
.com-adm-check { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 14px; font-weight: 600; }
.com-adm-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.com-adm-scroll { overflow-x: auto; }
.com-adm-off td { opacity: .6; }
.com-adm-row-actions { white-space: nowrap; }
.com-adm-row-actions > * { vertical-align: middle; }
.com-adm-filter { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.com-adm-filter .form-group { margin: 0; }
.com-upper { text-transform: uppercase; }
.com-inline { display: inline-block; margin: 0; }

@media (max-width: 900px) {
    .com-checkout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .com-page { padding: 20px 0 40px; }
    .com-rc { padding: 18px 14px; }
    .com-rc-title { text-align: left; }
    .com-rc-table th { width: auto; display: block; padding-bottom: 0; border-bottom: 0; }
    .com-rc-table td { display: block; padding-top: 2px; }
    .com-rc-table tr { display: block; border-bottom: 1px solid var(--gray-100); }
    .com-coupon-row { flex-direction: column; }
    .com-credits .btn { margin-left: 0; }
    .com-table thead { display: none; }
    .com-table tr { display: block; border-bottom: 1px solid var(--gray-200); padding: 8px 0; }
    .com-table td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 4px 0; text-align: right; }
    .com-table td[data-label]::before { content: attr(data-label); font-weight: 600; color: var(--gray-600); text-align: left; }
    .com-table td:last-child { justify-content: flex-end; }
}

/* Yazdirma: yalnizca makbuz */
@media print {
    .main-header, .hd, .main-footer, .no-print, .page-header-section, .cookie-banner, #cookieBanner, .tour-launcher { display: none !important; }
    body { background: #fff !important; }
    .com-page { padding: 0; }
    .com-rc { border: 0; padding: 0; max-width: none; }
    .com-rc-table th, .com-rc-table td { padding: 6px 2px; }
    a[href]::after { content: none !important; }
}


/* ==== COMM.css ==== */
/* COMM — duyurular, destek talepleri, yardim merkezi (SSS). Kullanici + admin sayfalari. */

.comm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.comm-page { overflow-wrap: anywhere; }
.comm-h2 { font-size: 1.15rem; margin: 0; }
.comm-muted { color: var(--gray-600); font-size: 13px; }
.comm-note { color: var(--gray-700); font-size: 14px; margin: 8px 0; }
.comm-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.comm-actions form { margin: 0; }
.comm-back { color: var(--gray-700); font-size: 14px; text-decoration: none; }
.comm-back:hover { color: var(--primary); }
.comm-card { padding: 20px; margin-bottom: 16px; }
.comm-card .comm-h2 { margin-bottom: 12px; }
.comm-alert { margin: 0 0 12px; }
.comm-form textarea { resize: vertical; min-height: 96px; }
.comm-hint { background: var(--primary-light); border-radius: 8px; padding: 10px 12px; font-size: 14px; margin: 8px 0 12px; }
.comm-hint a { font-weight: 600; white-space: nowrap; }
.comm-intro p { margin: 0 0 8px; color: var(--gray-800); }

/* Rozetler */
.comm-badge { display: inline-block; font-size: 12px; font-weight: 600; line-height: 1; padding: 5px 9px; border-radius: 999px; white-space: nowrap; }
.comm-badge.is-waiting { background: #fef3c7; color: #92400e; }
.comm-badge.is-answered { background: var(--primary-light); color: var(--primary-dark); }
.comm-badge.is-closed { background: var(--gray-100); color: var(--gray-700); }
.comm-badge.is-new { background: var(--primary); color: #fff; }

/* Talep listesi */
.comm-toolbar { margin-top: 16px; }
.comm-ticket-list { list-style: none; margin: 0; padding: 0; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); overflow: hidden; }
.comm-ticket + .comm-ticket { border-top: 1px solid var(--gray-200); }
.comm-ticket a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; color: inherit; text-decoration: none; }
.comm-ticket a:hover, .comm-ticket a:focus-visible { background: var(--gray-50); }
.comm-ticket-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.comm-ticket-main strong { font-weight: 600; overflow-wrap: anywhere; }
.comm-ticket-main small { color: var(--gray-600); font-size: 13px; }
.comm-ticket.is-unread { box-shadow: inset 4px 0 0 var(--primary); }
.comm-ticket.is-unread strong { font-weight: 700; }
.comm-ticket.is-closed .comm-ticket-main strong { color: var(--gray-700); }

/* Konusma */
.comm-thread-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.comm-thread-head .comm-h2, .comm-thread-head .comm-admin-title { overflow-wrap: anywhere; min-width: 0; }
.comm-thread-meta { display: flex; align-items: center; gap: 8px; color: var(--gray-600); font-size: 13px; }
.comm-thread { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.comm-msg { max-width: 88%; border-radius: 14px; padding: 12px 14px; border: 1px solid var(--gray-200); background: var(--white); }
.comm-msg.is-mine { align-self: flex-end; background: var(--primary-light); border-color: #cfe6d5; }
.comm-msg.is-team { align-self: flex-start; }
.comm-msg-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; font-size: 13px; margin-bottom: 6px; }
.comm-msg-head time { color: var(--gray-600); }
.comm-msg-body { font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.comm-msg-body a, .comm-ann-body a, .comm-faq-answer a { word-break: break-all; }
.comm-close-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--gray-200); text-align: right; }
.comm-closed-note { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 16px; border-radius: var(--radius); background: var(--gray-100); color: var(--gray-800); }
.comm-closed-note .btn { margin-left: auto; }

/* Duyuru karti */
.comm-ann-card { margin-bottom: 24px; }
.comm-ann-card .card-body { display: flex; flex-direction: column; gap: 0; }
.comm-ann { padding: 14px 0; scroll-margin-top: 90px; }
.comm-ann + .comm-ann { border-top: 1px solid var(--gray-200); }
.comm-ann header { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 6px; }
.comm-ann h4 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; min-width: 0; }
.comm-ann time { margin-left: auto; color: var(--gray-600); font-size: 13px; }
.comm-ann-body { color: var(--gray-800); font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.comm-ann:target { background: var(--primary-light); border-radius: 8px; padding-left: 10px; padding-right: 10px; }
.comm-ann-more summary { cursor: pointer; list-style: none; color: var(--gray-800); line-height: 1.55; }
.comm-ann-more summary::-webkit-details-marker { display: none; }
.comm-ann-toggle { color: var(--primary); font-weight: 600; white-space: nowrap; }
.comm-ann-more[open] summary { display: none; }
.comm-ann-preview { padding: 0; }

/* SSS */
.comm-faq-hero p { margin: 6px 0 0; opacity: .85; }
.comm-faq-search { display: flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--gray-300); border-radius: 999px; padding: 6px 6px 6px 16px; margin-bottom: 14px; }
.comm-faq-search:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .15); }
.comm-faq-search > i { color: var(--gray-500); }
.comm-faq-search input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 16px; background: transparent; padding: 6px 0; }
.comm-faq-search .btn { border-radius: 999px; }
.comm-faq-cats, .comm-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.comm-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--gray-300); background: var(--white); color: var(--gray-800); font-size: 14px; text-decoration: none; }
.comm-chip span { font-size: 12px; color: var(--gray-600); }
.comm-chip:hover { border-color: var(--primary); color: var(--primary); }
.comm-chip.is-active { background: var(--primary); border-color: var(--primary); color: #fff; }
.comm-chip.is-active span { color: rgba(255, 255, 255, .85); }
.comm-faq-cat-title { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--gray-600); margin: 22px 0 8px; }
.comm-faq-cat-title:first-child { margin-top: 0; }
.comm-faq-item { background: var(--white); border: 1px solid var(--gray-200); border-radius: 10px; margin-bottom: 8px; scroll-margin-top: 90px; }
.comm-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; font-weight: 600; list-style: none; }
.comm-faq-item summary::-webkit-details-marker { display: none; }
.comm-faq-item summary span { overflow-wrap: anywhere; min-width: 0; }
.comm-faq-item summary i { color: var(--gray-500); transition: transform .15s; flex-shrink: 0; }
.comm-faq-item[open] summary i { transform: rotate(180deg); }
.comm-faq-item summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 10px; }
.comm-faq-answer { padding: 0 16px 16px; color: var(--gray-800); line-height: 1.6; overflow-wrap: anywhere; }
.comm-faq-none { padding: 32px 16px; }
.comm-faq-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 28px; padding: 18px 20px; border-radius: var(--radius); background: var(--primary-light); }
.comm-faq-contact > div { flex: 1 1 280px; }
.comm-faq-contact p { margin: 4px 0 0; color: var(--gray-700); font-size: 14px; }
.comm-page [hidden], .comm-admin-form [hidden], [data-comm-progress][hidden] { display: none !important; }

/* Admin */
.comm-admin-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.comm-admin-title { font-size: 1.2rem; margin: 0 0 8px; }
.comm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 4px 16px; }
.comm-inline { display: flex; align-items: center; gap: 8px; }
.comm-inline select { flex: 1; min-width: 0; }
.comm-check { display: flex; align-items: center; gap: 8px; font-weight: 600; margin-top: 28px; }
.comm-lang-block { border: 1px solid var(--gray-200); border-radius: 10px; padding: 10px 12px 12px; margin: 0 0 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.comm-lang-block legend { font-size: 13px; font-weight: 700; padding: 0 6px; color: var(--gray-700); }
.comm-lang-block.is-filled { border-color: #bfdcc7; }
.comm-more-langs { margin-top: 8px; }
.comm-more-langs > summary { cursor: pointer; font-weight: 600; padding: 8px 0 12px; color: var(--primary); }
.comm-table-wrap { overflow-x: auto; }
.comm-admin-table td { vertical-align: top; }
.comm-admin-table small { display: inline-block; }
.comm-row-new td { font-weight: 600; background: #fffbeb; }
.comm-row-off td { opacity: .6; }
.comm-row-actions { white-space: nowrap; }
.comm-row-actions form { display: inline-block; margin: 0; }
.comm-kv th { width: 180px; text-align: left; }
.comm-filter-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.comm-filter-bar .comm-tabs { margin: 0; }
.comm-admin-search { display: flex; gap: 6px; flex: 0 1 340px; }
.comm-admin-search input { min-width: 0; }
.comm-status-form { margin-top: 14px; text-align: right; }

@media (max-width: 640px) {
    .comm-card { padding: 16px; }
    .comm-msg { max-width: 100%; }
    .comm-actions { justify-content: stretch; }
    .comm-actions > .btn, .comm-actions > form, .comm-actions > form .btn { flex: 1 1 auto; }
    .comm-ann time { margin-left: 0; width: 100%; }
    .comm-faq-search { padding-left: 12px; }
    .comm-faq-search .btn { padding-left: 12px; padding-right: 12px; }
    .comm-faq-contact .btn { width: 100%; justify-content: center; }
    .comm-closed-note .btn { margin-left: 0; width: 100%; }
    .comm-admin-search { flex: 1 1 100%; }
    .comm-kv th { width: auto; }
}


/* ==== COVDYN.css ==== */
/* COVDYN — kapak gosterimi: gercek orana saygi, kesme yok, bos gri alan yok.
   includes/mo/cover-view.php -> moCoverView() ciktisini barindiran her kapsayiciya
   "covdyn-host" sinifi eklenir (bu dosya o sinifi arar). Eski OCROP/EXCOV/F6/F4 kurallari
   (sabit 16:7 kutu + gri zemin) hala kapaksiz/duzenlenmemis sayfalarda gecerlidir; burada
   yalniz moCoverView() kullanilan yerler icin ustune yazilir. */

.covdyn-host { position: relative; }
.covdyn { display: block; }

/* Zemin: ayni gorselin buyutulmus + bulaniklastirilmis kopyasi (ikinci istek degil, ayni src
   tarayici onbelleginden gelir). Metin/kontrol icermedigi icin dekoratif (aria-hidden). */
.covdyn-bg {
    position: absolute;
    inset: -10%;
    width: 120%;
    height: 120%;
    object-fit: cover;
    filter: blur(22px) saturate(1.2) brightness(.72);
    z-index: 0;
    pointer-events: none;
}
.covdyn-fg { position: relative; z-index: 1; display: block; }

/* On plandaki gorsel (z-index:1) kapak ustune konan rozeti (.f6-cover > .f6-badge, konum:absolute,
   z-index yok) altta birakabilir; rozet her zaman ustte kalsin. */
.covdyn-host > .f6-badge { z-index: 2; }

/* ---- card: liste karti — kapsayici (host) zaten sabit oranli ve overflow:hidden ---- */
.covdyn-host .covdyn-card { position: absolute; inset: 0; overflow: hidden; }
.covdyn-host .covdyn-card .covdyn-fg { width: 100%; height: 100%; object-fit: contain; }

/* ---- hero: tekil buyuk kapak — dogal oranda, tam genislik ya da yukseklik sinirli ---- */
.covdyn-host.covdyn-host-hero { aspect-ratio: auto !important; height: auto !important; }
.covdyn-host .covdyn-hero {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
}
.covdyn-host .covdyn-hero .covdyn-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.covdyn-host .covdyn-hero .covdyn-fg {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: min(70vh, 560px);
    margin: 0 auto;
}

@media (prefers-reduced-motion: no-preference) {
    .covdyn-card .covdyn-fg { transition: transform .35s ease; }
}

/* ---- F6 olimpiyat detay sayfasi: kapak + baslik satiri (bkz. public/olympiad.php) ----
   Dikey (poster) kapakta masaustunde kapak solda, baslik/alt baslik/ozet sagda; yatay kapakta
   ya da kapaksiz durumda eskisi gibi ustte tam genislik, baslik altta. */
.f6-hero-text { min-width: 0; }
.f6-hero .f6-title { margin-top: 0; }
@media (min-width: 768px) {
    .f6-hero-portrait { display: flex; align-items: flex-start; gap: 28px; }
    .f6-hero-portrait .f6-cover-lg { flex: 0 0 300px; max-width: 300px; margin-bottom: 0; }
    .f6-hero-portrait .f6-hero-text { flex: 1 1 0; padding-top: 4px; }
}


/* ==== CPNPRM.css ==== */
/* CPNPRM - kuponlarim sayfasi (public/my-coupons.php) premium duzeni. Tum kurallar .cpnprm kokuyle kapsamli.
   WALLET.css'in .wlt-* kurallari campaigns ile ortak; burada yalniz bu sayfada ustune yazilir (gorsel dil CMPPRM ile ayni).
   Durum renge dayanmaz: "yakinda bitiyor" simge+metin etiketi, gecmiste ikon+metin; sekil kilidi: kart 16 / kutu 8-10 / etiket tam yuvarlak. */
.cpnprm {
    --cn-tint: #f1f6f2; --cn-line: #d6e3d9; --cn-ink: var(--dark); --cn-text: #4a554e;
    --cn-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px;
}
.cpnprm a:focus-visible, .cpnprm button:focus-visible, .cpnprm summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 8px; }
.cpnprm .cpnprm-hero a:focus-visible { outline-color: #fff; }

.cpnprm .cpnprm-hero { padding: clamp(36px, 5vw, 60px) 0 clamp(36px, 5vw, 56px); background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%); color: #fff; }
.cpnprm .cpnprm-hero .container { max-width: 960px; }
.cpnprm .cpnprm-hero h1 { margin: 0 0 12px; font-family: var(--cn-display); font-weight: 800; color: #fff; font-size: clamp(32px, 4.6vw, 52px); line-height: 1.05; letter-spacing: -0.03em; text-align: start; }
.cpnprm .cpnprm-hero p { margin: 0; max-width: 56ch; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.6; color: rgba(255, 255, 255, .84); }

.cpnprm .cpnprm-body { background: var(--cn-tint); padding: clamp(24px, 4vw, 40px) 0 clamp(56px, 7vw, 88px); }
.cpnprm .wlt-wrap { max-width: 960px; }

.cpnprm .wlt-crosslink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; margin-bottom: 20px; border-radius: 999px; background: #fff; border: 1px solid var(--cn-line); color: var(--primary-dark); font-weight: 700; text-decoration: none; }
.cpnprm .wlt-crosslink:hover { border-color: var(--primary); background: #fff; }

.cpnprm .wlt-grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.cpnprm .wlt-card { gap: 12px; padding: 22px 24px; border: 1px solid var(--cn-line); border-radius: 16px; box-shadow: none; background: #fff; transition: border-color .2s; }
.cpnprm .wlt-card::before { content: none; }
.cpnprm .wlt-card:hover { border-color: #9cc4aa; }
.cpnprm .wlt-card.is-soon { border-color: #e3b878; }
.cpnprm .wlt-card-top { align-items: baseline; gap: 8px; }
.cpnprm .wlt-amount { font-family: var(--cn-display); font-size: clamp(30px, 3.4vw, 36px); font-weight: 800; letter-spacing: -0.03em; color: var(--primary-dark); }
.cpnprm .wlt-off { font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--cn-text); }
.cpnprm .wlt-scope { font-size: 14px; font-weight: 700; color: var(--cn-ink); }
.cpnprm .wlt-scope i { color: var(--primary-dark); margin-top: 2px; }

.cpnprm .wlt-code-row { flex-wrap: wrap; }
.cpnprm .wlt-code { flex: 1 1 160px; letter-spacing: .03em; border: 1px dashed #9cc4aa; border-radius: 8px; background: var(--cn-tint); font-size: 15px; }
.cpnprm .wlt-copy { min-block-size: 44px; border-radius: 8px; border-color: var(--cn-line); }
.cpnprm .wlt-copy:hover { border-color: var(--primary); color: var(--primary-dark); }
.cpnprm .wlt-copy.is-done { border-color: var(--primary-dark); color: var(--primary-dark); background: var(--primary-light); }

.cpnprm .wlt-exp { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 14px; color: var(--cn-text); font-variant-numeric: tabular-nums; }
.cpnprm .wlt-exp i { color: var(--gray-500); margin: 0; }
.cpnprm .wlt-card.is-soon .wlt-exp strong { color: #92400e; }
.cpnprm .cpnprm-left { padding: 3px 10px; border-radius: 999px; background: var(--primary-light); color: var(--primary-dark); font-size: 13px; font-weight: 800; }
.cpnprm .cpnprm-left.is-urgent { background: #fef3c7; color: #92400e; }
.cpnprm .cpnprm-left.is-urgent::before { content: "\f071"; font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome, sans-serif; font-weight: 900; margin-inline-end: 6px; }
.cpnprm .wlt-use { border-radius: 8px; min-height: 44px; }
.cpnprm .wlt-note { color: var(--cn-text); }
.cpnprm .wlt-note i { color: var(--primary-dark); }

.cpnprm .wlt-empty { max-width: 520px; margin: 8px auto; padding: 40px 24px; background: #fff; border: 1px solid var(--cn-line); border-radius: 16px; }
.cpnprm .wlt-empty-icon { background: var(--primary-light); color: var(--primary-dark); }
.cpnprm .wlt-empty h2 { font-family: var(--cn-display); font-weight: 800; }
.cpnprm .wlt-empty p { color: var(--cn-text); }

/* Gecmis: soluk degil, okunur; durum ikon + metin */
.cpnprm .wlt-history { margin-top: 32px; padding: 4px 24px 8px; background: #fff; border: 1px solid var(--cn-line); border-radius: 16px; }
.cpnprm .wlt-history summary { color: var(--cn-ink); font-family: var(--cn-display); font-weight: 800; }
.cpnprm .wlt-count { background: var(--cn-tint); color: var(--cn-text); font-variant-numeric: tabular-nums; }
.cpnprm .wlt-hist-list { opacity: 1; margin: 4px 0 0; }
.cpnprm .wlt-hist-list li { padding: 12px 0; border-bottom: 1px solid var(--cn-line); }
.cpnprm .wlt-hist-list li:last-child { border-bottom: 0; }
.cpnprm .wlt-hist-list code { color: var(--cn-text); }
.cpnprm .wlt-hist-what { color: var(--cn-text); }
.cpnprm .wlt-hist-state { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: var(--cn-tint); color: var(--cn-text); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cpnprm .wlt-hist-state.is-used { background: var(--primary-light); color: var(--primary-dark); }

@media (max-width: 720px) {
    .cpnprm .wlt-grid { grid-template-columns: minmax(0, 1fr); }
    .cpnprm .wlt-card { padding: 20px 18px; }
    .cpnprm .wlt-crosslink { display: flex; }
    .cpnprm .wlt-history { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) { .cpnprm .wlt-card { transition: none; } }


/* ==== CPNT.css ==== */
/* CPNT — kupon hedefleme ve bildirim (admin/coupons.php) */

.cpnt-box { border: 1px solid var(--gray-200); border-radius: var(--radius, 12px); margin: 4px 0 18px; background: var(--white); }
.cpnt-summary { cursor: pointer; padding: 12px 14px; font-weight: 700; color: var(--dark); display: flex; align-items: center; gap: 8px; list-style: none; }
.cpnt-summary::-webkit-details-marker { display: none; }
.cpnt-summary::after { content: "\25BE"; margin-left: auto; color: var(--gray-500); transition: transform .15s; }
.cpnt-box[open] > .cpnt-summary::after { transform: rotate(180deg); }
.cpnt-summary i { color: var(--primary); }
.cpnt-opt { font-weight: 400; color: var(--gray-600); font-size: 13px; }
.cpnt-body { padding: 0 14px 14px; border-top: 1px solid var(--gray-100); }

.cpnt-sec { border: 0; padding: 0; margin: 16px 0 0; min-width: 0; }
.cpnt-sec legend { font-weight: 700; font-size: 15px; color: var(--dark); margin-bottom: 8px; padding: 0; }
.cpnt-help { font-size: 13px; color: var(--gray-600); margin: 6px 0 10px; }
.cpnt-warn { font-size: 13px; background: #fffbeb; border-left: 3px solid var(--warning, #d97706); border-radius: 6px; padding: 8px 10px; margin: 8px 0; color: var(--gray-800); }
.cpnt-label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }

.cpnt-radio, .cpnt-check { display: flex; align-items: flex-start; gap: 8px; margin: 6px 0; font-weight: 400; cursor: pointer; line-height: 1.4; }
.cpnt-radio input, .cpnt-check input { margin-top: 3px; flex: 0 0 auto; width: auto; }
.cpnt-check small { color: var(--gray-600); }
.cpnt-center { align-self: center; }

.cpnt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0 16px; }
.cpnt-grid .form-group { min-width: 0; }
.cpnt-grid small { color: var(--gray-600); font-size: 12px; }
.cpnt-wide { grid-column: 1 / -1; }
.cpnt-pair { display: flex; align-items: center; gap: 6px; }
.cpnt-pair input { flex: 1 1 0; min-width: 0; }
.cpnt-mt { margin-top: 6px; }

.cpnt-preview-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 6px 0; }
.cpnt-count { font-weight: 700; color: var(--primary-dark, var(--primary)); }
.cpnt-count.is-bad { color: var(--danger, #dc2626); }
.cpnt-preview { margin-top: 8px; }
.cpnt-table-wrap { overflow-x: auto; }
.cpnt-table td, .cpnt-table th { white-space: nowrap; font-size: 13px; }
.cpnt-unv { color: var(--warning, #b45309); }

.cpnt-sub { margin: 10px 0 0 4px; padding: 10px 12px; border-left: 3px solid var(--gray-200); background: var(--gray-50); border-radius: 0 8px 8px 0; }
.cpnt-custom { margin: 8px 0; }
.cpnt-custom textarea { width: 100%; resize: vertical; min-height: 140px; }
.cpnt-vars { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; }
.cpnt-var { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; border: 1px solid var(--gray-300); background: var(--white); border-radius: 6px; padding: 3px 8px; cursor: pointer; }
.cpnt-var:hover, .cpnt-var:focus-visible { border-color: var(--primary); color: var(--primary); }
.cpnt-consent { margin-top: 10px; }
.cpnt-indent { margin: 4px 0 6px 24px; max-width: 420px; }
.cpnt-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 4px 0; }
.cpnt-row .cpnt-radio, .cpnt-row .cpnt-check { margin: 0; }
.cpnt-dt { width: auto; max-width: 100%; }
.cpnt-inline { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; }
.cpnt-num { width: 72px !important; }

/* Kupon listesi etiketleri + detay */
.cpnt-tags { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: 6px; vertical-align: middle; text-decoration: none; }
.cpnt-pill { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--gray-100); color: var(--gray-700); white-space: nowrap; }
.cpnt-pill.is-lock { background: #eef2ff; color: #3730a3; }
.cpnt-pill.is-scheduled { background: #fef3c7; color: #92400e; }
.cpnt-pill.is-done { background: #ecfdf5; color: #047857; }
.cpnt-pill.is-cancelled { background: #fee2e2; color: #991b1b; }

.cpnt-detail { border: 1px solid var(--gray-200); border-radius: var(--radius, 12px); padding: 14px; margin-bottom: 16px; background: var(--gray-50); }
.cpnt-h { margin: 0 0 10px; font-size: 15px; display: flex; align-items: center; gap: 8px; }
.cpnt-h i { color: var(--primary); }
.cpnt-dl { margin: 0 0 10px; display: grid; gap: 6px; }
.cpnt-dl > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 8px; font-size: 14px; }
.cpnt-dl dt { color: var(--gray-600); font-weight: 600; }
.cpnt-dl dd { margin: 0; overflow-wrap: anywhere; }
.cpnt-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin: 10px 0; }
.cpnt-stat { background: var(--white); border: 1px solid var(--gray-200); border-radius: 10px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cpnt-stat b { font-size: 20px; color: var(--dark); }
.cpnt-stat span { font-size: 12px; color: var(--gray-600); overflow-wrap: anywhere; }
.cpnt-stat.is-ok b { color: var(--success, #059669); }
.cpnt-stat.is-bad b { color: var(--danger, #dc2626); }
.cpnt-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cpnt-actions form { margin: 0; }

@media (max-width: 600px) {
    .cpnt-body { padding: 0 10px 12px; }
    .cpnt-grid { grid-template-columns: minmax(0, 1fr); }
    .cpnt-dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .cpnt-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cpnt-indent { margin-left: 0; }
    .cpnt-sub { margin-left: 0; }
    .cpnt-check { flex-wrap: wrap; }
    .cpnt-check small { flex-basis: 100%; padding-left: 24px; }
}


/* ==== CPRPRM.css ==== */
/* CPRPRM - profili tamamla (public/complete-profile.php). Tum kurallar .cprprm ile kapsamli.
   Giris/kayit (LGPRM/RGPRM) ile ayni aile: soguk yesil-gri zemin, beyaz 16px kart, 8px alan/dugme, Manrope + DM Sans. */
.cprprm {
    --cp-tint: #f1f6f2; --cp-line: #d6e3d9; --cp-field: #7a9281; --cp-ink: var(--dark);
    --cp-text: #4a554e; --cp-muted: #566259; --cp-danger: #b3261e;
    --cp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    display: block; min-height: 0; padding: clamp(24px, 4vw, 56px) 0;
    background: var(--cp-tint); box-shadow: 0 72px 0 0 var(--cp-tint);
}
.cprprm a, .cprprm button, .cprprm label, .cprprm input, .cprprm select { touch-action: manipulation; }
.cprprm .cp-wrap {
    display: block; width: min(680px, 100% - 32px); max-width: none; margin-inline: auto; padding: 0;
    background: none; border-radius: 0; box-shadow: none; overflow: visible;
}
.cprprm .cp-card {
    max-width: none; margin: 0; padding: clamp(24px, 4vw, 48px);
    background: #fff; border: 1px solid var(--cp-line); border-radius: 16px;
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35);
}
.cprprm .cp-head { text-align: start; margin: 0 0 24px; }
.cprprm .cp-head h1 {
    margin: 0; font-family: var(--cp-display); font-weight: 800; color: var(--cp-ink); text-wrap: balance;
    font-size: clamp(28px, 3vw, 34px); line-height: 1.12; letter-spacing: -0.03em;
}
.cprprm .cp-head p { margin: 10px 0 0; max-width: 56ch; font-size: 16px; line-height: 1.55; color: var(--cp-text); }
.cprprm .cp-required { margin: 0 0 16px; font-size: 13px; color: var(--cp-muted); }

.cprprm .alert-danger {
    display: flex; gap: 10px; align-items: flex-start; margin: 0 0 20px; padding: 12px 14px;
    background: #fdf0ee; color: #8c1d18; border: 1px solid #f0c4bf; border-inline-start: 3px solid var(--cp-danger);
    border-radius: 10px; font-size: 14.5px; line-height: 1.45;
}
.cprprm .alert-danger i { margin-top: 2px; flex-shrink: 0; color: var(--cp-danger); }

.cprprm .cp-form .form-group { margin-bottom: 18px; }
.cprprm .form-row-2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
@media (min-width: 600px) { .cprprm .form-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; } }
.cprprm .form-group label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--cp-ink); }
.cprprm .form-group input:not([type="checkbox"]):not([type="hidden"]),
.cprprm .form-group select {
    width: 100%; min-height: 48px; padding: 11px 14px; font-family: var(--font); font-size: 16px; line-height: 1.4;
    color: var(--cp-ink); background-color: #fff; border: 1.5px solid var(--cp-field); border-radius: 8px;
}
.cprprm .form-group select { padding-inline-end: 38px; }
.cprprm .form-group input::placeholder { color: #66716a; opacity: 1; }
.cprprm .form-group input:hover, .cprprm .form-group select:hover { border-color: var(--primary-dark); }
.cprprm .form-group input:focus, .cprprm .form-group select:focus {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22);
}
.cprprm .mo-phone-input { gap: 8px; }
.cprprm .mo-phone-input .mo-phone-country { flex: 0 0 min(46%, 240px); max-width: none; }
.cprprm .cp-hint { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--cp-muted); }

.cprprm .cp-submit {
    min-height: 52px; margin-top: 6px; padding: 0 24px; border-radius: 8px;
    font-family: var(--font); font-size: 16px; font-weight: 700; letter-spacing: 0;
}
.cprprm .cp-submit:hover { background: var(--primary-dark); }
.cprprm .cp-submit:active { transform: translateY(1px); }
.cprprm .cp-submit:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; }

@media (max-width: 640px) {
    .cprprm { padding-top: 16px; box-shadow: 0 48px 0 0 var(--cp-tint); }
    .cprprm .cp-wrap { width: calc(100% - 24px); }
    .cprprm .cp-card { padding: 24px 18px; }
}
@media (prefers-reduced-motion: no-preference) {
    .cprprm .cp-submit { transition: background-color 0.15s ease, transform 0.1s ease; }
    .cprprm .form-group input, .cprprm .form-group select { transition: border-color 0.15s ease, box-shadow 0.15s ease; }
}


/* ==== CPWPRM.css ==== */
/* CPWPRM - Sifre degistirme (public/change-password.php). Tum kurallar .cpwprm kokuyla kapsamli.
   Sifre sifirlama (FPPRM.css) ailesi: ayni alan/etiket/buton kalibi; uygulama ekrani oldugu icin tek sutun.
   Sekil kilidi: kart 16px, ic kutu 10px, alan ve buton 8px. Mantiksal ozellikler (RTL). */
.cpwprm {
    --cp-tint: #f1f6f2; --cp-line: #d6e3d9; --cp-field-line: #7a9281; --cp-ink: var(--dark); --cp-text: #4a554e;
    --cp-danger: #b3261e; --cp-panel: #10331d;
    background: var(--cp-tint); padding: clamp(20px, 4vw, 56px) 0; box-shadow: 0 72px 0 0 var(--cp-tint);
    min-height: calc(100vh - 200px);
}
.cpwprm a, .cpwprm button, .cpwprm label, .cpwprm input { touch-action: manipulation; }
.cpwprm-shell { max-width: 544px; margin-inline: auto; padding-inline: 12px; }
.cpwprm-card {
    background: #fff; border: 1px solid var(--cp-line); border-radius: 16px; text-align: start;
    padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 40px);
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.3);
}
.cpwprm-mark {
    width: 48px; height: 48px; margin: 0 0 18px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
    background: var(--cp-panel); color: #8fe0a9; font-size: 20px;
}
.cpwprm-title {
    margin: 0 0 8px; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-weight: 800; color: var(--cp-ink);
    font-size: clamp(26px, 3vw, 32px); line-height: 1.15; letter-spacing: -0.03em; text-wrap: balance;
}
.cpwprm .cpwprm-lead { margin: 0 0 24px; font-size: 16px; line-height: 1.55; color: var(--cp-text); }
.cpwprm-form { margin: 0; }
.cpwprm-field { margin: 0 0 20px; }
.cpwprm-field label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 700; color: var(--cp-ink); }
.cpwprm-field input {
    display: block; width: 100%; min-height: 48px; padding: 0 14px; font: inherit; font-size: 16px;
    color: var(--cp-ink); background: #fff; border: 1.5px solid var(--cp-field-line); border-radius: 8px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cpwprm-field input::placeholder { color: #66716a; opacity: 1; }
.cpwprm-field input:hover { border-color: var(--primary-dark); }
.cpwprm-field input:focus, .cpwprm-field input:focus-visible {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22);
}
.cpwprm-hint, .cpwprm-match { display: block; margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--cp-text); }
.cpwprm-match:empty { display: none; }
.cpwprm-match[data-state="ok"] { color: #1d6b38; font-weight: 600; }
.cpwprm-match[data-state="no"] { color: var(--cp-danger); font-weight: 600; }

.cpwprm .password-input { position: relative; }
.cpwprm .password-input input { padding-inline-end: 52px; }
.cpwprm .password-toggle {
    position: absolute; top: 50%; transform: translateY(-50%); right: auto; left: auto; inset-inline-end: 2px;
    width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: 8px; background: none; color: var(--cp-text); cursor: pointer; font-size: 16px;
}
.cpwprm .password-toggle:hover { background: var(--cp-tint); color: var(--cp-ink); }
.cpwprm .password-toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; box-shadow: none; }

.cpwprm .mo-ui-strength { margin-top: 10px; }
.cpwprm .mo-ui-strength:not([hidden]) ~ .cpwprm-hint { display: none; }
.cpwprm .mo-ui-strength-bar span { height: 6px; border-radius: 3px; }
.cpwprm .mo-ui-strength-text { font-size: 14px; color: var(--cp-text); }

.cpwprm .cpwprm-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.cpwprm-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px;
    padding: 0 24px; border: 1.5px solid var(--primary); border-radius: 8px; background: var(--primary); color: #fff;
    font: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.cpwprm-btn:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.cpwprm-btn:active { transform: translateY(1px); }
.cpwprm-btn:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; box-shadow: none; }
.cpwprm-btn--ghost { background: #fff; color: var(--primary-dark); border-color: var(--cp-field-line); }
.cpwprm-btn--ghost:hover { background: var(--cp-tint); border-color: var(--primary-dark); color: var(--primary-dark); }

@media (max-width: 640px) {
    .cpwprm { padding: 16px 0 40px; min-height: 0; box-shadow: 0 48px 0 0 var(--cp-tint); }
}
@media (prefers-reduced-motion: reduce) { .cpwprm-btn, .cpwprm-field input { transition: none; } }


/* ==== CTRY.css ==== */
/* CTRY — bayrakli ulke secici ve ulke etiketi (includes/mo/countries.php, UI.js select[data-country]) */
.mo-ctry-flag {
    display: inline-block;
    width: 20px;
    height: 15px;
    flex: 0 0 20px;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
    vertical-align: -2px;
    margin-inline-end: 8px;
    background: var(--gray-100, #f1f3f4);
}
.mo-ctry-flag--none { box-shadow: none; background: transparent; }
.mo-ctry-opt { display: flex; align-items: center; min-width: 0; }
.mo-ctry-opt > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-ui-ts .ts-dropdown .option .mo-ctry-opt > span { white-space: normal; overflow-wrap: anywhere; }
.mo-ui-ts.ts-wrapper.single .ts-control .mo-ctry-opt { max-width: 100%; }
.mo-ctry-label { display: inline-flex; align-items: center; }


/* ==== DASHPRM.css ==== */
/* DASHPRM - ogrenci paneli (public/dashboard.php) premium yeniden duzeni.
   Tum kurallar .dashprm kokuyle kapsamli; style.css / RWD / Z-responsive / F4 kurallarinin ustune yazar.
   MNPRM (mentor paneli) ile kardes: sayac seridi, yogun satirlar, tek cizgi rengi, tabular rakamlar.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Gradient yok, kart-icinde-kart yok.
   Mantiksal ozellikler (RTL). Hareket yalniz renk gecisi. */

.dashprm {
    --dp-line: #d6e3d9;
    --dp-tint: #f1f6f2;
    --dp-ink: var(--dark);
    --dp-text: #3f4a43;
    --dp-muted: #56615a;
    --dp-r: 16px;
    --dp-r-sm: 10px;
    --dp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    padding-block: clamp(24px, 4vw, 44px) 80px;
    color: var(--dp-text);
}
.dashprm button, .dashprm input, .dashprm select { font-family: inherit; }
.dashprm [hidden] { display: none !important; }
.dashprm a, .dashprm button { touch-action: manipulation; }
.dashprm h1, .dashprm h2 { text-wrap: balance; }
.dashprm a:focus-visible, .dashprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
[dir="rtl"] .dashprm .wlt-dir { transform: scaleX(-1); }

/* ---------- sayfa basligi ---------- */
.dashprm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin: 0 0 28px; }
.dashprm-head-text { flex: 1 1 320px; min-width: 0; }
.dashprm-head h1 {
    margin: 0 0 6px; font-family: var(--dp-display); font-weight: 800; color: var(--dp-ink);
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere; text-align: start;
}
.dashprm-head p { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--dp-muted); }
.dashprm-head-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- butonlar (>= 44px) ---------- */
.dashprm .btn { min-height: 44px; padding: 0 18px; border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; }
.dashprm .btn-sm { min-height: 44px; padding: 0 14px; font-size: 13.5px; }
.dashprm .btn:hover { transform: none; box-shadow: none; }
.dashprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }
.dashprm .btn-primary:hover { background: var(--primary-dark); }

/* ---------- yuzeyler ---------- */
.dashprm .dashboard-card {
    background: var(--white); border: 1px solid var(--dp-line); border-radius: var(--dp-r); box-shadow: none; min-width: 0; margin: 0 0 20px;
}
.dashprm .dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.dashprm .dashboard-main, .dashprm .dashboard-sidebar { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.dashprm .dashboard-main > .dashboard-card, .dashprm .dashboard-sidebar > .dashboard-card { margin: 0; }
.dashprm .card-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 16px 22px; border-bottom: 1px solid var(--dp-line); }
.dashprm .card-header h2, .dashprm .card-header h3 {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 0;
    font-family: var(--dp-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; color: var(--dp-ink);
}
.dashprm .card-header h2 i, .dashprm .card-header h3 i { color: var(--primary); }
.dashprm .card-link {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; margin-block: -10px; padding-inline: 6px; margin-inline-start: auto;
    font-size: 14px; font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap;
}
.dashprm .card-link:hover { color: var(--primary); }
.dashprm .card-body { padding: 18px 22px; overflow-wrap: anywhere; }

/* ---------- ozet sayaclari ---------- */
.dashprm-stats {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 24px; overflow: hidden;
    background: var(--white); border: 1px solid var(--dp-line); border-radius: var(--dp-r);
}
.dashprm-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; min-width: 0; margin: 0; padding: 20px 24px; }
.dashprm-stat + .dashprm-stat { border-inline-start: 1px solid var(--dp-line); }
.dashprm-stat dt { font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--dp-muted); }
.dashprm-stat dd { margin: 0; font-family: var(--dp-display); font-size: clamp(28px, 3vw, 38px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--dp-ink); }

/* ---------- toplam puan ---------- */
.dashprm .dashprm-points { padding: 20px 22px; display: flex; flex-direction: column-reverse; gap: 6px; }
.dashprm-points-label { font-size: 14px; font-weight: 600; color: var(--dp-muted); }
.dashprm-points-value { font-family: var(--dp-display); font-size: clamp(30px, 3vw, 38px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--primary-dark); }

/* ---------- satirlar ---------- */
.dashprm-rows { list-style: none; margin: 0; padding: 0; }
.dashprm-row { display: flex; align-items: center; gap: 8px 14px; padding: 14px 0; border-top: 1px solid var(--dp-line); }
.dashprm-row:first-child { padding-top: 0; border-top: 0; }
.dashprm-row:last-child { padding-bottom: 0; }
.dashprm-row-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dashprm-row-main strong { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--dp-ink); overflow-wrap: anywhere; }
.dashprm-muted { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 13.5px; line-height: 1.45; color: var(--dp-muted); overflow-wrap: anywhere; }
.dashprm-muted i { margin-inline-end: 4px; }
.dashprm-when { white-space: nowrap; font-variant-numeric: tabular-nums; }
.dashprm-score { flex: 0 0 auto; min-width: 66px; padding: 4px 10px; border-radius: 999px; text-align: center; font-family: var(--dp-display); font-size: 14.5px; font-weight: 800; font-variant-numeric: tabular-nums; background: var(--gray-100); color: var(--dp-text); }
.dashprm-score.high { background: #e3f3e8; color: #166534; }
.dashprm-score.medium { background: #fef3c7; color: #92400e; }
.dashprm-score.low { background: #fee2e2; color: #991b1b; }
.dashprm-empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; }
.dashprm-empty p, .dashprm-empty-line { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--dp-muted); }
.dashprm-empty p i, .dashprm-empty-line i { flex: 0 0 auto; color: var(--primary); }

/* ---------- rozetler ---------- */
.dashprm-badges { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.dashprm .badge-item { display: flex; align-items: center; gap: 10px; min-width: 0; text-align: start; }
.dashprm .badge-icon { flex: 0 0 auto; width: 36px; height: 36px; margin: 0; font-size: 15px; }
.dashprm .dashprm-badge-name { min-width: 0; font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--dp-text); overflow-wrap: anywhere; }

/* ---------- hizli erisim ---------- */
.dashprm .quick-links { display: flex; flex-direction: column; gap: 2px; }
.dashprm .quick-link { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; margin-inline: -12px; border-radius: var(--dp-r-sm); font-size: 14.5px; font-weight: 600; color: var(--dp-text); }
.dashprm .quick-link i { width: 18px; text-align: center; color: var(--primary); }
.dashprm .quick-link:hover { background: var(--dp-tint); color: var(--primary-dark); }

/* ---------- performans karti (F4: moF4RenderPerformance) ---------- */
.dashprm .f4-group { padding: 20px 0; gap: 16px; border-bottom: 1px solid var(--dp-line); }
.dashprm .f4-group:first-child { padding-top: 0; }
.dashprm .f4-group:last-child { padding-bottom: 0; border-bottom: 0; }
.dashprm .f4-group-head h4 { font-family: var(--dp-display); font-size: 15.5px; font-weight: 800; letter-spacing: -0.01em; color: var(--dp-ink); }
.dashprm .f4-trend { padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; border: 1px solid transparent; }
.dashprm .f4-trend-up { background: #e3f3e8; color: #166534; }
.dashprm .f4-trend-down { background: #fee2e2; color: #991b1b; }
.dashprm .f4-trend-stable, .dashprm .f4-trend-none { background: var(--dp-tint); color: var(--dp-text); border-color: var(--dp-line); }
.dashprm .f4-group-stats { gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashprm .f4-group-stats > div { background: none; border-radius: 0; padding: 0 14px; text-align: start; align-items: flex-start; gap: 4px; flex-direction: column-reverse; justify-content: flex-end; }
.dashprm .f4-group-stats > div:first-child { padding-inline-start: 0; }
.dashprm .f4-group-stats > div + div { border-inline-start: 1px solid var(--dp-line); }
.dashprm .f4-group-stats span { font-size: 13px; font-weight: 600; color: var(--dp-muted); white-space: normal; }
.dashprm .f4-group-stats strong { font-family: var(--dp-display); font-size: 20px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--dp-ink); }
.dashprm .f4-cwe-bar { height: 8px; border-radius: 999px; background: var(--gray-200); }
.dashprm .f4-cwe-legend { gap: 6px 16px; font-size: 13px; color: var(--dp-muted); font-variant-numeric: tabular-nums; }
.dashprm .f4-cwe-legend span::before { border-radius: 50%; width: 8px; height: 8px; vertical-align: 0; margin-inline-end: 6px; margin-right: 0; }
.dashprm .f4-mini-title { font-size: 13px; font-weight: 700; color: var(--dp-text); }
.dashprm .f4-topic-col.strong .f4-mini-title i { color: #166534; }
.dashprm .f4-topic-col.weak .f4-mini-title i { color: #991b1b; }
.dashprm .f4-chip { padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.dashprm .f4-chip.ok { background: #e3f3e8; color: #166534; }
.dashprm .f4-chip.bad { background: #fee2e2; color: #991b1b; }
.dashprm .f4-muted { font-size: 13.5px; color: var(--dp-muted); }
.dashprm .f4-chart-line { stroke-width: 2.25; }
.dashprm .empty-state.small { display: flex; align-items: center; gap: 10px; padding: 0; text-align: start; color: var(--dp-muted); }
.dashprm .empty-state.small i { display: inline; margin: 0; font-size: 16px; color: var(--primary); }
.dashprm .empty-state.small p { margin: 0; font-size: 14.5px; }

/* yedek kategori performansi */
.dashprm .performance-item { margin-bottom: 18px; }
.dashprm .performance-item:last-child { margin-bottom: 0; }
.dashprm .performance-header { gap: 12px; }
.dashprm .performance-name { font-size: 14.5px; font-weight: 700; color: var(--dp-ink); }
.dashprm .performance-score { font-family: var(--dp-display); font-weight: 800; font-variant-numeric: tabular-nums; color: var(--primary-dark); }
.dashprm .performance-detail { font-size: 13px; color: var(--dp-muted); }
.dashprm .progress-bar { height: 8px; border-radius: 999px; background: var(--gray-200); }
.dashprm .progress-fill { background: var(--primary); border-radius: 999px; }

/* ---------- ust slot kartlari (hedef konular, giris karti, odev, cuzdan, sinav) ---------- */
.dashprm .container > .dashboard-card, .dashprm .container > .wlt-dash, .dashprm .container > .alert { margin: 0 0 20px; }
.dashprm .f8-box-head { padding-block: 16px; }
.dashprm .wlt-dash-item { min-height: 44px; border-color: var(--dp-line); border-radius: var(--dp-r-sm); box-shadow: none; }
.dashprm .lg-banner { border-radius: var(--dp-r-sm); }

/* ---------- dar ekran ---------- */
@media (max-width: 1100px) {
    .dashprm .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
    .dashprm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashprm-stat:nth-child(3) { border-inline-start: 0; }
    .dashprm-stat:nth-child(n+3) { border-top: 1px solid var(--dp-line); }
}
@media (max-width: 560px) {
    .dashprm-head { margin-bottom: 20px; }
    .dashprm-head-actions, .dashprm-head-actions .btn { width: 100%; justify-content: center; }
    .dashprm-stat { padding: 16px 18px; }
    .dashprm .card-header { padding: 14px 16px; }
    .dashprm .card-body { padding: 16px; }
    .dashprm-row { flex-wrap: wrap; }
    .dashprm-row-main { flex: 1 1 100%; }
    .dashprm-row .btn { margin-inline-start: auto; }
    .dashprm .f4-group-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; }
    .dashprm .f4-group-stats > div:nth-child(3) { padding-inline-start: 0; border-inline-start: 0; }
    .dashprm .f4-group-stats > div:nth-child(2) { padding-inline-start: 14px; }
    .dashprm .f4-topics { grid-template-columns: minmax(0, 1fr); }
    .dashprm-empty .btn { width: 100%; justify-content: center; }
}


/* ==== ERLPRM.css ==== */
/* ERLPRM - Sinav kurallari (public/exam-rules.php) premium duzeni; SSS/sozlesme okuma diliyle ayni aile.
   Tum kurallar .erlprm kokuyle kapsamli. Sekil kilidi: kart 16px, buton 8px. Mantiksal ozellikler (RTL). */
.erlprm {
    --er-tint: #f1f6f2; --er-line: #d6e3d9; --er-ink: var(--dark); --er-text: #4a554e;
    --er-r: 16px; --er-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    color: var(--er-text);
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla gelir */
}
.erlprm a:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.erlprm-cta a:focus-visible { outline-color: #fff; }

.erlprm-head { background: var(--er-tint); border-bottom: 1px solid var(--er-line); padding-block: clamp(40px, 6vw, 72px) clamp(32px, 4vw, 48px); }
.erlprm-head h1 { margin: 0 0 14px; font-family: var(--er-display); font-weight: 800; color: var(--er-ink); font-size: clamp(34px, 4.6vw, 56px); line-height: 1.08; letter-spacing: -0.03em; text-align: start; }
.erlprm-lead { margin: 0; max-width: 56ch; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.6; text-align: start; }

.erlprm-body { background: #fff; padding-block: clamp(40px, 6vw, 80px); }
.erlprm-rules {
    list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px;
    background: var(--er-line); border: 1px solid var(--er-line); border-radius: var(--er-r); overflow: hidden;
}
.erlprm-rule { display: flex; gap: 20px; align-items: flex-start; background: #fff; padding: clamp(22px, 3vw, 32px); }
.erlprm-num { flex: 0 0 auto; min-width: 2ch; font-family: var(--er-display); font-size: 15px; font-weight: 800; line-height: 1.9; color: var(--primary-dark); font-variant-numeric: tabular-nums; }
.erlprm-rule-body { min-width: 0; }
.erlprm-rule h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-family: var(--er-display); font-size: clamp(18px, 1.8vw, 21px); font-weight: 800; line-height: 1.25; letter-spacing: -0.015em; color: var(--er-ink); text-align: start; }
.erlprm-rule h2 i { flex: 0 0 auto; color: var(--primary); font-size: 16px; }
.erlprm-rule p { margin: 0; max-width: 60ch; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }

.erlprm-cta { background: var(--er-tint); padding-block: clamp(40px, 6vw, 80px); border-top: 1px solid var(--er-line); }
.erlprm-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px 40px; flex-wrap: wrap; padding: clamp(28px, 4vw, 48px); border-radius: var(--er-r); background: var(--primary-dark); }
.erlprm-cta-text { flex: 1 1 340px; min-width: 0; }
.erlprm-cta h2 { margin: 0 0 10px; font-family: var(--er-display); font-weight: 800; font-size: clamp(24px, 3vw, 34px); line-height: 1.15; letter-spacing: -0.025em; color: #fff; text-align: start; }
.erlprm-cta p { margin: 0; max-width: 56ch; font-size: 16.5px; line-height: 1.65; color: #cfe3d5; }
.erlprm-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.erlprm .erlprm-btn-main, .erlprm .erlprm-btn-alt { min-height: 48px; border-radius: 8px; font-weight: 700; justify-content: center; text-align: center; }
.erlprm .erlprm-btn-main { background: #fff; color: var(--primary-dark); border: 1px solid #fff; }
.erlprm .erlprm-btn-main:hover { background: #e2eee5; border-color: #e2eee5; color: var(--primary-dark); }
.erlprm .erlprm-btn-alt { background: transparent; color: #fff; border: 1px solid #9fc4a9; }
.erlprm .erlprm-btn-alt:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; }

@media (max-width: 800px) {
    .erlprm-rules { grid-template-columns: minmax(0, 1fr); }
    .erlprm-cta-actions { width: 100%; flex-direction: column; }
    .erlprm .erlprm-btn-main, .erlprm .erlprm-btn-alt { width: 100%; }
}
@media (max-width: 480px) { .erlprm-rule { gap: 14px; } }
@media (prefers-reduced-motion: reduce) { .erlprm *, .erlprm *::before, .erlprm *::after { transition: none !important; animation: none !important; } }


/* ==== ERSPRM.css ==== */
/* ERSPRM - deneme sinavi sonucu + cozumler (public/exam-result.php) premium duzeni.
   Tum kurallar .ersprm kokuyle kapsamli; RES.css / QVIEW.css / ANL.css siniflarinin ustune yazar.
   Dil: akademik hassasiyet, marka yesili, soguk yesil-gri zemin, Manrope + DM Sans (yuklu),
   kart 16px / ic kutu 10px / buton 8px / etiket tam yuvarlak, kart-icinde-kart yok. Mantiksal ozellikler (RTL). */

.ersprm {
    --er-tint: #f1f6f2;
    --er-line: #d6e3d9;
    --er-ink: var(--dark);
    --er-text: #4a554e;
    --er-r: 16px;
    --er-r-sm: 10px;
    --er-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--er-tint);
    padding-block: clamp(28px, 4vw, 48px) clamp(56px, 7vw, 88px);
    font-variant-numeric: tabular-nums;
}
.ersprm a:focus-visible,
.ersprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- OZET BASLIK ---------- */
.ersprm .resd-hero {
    background: #fff; border: 1px solid var(--er-line); border-radius: var(--er-r); box-shadow: none;
    margin-bottom: 16px; overflow: hidden;
}
.ersprm .resd-hero-inner { grid-template-columns: 220px minmax(0, 1fr); }
.ersprm .resd-hero-cover { background: var(--er-tint); border-inline-end: 1px solid var(--er-line); }
.ersprm .resd-hero-info { padding: clamp(20px, 3vw, 32px); gap: 10px; }
.ersprm .resd-meta-row { color: var(--er-text); font-size: 14px; gap: 8px 16px; }
.ersprm .res-chip { background: var(--er-tint); border: 1px solid var(--er-line); color: var(--er-ink); padding: 3px 12px; border-radius: 999px; font-weight: 600; font-size: 13px; }
.ersprm .resd-status-pill { font-size: 13px; padding: 4px 12px; }
.ersprm .resd-status-pill.is-pass { background: #e3f3e8; color: #155c2c; }
.ersprm .resd-status-pill.is-fail { background: #fbe7e4; color: #9b1c12; }
.ersprm .resd-title {
    font-family: var(--er-display); font-weight: 800; color: var(--er-ink); text-align: start;
    font-size: clamp(22px, 2.8vw, 32px); line-height: 1.2; letter-spacing: -0.02em;
}
.ersprm .resd-score-big {
    font-family: var(--er-display); color: var(--primary-dark);
    font-size: clamp(48px, 7vw, 72px); letter-spacing: -0.04em;
}
.ersprm .resd-score-big .unit { font-size: 20px; color: var(--er-text); }
.ersprm .resd-pass-line { font-size: 14px; color: var(--er-text); }

/* ---------- DOGRU / YANLIS / BOS / SURE ---------- */
.ersprm .resd-stats {
    gap: 0; background: #fff; border: 1px solid var(--er-line); border-radius: var(--er-r);
    margin-bottom: 16px; overflow: hidden;
}
.ersprm .resd-stat {
    border: 0; border-radius: 0; background: transparent; padding: 18px 20px; gap: 14px;
    border-inline-start: 1px solid var(--er-line);
}
.ersprm .resd-stat:first-child { border-inline-start: 0; }
.ersprm .resd-stat i { width: 40px; height: 40px; border-radius: 50%; }
.ersprm .resd-stat.correct i { background: #e3f3e8; color: #155c2c; }
.ersprm .resd-stat.wrong i { background: #fbe7e4; color: #9b1c12; }
.ersprm .resd-stat.empty i { background: #eceff1; color: #4a554e; }
.ersprm .resd-stat.time i { background: var(--primary-light); color: var(--primary-dark); }
.ersprm .resd-stat strong { font-family: var(--er-display); font-size: 22px; font-weight: 800; color: var(--er-ink); }
.ersprm .resd-stat span { font-size: 13px; color: var(--er-text); }

/* ---------- ESYLEMLER ---------- */
.ersprm .resd-actions { gap: 10px; margin-bottom: 28px; }
.ersprm .resd-actions .btn { min-height: 44px; border-radius: 8px; font-weight: 700; }

/* ---------- KONU ANALIZI ---------- */
.ersprm .anl-box {
    background: #fff; border: 1px solid var(--er-line); border-radius: var(--er-r); box-shadow: none;
    padding: clamp(18px, 3vw, 28px); margin-bottom: 28px;
}
.ersprm .anl-title { font-family: var(--er-display); font-weight: 800; font-size: 20px; color: var(--er-ink); letter-spacing: -0.01em; }
.ersprm .anl-title i { color: var(--primary-dark); }
.ersprm .anl-compare { gap: 0; border: 1px solid var(--er-line); border-radius: var(--er-r-sm); overflow: hidden; margin-bottom: 20px; }
.ersprm .anl-kpi { border: 0; border-radius: 0; background: transparent; border-inline-start: 1px solid var(--er-line); padding: 14px 18px; }
.ersprm .anl-compare > .anl-kpi:first-child { border-inline-start: 0; }
.ersprm .anl-kpi strong { font-family: var(--er-display); font-weight: 800; }
.ersprm .anl-kpi span { color: var(--er-text); }
.ersprm .anl-kpi-accent { background: var(--primary-light); }
.ersprm .anl-kpi-accent strong { color: var(--primary-dark); }
.ersprm .anl-note { padding: 0 18px; color: var(--er-text); }
.ersprm .anl-study { background: #fff7ee; border-color: #f0cfb0; border-radius: var(--er-r-sm); }
.ersprm .anl-study h3 { color: #8a3f0b; }
.ersprm .anl-study li { border: 1px solid #f3dcc6; }
.ersprm .anl-study-link { color: var(--primary-dark); min-height: 32px; display: inline-flex; align-items: center; }
.ersprm .anl-good { border-radius: var(--er-r-sm); }
.ersprm .anl-sub { font-family: var(--er-display); font-weight: 800; }
.ersprm .anl-topic { border-color: var(--er-line); border-radius: var(--er-r-sm); }
.ersprm .anl-topic.is-strong .anl-topic-pct { color: #155c2c; }
.ersprm .anl-topic.is-weak .anl-topic-pct { color: #9b1c12; }
.ersprm .anl-topic.is-mid .anl-topic-pct { color: #8a5a00; }
.ersprm .anl-topic-meta { color: var(--er-text); font-size: 13px; }
.ersprm .anl-topic-meta .c { color: #155c2c; }
.ersprm .anl-topic-meta .w { color: #9b1c12; }
.ersprm .anl-topic-meta .a { margin-left: 0; margin-inline-start: auto; }
.ersprm .anl-bar-c { background: #2f9e57; }
.ersprm .anl-bar-w { background: #e0776d; }
.ersprm .anl-bar { background: #e3ebe5; }

/* ---------- COZUMLER ---------- */
.ersprm .resd-review-head h2 { font-family: var(--er-display); font-weight: 800; font-size: 22px; letter-spacing: -0.01em; color: var(--er-ink); }
.ersprm .resd-review-head h2 i { color: var(--primary-dark); }
.ersprm .resd-filters { gap: 8px; margin-bottom: 10px; }
.ersprm .resd-filter-chip {
    min-height: 44px; padding: 0 18px; border-radius: 999px; background: #fff; border: 1px solid var(--er-line);
    color: var(--er-ink); font-weight: 600; font-size: 15px; transition: background-color .2s, border-color .2s, color .2s;
}
.ersprm .resd-filter-chip:hover { border-color: var(--primary); color: var(--primary-dark); }
.ersprm .resd-filter-chip .n { font-size: 13px; color: var(--er-text); }
.ersprm .resd-filter-chip.is-active, .ersprm .resd-filter-chip.is-active:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.ersprm .resd-filter-chip.is-active .n { color: rgba(255, 255, 255, .85); }
.ersprm .resd-note { color: var(--er-text); font-size: 13.5px; }

.ersprm .resd-nav { background: #fff; border: 1px solid var(--er-line); border-radius: var(--er-r); padding: 16px 18px; }
.ersprm .resd-nav-title { color: var(--er-ink); }
.ersprm .resd-nav-grid { grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 8px; }
.ersprm .resd-nav-btn { min-height: 44px; border-radius: 8px; font-variant-numeric: tabular-nums; font-weight: 700; }
.ersprm .resd-nav-btn.is-correct { background: #eef8f1; border-color: #b9dfc5; color: #155c2c; }
.ersprm .resd-nav-btn.is-wrong { background: #fdf0ee; border-color: #f0bdb6; color: #9b1c12; }
.ersprm .resd-nav-btn.is-empty { background: #f3f5f4; border-color: #dfe5e1; color: #4a554e; }

/* soru kartlari */
.ersprm .qv-card {
    background: #fff; border: 1px solid var(--er-line); border-inline-start: 4px solid var(--er-line);
    border-radius: var(--er-r); box-shadow: none; padding: clamp(16px, 2.6vw, 28px); margin-bottom: 14px;
}
.ersprm .qv-card.is-correct { border-inline-start-color: #2f9e57; }
.ersprm .qv-card.is-wrong { border-inline-start-color: #d4574b; }
.ersprm .qv-card.is-empty { border-inline-start-color: #a9b5ad; }
.ersprm .qv-num { font-family: var(--er-display); font-weight: 800; font-size: 16px; color: var(--er-ink); }
.ersprm .qv-status-chip { font-size: 13px; padding: 4px 12px; }
.ersprm .qv-status-chip.is-correct { background: #e3f3e8; color: #155c2c; }
.ersprm .qv-status-chip.is-wrong { background: #fbe7e4; color: #9b1c12; }
.ersprm .qv-status-chip.is-empty { background: #eceff1; color: #4a554e; }
.ersprm .qv-time { font-size: 13px; color: var(--er-text); }
.ersprm .qv-q-text { font-size: 16px; line-height: 1.75; max-width: 75ch; color: var(--er-ink); }
.ersprm .qv-zoomable { border-color: var(--er-line); border-radius: var(--er-r-sm); background: var(--er-tint); }
.ersprm .qv-opt { border-color: var(--er-line); border-radius: var(--er-r-sm); min-height: 48px; }
.ersprm .qv-opt-letter { background: var(--er-tint); color: var(--er-ink); }
.ersprm .qv-opt-body { font-size: 15px; }
.ersprm .qv-opt-tag { font-size: 12.5px; }
.ersprm .qv-opt-correct { background: #eef8f1; border-color: #9fd2b0; }
.ersprm .qv-opt-correct .qv-opt-letter { background: #1f7a43; color: #fff; }
.ersprm .qv-opt-tag-correct { color: #155c2c; }
.ersprm .qv-opt-wrong-selected { background: #fdf0ee; border-color: #eaaaa2; }
.ersprm .qv-opt-wrong-selected .qv-opt-letter { background: #c0392b; color: #fff; }
.ersprm .qv-opt-tag-wrong { color: #9b1c12; }
.ersprm .qv-solution { border-top: 1px solid var(--er-line); }
.ersprm .qv-solution-toggle { color: var(--primary-dark); font-size: 15px; }
.ersprm .qv-solution-body {
    background: var(--er-tint); border: 1px solid var(--er-line); border-radius: var(--er-r-sm);
    color: var(--er-ink); font-size: 15px; line-height: 1.75;
}

@media (max-width: 900px) {
    .ersprm .resd-hero-inner { grid-template-columns: 1fr; }
    .ersprm .resd-hero-cover { border-inline-end: 0; border-bottom: 1px solid var(--er-line); aspect-ratio: 16 / 6; }
    .ersprm .resd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ersprm .resd-stat:nth-child(3) { border-inline-start: 0; }
    .ersprm .resd-stat:nth-child(n+3) { border-top: 1px solid var(--er-line); }
}
@media (max-width: 640px) {
    .ersprm .resd-stat { padding: 14px; gap: 10px; }
    .ersprm .resd-stat i { width: 34px; height: 34px; }
    .ersprm .anl-compare { grid-template-columns: 1fr; }
    .ersprm .anl-kpi { border-inline-start: 0; border-top: 1px solid var(--er-line); }
    .ersprm .anl-compare > .anl-kpi:first-child { border-top: 0; }
    .ersprm .anl-note { padding: 12px 18px; grid-column: auto; }
    .ersprm .anl-topics { grid-template-columns: 1fr; }
    .ersprm .qv-card { padding: 16px; }
    .ersprm .qv-opt { flex-wrap: wrap; }
    .ersprm .qv-opt-body { flex: 1 1 calc(100% - 50px); }
    .ersprm .qv-opt-tag { margin-inline-start: 42px; flex-basis: 100%; }
    .ersprm .resd-actions .btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .ersprm * { transition: none !important; }
}


/* ==== ESTPRM.css ==== */
/* ESTPRM - sinav baslangic ekrani (public/exam-start.php) premium duzeni. EXST.css'in ustune yazar
   (her kural .estprm ile kapsamli = daha yuksek ozgulluk). Ayni aile: EXPRM / OLDPRM.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */

.estprm {
    --es-tint: #f1f6f2;
    --es-line: #d6e3d9;
    --es-ink: var(--dark);
    --es-text: #4a554e;
    --es-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--es-tint);
    padding: clamp(20px, 4vw, 48px) 0 clamp(72px, 8vw, 104px);
    margin-bottom: -72px; /* .ftr kendi ust boslugunu getiriyor; zemin alt bilgiye bitisik olsun */
}
.estprm a:focus-visible,
.estprm button:focus-visible,
.estprm select:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

.estprm .exst-card {
    max-width: 840px; background: #fff; border: 1px solid var(--es-line);
    border-radius: 16px; box-shadow: none; overflow: hidden;
}

/* ---- Kapak + baslik ---- */
.estprm .exst-hero-icon { background: #e4efe7; color: var(--primary-dark); }
.estprm .exst-hero-body { padding: clamp(20px, 3vw, 32px) clamp(20px, 4vw, 40px) 0; text-align: start; }
.estprm .exam-category-badge {
    background: #e4efe7; color: var(--primary-dark); border-radius: 999px;
    padding: 4px 12px; font-size: 13px; font-weight: 700;
}
.estprm .exst-hero-body h1 {
    font-family: var(--es-display); font-weight: 800; color: var(--es-ink);
    font-size: clamp(24px, 3.2vw, 34px); line-height: 1.15; letter-spacing: -0.03em;
    margin: 12px 0 0; overflow-wrap: anywhere;
}
.estprm .exst-desc { margin: 12px 0 0; max-width: 62ch; color: var(--es-text); font-size: 16px; line-height: 1.65; }

/* ---- Bilgi seridi: cizgiyle ayrilmis dort olcu ---- */
.estprm .exst-stats {
    margin: clamp(20px, 3vw, 28px) clamp(20px, 4vw, 40px) 0;
    background: transparent; gap: 0; border-radius: 0; overflow: visible;
    border-block: 1px solid var(--es-line);
}
.estprm .exst-stat {
    background: transparent; align-items: flex-start; text-align: start; gap: 8px;
    padding: 16px 16px; border-inline-start: 1px solid var(--es-line);
}
.estprm .exst-stat:first-child { border-inline-start: 0; padding-inline-start: 0; }
.estprm .exst-stat i { font-size: 18px; color: var(--primary); }
.estprm .exst-stat > div { min-width: 0; }
.estprm .exst-stat strong {
    font-family: var(--es-display); font-size: 17px; font-weight: 800; color: var(--es-ink);
    line-height: 1.25; font-variant-numeric: tabular-nums;
}
.estprm .exst-stat span { font-size: 13px; line-height: 1.4; color: var(--es-text); margin-top: 4px; }

/* ---- Kurallar + guvenlik ---- */
.estprm .exst-info-grid { margin: clamp(20px, 3vw, 28px) clamp(20px, 4vw, 40px) 0; gap: 16px; }
.estprm .exst-rules,
.estprm .exst-security { padding: 20px; border-radius: 10px; }
.estprm .exst-rules { background: var(--es-tint); border: 1px solid var(--es-line); }
.estprm .exst-security { background: #fff; border: 1px solid var(--es-line); }
.estprm .exst-rules h2,
.estprm .exst-security h2 {
    font-family: var(--es-display); font-size: 15px; font-weight: 800; color: var(--es-ink); margin: 0 0 12px;
}
.estprm .exst-rules h2 i { color: var(--primary); }
.estprm .exst-security h2 i { color: var(--primary-dark); }
.estprm .exst-rules li,
.estprm .exst-security li {
    padding: 4px 0; padding-inline-start: 18px; font-size: 14px; line-height: 1.55; color: var(--es-text);
}
.estprm .exst-rules li::before,
.estprm .exst-security li::before { left: auto; inset-inline-start: 0; top: 12px; background: var(--primary); }
.estprm .exst-rules-more {
    min-height: 44px; margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--primary-dark);
}
.estprm .exst-rules-more i { font-size: 12px; }
[dir="rtl"] .estprm .exst-rules-more i { transform: scaleX(-1); }

/* ---- Sinav dili + eylem: alt cubuk ---- */
.estprm .exst-form {
    margin: clamp(24px, 3vw, 32px) 0 0; padding: clamp(20px, 3vw, 28px) clamp(20px, 4vw, 40px);
    background: var(--es-tint); border-top: 1px solid var(--es-line);
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 24px; align-items: end;
}
.estprm .exst-lang { margin: 0; min-width: 0; }
.estprm .exst-lang label { font-size: 14px; font-weight: 700; color: var(--es-ink); }
.estprm .exst-lang-select {
    border: 1px solid #b9cdbd; border-radius: 8px; background-color: #fff; min-height: 52px; padding: 0 14px;
}
.estprm .exst-lang-select:focus-visible { border-color: var(--primary); }
.estprm .exst-actions { margin: 0; }
.estprm .exst-submit {
    border-radius: 8px; min-height: 52px; font-family: var(--es-display); font-weight: 800; font-size: 16px;
    padding: 0 20px; transition: background-color .2s, transform .15s;
}
.estprm .exst-submit:active { transform: translateY(1px); }

@media (max-width: 820px) {
    .estprm .exst-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .estprm .exst-stat:nth-child(odd) { border-inline-start: 0; padding-inline-start: 0; }
    .estprm .exst-stat:nth-child(n+3) { border-top: 1px solid var(--es-line); }
    .estprm .exst-info-grid { grid-template-columns: 1fr; }
    .estprm .exst-form { grid-template-columns: 1fr; }
    /* Eylem dugmesi gorunum alaninin altina sabit */
    .estprm .exst-actions {
        position: sticky; bottom: 0; z-index: 5; margin: 0 calc(-1 * clamp(20px, 4vw, 40px)) calc(-1 * clamp(20px, 3vw, 28px));
        padding: 12px clamp(20px, 4vw, 40px) calc(12px + env(safe-area-inset-bottom, 0px));
        background: #fff; border-top: 1px solid var(--es-line); box-shadow: none;
    }
}
@media (max-width: 480px) {
    .estprm { padding-top: 12px; }
    .estprm .exst-stat { padding: 14px 12px; }
    .estprm .exst-stat strong { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .estprm .exst-submit { transition: none; }
}


/* ==== ETKPRM.css ==== */
/* ETKPRM - sinav cozme ekrani (public/exam-take.php) premium duzeni.
   Tum kurallar body.etkprm ile kapsamli. Sakin, okunabilir calisma yuzeyi: soguk yesil-gri zemin, beyaz kagit,
   buyuk sik hedefleri (>=56px), net secili durum, sakin zamanlayici, telefonda sabit alt gezinme cubugu.
   JS secicileri (id/sinif/data-*) degismez. Mantiksal ozellikler (RTL: ar, fa, ur). */

.etkprm {
    --etk-tint: #f1f6f2;
    --etk-line: #d6e3d9;
    --etk-ink: var(--dark);
    --etk-text: #4a554e;
    --etk-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --etk-bar-h: 72px;
    background: var(--etk-tint);
    font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
    font-variant-numeric: tabular-nums;
}

.etkprm button:focus-visible,
.etkprm .option-item:has(input:focus-visible) { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- Ust cubuk ---------- */
.etkprm .exam-topbar {
    background: #fff; border-bottom: 1px solid var(--etk-line); box-shadow: none;
    padding: 10px 24px; gap: 16px;
}
.etkprm .exam-topbar-left { min-width: 0; }
.etkprm .exam-topbar-left h2 {
    font-family: var(--etk-display); font-size: 16px; font-weight: 700; letter-spacing: -0.01em; color: var(--etk-ink);
    display: flex; align-items: center; gap: 8px; margin: 0;
}
.etkprm .exam-topbar-left h2 i { color: var(--primary); font-size: 15px; }
.etkprm .exam-category-badge { background: var(--etk-tint); color: var(--etk-text); border: 1px solid var(--etk-line); font-weight: 600; }

.etkprm .exam-timer {
    font-family: var(--etk-display); font-size: 22px; font-weight: 700; letter-spacing: 0.01em;
    color: var(--etk-ink); background: var(--etk-tint); border: 1px solid var(--etk-line);
    border-radius: 999px; padding: 6px 18px; gap: 8px; font-variant-numeric: tabular-nums;
    transition: background-color .3s, color .3s, border-color .3s;
}
.etkprm .exam-timer i { color: var(--primary); font-size: 16px; }
.etkprm .exam-timer.warning { background: #fff7e6; border-color: #f1d9a3; color: #8a5300; }
.etkprm .exam-timer.warning i { color: #b36a00; }
.etkprm .exam-timer.danger { background: #fdecea; border-color: #f2b8b2; color: #a31d12; animation: none; }
.etkprm .exam-timer.danger i { color: #c62828; }

.etkprm .exam-progress-text { color: var(--etk-text); font-size: 13px; font-weight: 500; white-space: nowrap; }
.etkprm .exam-progress-text #answeredCount { font-weight: 700; color: var(--etk-ink); }
.etkprm .exam-topbar-right .btn-danger {
    background: #fff; color: var(--primary-dark); border: 1.5px solid var(--primary); border-radius: 8px;
    font-weight: 600; min-height: 40px;
}
.etkprm .exam-topbar-right .btn-danger:hover { background: var(--primary-light); }

/* ---------- Yerlesim ---------- */
.etkprm .exam-layout { grid-template-columns: 264px minmax(0, 1fr); }

.etkprm .exam-nav-panel {
    background: #fff; border-inline-end: 1px solid var(--etk-line); border-right: 0;
    height: calc(100vh - 62px); top: 62px; padding: 20px 18px;
}
.etkprm .exam-nav-panel h4 {
    font-family: var(--etk-display); font-size: 14px; font-weight: 700; color: var(--etk-ink); margin-bottom: 14px;
}
.etkprm .question-nav-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.etkprm .q-nav-btn {
    border: 1.5px solid var(--etk-line); border-radius: 10px; background: #fff; color: var(--etk-text);
    font-weight: 600; font-size: 14px; font-variant-numeric: tabular-nums; min-height: 40px;
    transition: background-color .15s, border-color .15s, color .15s;
}
.etkprm .q-nav-btn:hover { border-color: var(--primary); }
.etkprm .q-nav-btn.answered { background: #e4f2e8; border-color: #9ccaa8; color: var(--primary-dark); }
.etkprm .q-nav-btn.current {
    background: var(--primary); border-color: var(--primary); color: #fff;
    box-shadow: 0 0 0 3px rgba(50, 131, 74, .22);
}
.etkprm .nav-legend { gap: 10px; font-size: 13px; color: var(--etk-text); }
.etkprm .legend-dot { border-radius: 4px; margin-inline-end: 8px; }
.etkprm .legend-dot.answered { background: #9ccaa8; }
.etkprm .legend-dot.empty { background: #fff; border: 1.5px solid var(--etk-line); }

/* ---------- Soru alani ---------- */
.etkprm .exam-question-area { padding: 32px 40px 48px; max-width: 860px; min-width: 0; width: 100%; }
.etkprm .question-header { margin-bottom: 16px; }
.etkprm .question-number {
    font-family: var(--etk-display); font-size: 13px; font-weight: 700; color: var(--primary-dark);
    background: #e4f2e8; border-radius: 999px; padding: 5px 14px; font-variant-numeric: tabular-nums;
}
.etkprm .pen-surface { background: #fff; border: 1px solid var(--etk-line); border-radius: 16px; padding: 28px 32px 8px; }
.etkprm .question-text {
    font-size: 18px; line-height: 1.75; color: var(--etk-ink); max-width: 68ch; margin-bottom: 20px;
    overflow-wrap: anywhere;
}
.etkprm .question-image { margin: 16px 0 20px; text-align: start; }
.etkprm .question-image img { max-width: min(100%, 480px); height: auto; border-radius: 10px; border: 1px solid var(--etk-line); }

.etkprm .options-list { gap: 10px; margin: 24px 0 24px; padding-top: 0; }
.etkprm .option-item {
    position: relative; min-height: 56px; padding: 10px 18px; gap: 14px;
    border: 1.5px solid var(--etk-line); border-radius: 10px; background: #fff;
    transition: background-color .15s, border-color .15s;
}
.etkprm .option-item:hover { border-color: #9ccaa8; background: var(--etk-tint); }
.etkprm .option-item.selected { border-color: var(--primary); border-width: 2px; padding: 9.5px 17.5px; background: var(--primary-light); }
/* Radyo gorunmez ama klavye ile odaklanabilir (ok tuslariyla secim) */
.etkprm .option-item input[type="radio"] {
    display: block; position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none;
}
.etkprm .option-letter {
    width: 36px; height: 36px; background: var(--etk-tint); border: 1px solid var(--etk-line);
    color: var(--etk-text); font-family: var(--etk-display); font-weight: 700; font-size: 15px;
}
.etkprm .option-item.selected .option-letter { background: var(--primary); border-color: var(--primary); color: #fff; }
.etkprm .option-text { font-size: 16px; line-height: 1.5; color: var(--etk-ink); min-width: 0; overflow-wrap: anywhere; }
.etkprm .option-image { max-height: 96px; max-width: 100%; height: auto; }
.etkprm .option-item.selected::after {
    content: ""; flex: 0 0 auto; width: 6px; height: 12px; margin-inline-end: 4px;
    border: solid var(--primary); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) translateY(-2px);
}

.etkprm .question-actions { border-top: 1px solid var(--etk-line); padding: 18px 0 0; margin: 0 4px; }
.etkprm .question-actions .btn { min-height: 48px; padding-inline: 22px; border-radius: 8px; font-weight: 600; }
.etkprm .question-actions .btn-outline { background: #fff; border: 1.5px solid var(--etk-line); color: var(--etk-ink); }
.etkprm .question-actions .btn-outline:hover { border-color: var(--primary); color: var(--primary-dark); }

/* ---------- Bitirme penceresi ---------- */
.etkprm .modal-overlay { background: rgba(16, 51, 29, .45); }
.etkprm .modal-content { border-radius: 16px; border: 1px solid var(--etk-line); box-shadow: 0 18px 65px rgba(18, 60, 30, .18); }
.etkprm .modal-header { border-bottom-color: var(--etk-line); }
.etkprm .modal-header h3 { font-family: var(--etk-display); font-weight: 700; color: var(--etk-ink); }
.etkprm .modal-header h3 i { color: var(--primary); }
.etkprm .modal-body p { color: var(--etk-text); line-height: 1.6; }
.etkprm .finish-summary { background: var(--etk-tint); border-radius: 10px; padding: 4px 16px; }
.etkprm .summary-item { border-bottom-color: var(--etk-line); font-variant-numeric: tabular-nums; }
.etkprm .summary-item:last-child { border-bottom: 0; }
.etkprm .modal-actions { border-top-color: var(--etk-line); }
.etkprm .modal-actions .btn { min-height: 48px; border-radius: 8px; }

/* ---------- Tablet / telefon ---------- */
@media (max-width: 768px) {
    .etkprm .exam-layout { grid-template-columns: minmax(0, 1fr); }
    .etkprm .exam-topbar { padding: 8px 14px; gap: 6px 12px; }
    .etkprm .exam-timer { font-size: 18px; padding: 4px 14px; }
    .etkprm .exam-topbar-right .btn-danger { min-height: 40px; }
    .etkprm .exam-nav-panel { padding: 10px 14px; border-inline-end: 0; border-bottom: 1px solid var(--etk-line); height: auto; top: auto; }
    .etkprm .question-nav-grid { display: flex; gap: 8px; }
    .etkprm .q-nav-btn { flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; }
    .etkprm .exam-question-area { padding: 14px 12px calc(var(--etk-bar-h) + 28px + env(safe-area-inset-bottom)); max-width: none; }
    .etkprm .pen-surface { padding: 18px 16px 4px; border-radius: 12px; }
    .etkprm .question-text { font-size: 17px; line-height: 1.7; }
    .etkprm .options-list { margin-bottom: 8px; }
    .etkprm .option-item { min-height: 56px; padding: 10px 14px; gap: 12px; }
    .etkprm .option-item.selected { padding: 9.5px 13.5px; }

    /* Sabit alt gezinme cubugu */
    .etkprm .question-actions {
        position: fixed; inset-inline: 0; bottom: 0; z-index: 800; margin: 0;
        display: flex; gap: 10px; align-items: center;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        min-height: var(--etk-bar-h); background: rgba(255, 255, 255, .97);
        border-top: 1px solid var(--etk-line); box-shadow: 0 -6px 18px rgba(18, 60, 30, .08);
    }
    .etkprm .question-actions > span { flex: 1 1 0; }
    .etkprm .question-actions .btn { flex: 1 1 0; justify-content: center; min-height: 52px; }
    /* Karalama kalemi cubugu alt gezinmenin ustunde dursun */
    .etkprm .pen-bar { bottom: calc(var(--etk-bar-h) + 12px + env(safe-area-inset-bottom)); }
    body.pen-ready.etkprm .exam-question-area { padding-bottom: calc(var(--etk-bar-h) + 84px + env(safe-area-inset-bottom)); }
    body.etkprm .exsec-toast { bottom: calc(var(--etk-bar-h) + 16px); }
}

@media (min-width: 769px) and (max-width: 1100px) {
    .etkprm .exam-layout { grid-template-columns: 220px minmax(0, 1fr); }
    .etkprm .question-nav-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .etkprm .exam-question-area { padding: 24px 24px 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .etkprm * { transition: none !important; animation: none !important; }
}

.etkprm .btn-success { background: var(--primary); border-color: var(--primary); color: #fff; }
.etkprm .btn-success:hover { background: var(--primary-dark); border-color: var(--primary-dark); }


/* ==== EVERIFY.css ==== */
/* EVERIFY — e-posta dogrulama: profil karti, durum rozeti, kod alani, panel hatirlatmasi */
.ev-card { margin-bottom: 20px; }
.ev-title { margin: 0 0 12px; font-size: 17px; }
.ev-title i { color: var(--primary); margin-inline-end: 4px; }
.ev-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.ev-email { font-weight: 600; color: var(--gray-900); overflow-wrap: anywhere; min-width: 0; }
.ev-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.ev-badge-ok { background: #e7f6ec; color: #17693a; }
.ev-badge-no { background: #fff4e5; color: #9a4b00; }
.ev-desc { margin: 12px 0 0; color: var(--gray-700); font-size: 14px; line-height: 1.5; }
.ev-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 20px; margin-top: 14px; }
.ev-actions[hidden], .ev-code[hidden], .ev-msg[hidden] { display: none; }
.ev-actions .btn { margin: 0; }
.ev-send { flex: 0 0 auto; }
.ev-send .btn[disabled] { opacity: .65; cursor: not-allowed; }
.ev-code { flex: 1 1 260px; min-width: 0; margin: 0; }
.ev-code-label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-800); margin-bottom: 6px; }
.ev-code-row { display: flex; gap: 8px; align-items: stretch; }
.ev-code-input {
    width: 9.5em; max-width: 100%; min-width: 0; padding: 8px 10px; font-size: 20px; font-weight: 700;
    letter-spacing: .3em; font-variant-numeric: tabular-nums; text-align: center;
    border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white); color: var(--gray-900);
}
.ev-code-input:focus { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.ev-hint { display: block; margin-top: 6px; color: var(--gray-600); font-size: 12.5px; }
.ev-msg { margin: 12px 0 0; padding: 8px 12px; border-radius: var(--radius-sm); font-size: 14px; background: var(--gray-100); color: var(--gray-800); overflow-wrap: anywhere; }
.ev-msg-ok { background: #e7f6ec; color: #17693a; }
.ev-msg-err { background: #fdecec; color: #a61b1b; }

/* Panel hatirlatmasi */
.ev-remind { background: #fffaf0; border: 1px solid #f3dcb0; border-radius: var(--radius); padding: 14px 16px; margin-bottom: 20px; }
.ev-remind-head { display: flex; align-items: flex-start; gap: 12px; }
.ev-remind-icon { color: #b45309; font-size: 22px; margin-top: 2px; flex: 0 0 auto; }
.ev-remind-text { flex: 1 1 auto; min-width: 0; }
.ev-remind-text strong { display: block; color: var(--gray-900); }
.ev-remind-text p { margin: 2px 0 0; color: var(--gray-700); font-size: 14px; overflow-wrap: anywhere; }
.ev-remind .ev-actions { margin-top: 10px; padding-inline-start: 34px; }
.ev-remind .ev-msg { margin-inline-start: 34px; }
.ev-dismiss { margin: 0; flex: 0 0 auto; }
.ev-close { background: none; border: 0; color: var(--gray-600); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 15px; }
.ev-close:hover, .ev-close:focus-visible { background: rgba(0,0,0,.06); color: var(--gray-900); }
.ev-remind[data-ev-state="verified"] { background: #f1faf4; border-color: #bfe3cb; }

@media (max-width: 600px) {
    .ev-actions { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
    .ev-send, .ev-code { width: 100%; }
    .ev-send .btn { width: 100%; justify-content: center; }
    .ev-code { flex-basis: auto; }
    .ev-code-input { flex: 1 1 0; width: 0; }
    .ev-remind .ev-actions, .ev-remind .ev-msg { padding-inline-start: 0; margin-inline-start: 0; }
}


/* ==== EXCOPY.css ==== */
/* EXCOPY: Admin > Sinavlar satirindaki "Kopyala" formu (satir ici; butonlar arasi bosluk ADM.css ile ayni) */
.excopy-form { display: inline; }
.admin-body .admin-table td > .excopy-form + form { margin-left: 4px; }


/* ==== EXCOV.css ==== */
/* EXCOV — deneme sinavi kapak fotografi */

/* Ogrenci: sinav karti (kart dolgusu 24px; resim kenardan kenara) */
.exam-card.excov-has-cover { overflow: hidden; }
.excov-card-img {
    display: block;
    width: calc(100% + 48px);
    max-width: none;
    height: auto;
    aspect-ratio: 1200 / 630;
    object-fit: cover;
    margin: -24px -24px 16px;
    background: var(--gray-100, #f3f4f6);
}

/* Ogrenci: sinav baslangic sayfasi basligi */
.excov-start-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1200 / 630;
    object-fit: cover;
    border-radius: var(--radius, 12px);
    margin: 0 auto 20px;
    background: var(--gray-100, #f3f4f6);
}

/* Admin: kapak karti */
.excov-admin-preview {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--gray-200, #e5e7eb);
    margin-bottom: 12px;
    aspect-ratio: 1200 / 630;
    background: var(--gray-50, #f9fafb);
    display: flex;
    align-items: center;
    justify-content: center;
}
.excov-admin-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.excov-admin-preview.is-empty { aspect-ratio: auto; min-height: 96px; padding: 16px; text-align: center; color: var(--gray-500, #6b7280); font-size: 14px; }
.excov-admin-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.excov-admin-form input[type="file"] { flex: 1 1 200px; min-width: 0; max-width: 100%; }
.excov-note { font-size: 13px; color: var(--gray-500, #6b7280); margin: 0 0 8px; overflow-wrap: anywhere; }

/* Admin: sinav listesi kucuk resmi */
.excov-thumb {
    display: inline-block;
    width: 48px;
    height: 25px;
    object-fit: cover;
    border-radius: 4px;
    vertical-align: middle;
    margin-right: 8px;
    border: 1px solid var(--gray-200, #e5e7eb);
}


/* ==== EXLIST.css ==== */
/* EXLIST — deneme sinavlari kataloğu (public/exams.php). Kart kapagi icin assets/css/mo/COVDYN.css
   kullanilir (.covdyn-host + moCoverView()). Sinif etiketi KAT yardimcisiyle (moCategoryDisplay) —
   kategori ADI hic gosterilmez. Tum kurallar .exams-section altinda: filter-bar/filter-btn baska
   sayfalarda da kullanildigi icin (mentor-exams.php, admin/support.php) burada degistirilmez. */

.exams-section { padding: 32px 0 48px; }

/* ---- Filtre serit: telefonda tek satir, yatay kaydirma ---- */
@media (max-width: 640px) {
    .exams-section .filter-bar { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; margin-bottom: 24px; scrollbar-width: none; }
    .exams-section .filter-bar::-webkit-scrollbar { display: none; }
    .exams-section .filter-btn { flex: 0 0 auto; white-space: nowrap; }
}

/* ---- Kart izgarasi ---- */
.exlist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }

.exlist-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: var(--transition);
    min-width: 0;
}
.exlist-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

/* Kapak: gercek gorselin orani ne olursa olsun kesilmez (contain); dikey posterlerde yanlarda
   bos gri kalmasin diye zemin ayni gorselin bulanik buyutulmus kopyasidir (COVDYN.css). */
.exlist-cover {
    position: relative;
    aspect-ratio: 1200 / 630;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-light) 0%, #e3f0e7 100%);
}
.exlist-cover-empty { display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 34px; }
.exlist-cover-empty i { opacity: .5; }
.exlist-grade {
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 2;
    background: rgba(255, 255, 255, .94);
    color: var(--primary-dark);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 6px 11px;
    border-radius: 20px;
    box-shadow: var(--shadow);
}
[dir="rtl"] .exlist-grade { left: auto; right: 10px; }

.exlist-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; min-width: 0; }
.exlist-title { font-size: 17px; line-height: 1.32; color: var(--dark); margin: 0; overflow-wrap: anywhere; }
.exlist-desc { font-size: 13.5px; line-height: 1.5; color: var(--gray-600); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.exlist-meta { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--gray-700); }
.exlist-meta li { display: inline-flex; align-items: center; gap: 5px; }
.exlist-meta i { color: var(--primary); }

.exlist-score { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: var(--gray-50); border-radius: var(--radius-sm); font-size: 13px; }
.exlist-score-label { color: var(--gray-600); }
.exlist-score-val { font-weight: 800; }
.exlist-score-val.is-pass { color: #166534; }
.exlist-score-val.is-fail { color: #991b1b; }
.exlist-score-n { margin-left: auto; color: var(--gray-500); font-size: 12px; white-space: nowrap; }
[dir="rtl"] .exlist-score-n { margin-left: 0; margin-right: auto; }

.exlist-foot { margin-top: auto; padding-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 10px 12px; flex-wrap: wrap; }
.exlist-price { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--gray-700); white-space: nowrap; }
.exlist-price.is-free { color: var(--primary); }
.exlist-price.is-owned { color: #166534; }
.exlist-foot .btn { flex: 1 1 auto; justify-content: center; min-height: 40px; }
.exlist-foot .exlist-price + .btn { flex: 0 1 auto; }

.exlist-empty { text-align: center; padding: 48px 20px; color: var(--gray-600); }
.exlist-empty i { font-size: 40px; color: var(--gray-400); margin-bottom: 14px; display: block; }
.exlist-empty h3 { color: var(--dark); margin-bottom: 6px; }

@media (max-width: 480px) {
    .exlist-grid { grid-template-columns: 1fr; gap: 16px; }
    .exlist-foot { flex-direction: column; align-items: stretch; }
    .exlist-foot .exlist-price { justify-content: center; padding: 4px 0; }
    .exlist-foot .btn { width: 100%; }
}


/* ==== EXPRM.css ==== */
/* EXPRM - sinavlar listesi (public/exams.php) premium yeniden duzeni.
   Tum kurallar .ex kokuyle kapsamli. Ana sayfayla (HOMEPRM.css) ayni dil: "akademik hassasiyet",
   marka yesili + soguk yesil-gri kagit tonu, Manrope basliklar + DM Sans metin (yuklu), kart-icinde-kart yok,
   sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL: ar, fa, ur).
   Kapak: COVDYN.css (.covdyn-host + moCoverView()). Eski EXLIST.css bu sayfada artik kullanilmaz. */

.ex {
    --ex-tint: #f1f6f2;
    --ex-line: #d6e3d9;
    --ex-ink: var(--dark);
    --ex-text: #4a554e;
    --ex-r: 16px;
    --ex-r-sm: 10px;
    --ex-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --ex-key: #a8dbb7;
    margin-bottom: -72px; /* .ftr kendi ust boslugunu getiriyor; liste zemini alt bilgiye bitisik olsun */
}

.ex a:focus-visible,
.ex button:focus-visible,
.ex input:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.ex-hero a:focus-visible { outline-color: #fff; }

.ex-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- BASLIK ---------- */
.ex-hero { background: var(--secondary); color: #fff; padding: clamp(36px, 5vw, 64px) 0; }
.ex-hero-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: end; }
.ex-hero-text { min-width: 0; }
.ex-hero h1 {
    font-family: var(--ex-display); font-weight: 800; color: #fff; text-align: start;
    font-size: clamp(34px, 4.6vw, 56px); line-height: 1.05; letter-spacing: -0.035em; margin: 0 0 16px;
}
.ex-hero-text > p { color: rgba(255, 255, 255, 0.84); font-size: 17px; line-height: 1.65; max-width: 54ch; margin: 0; }
.ex-hero .page-header-note { margin-top: 22px; }
.ex-hero .page-header-note a { min-height: 44px; padding: 0 18px; border-radius: 999px; }

.ex-sum { max-width: 440px; justify-self: end; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.22); }
.ex-sum > div { display: flex; flex-direction: column; padding: 18px 20px 0; border-inline-start: 1px solid rgba(255, 255, 255, 0.16); }
.ex-sum > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.ex-sum dt { order: 2; font-size: 14px; line-height: 1.35; color: rgba(255, 255, 255, 0.78); margin: 8px 0 0; }
.ex-sum dd { margin: 0; font-family: var(--ex-display); font-weight: 800; font-size: clamp(30px, 3.4vw, 44px); line-height: 1; letter-spacing: -0.03em; color: var(--ex-key); font-variant-numeric: tabular-nums; }

/* ---------- LISTE ZEMINI ---------- */
.ex-main { background: var(--ex-tint); padding: clamp(28px, 4vw, 44px) 0 clamp(72px, 8vw, 104px); min-height: 420px; }

/* ---------- FILTRE CUBUGU ---------- */
.ex-bar { display: grid; gap: 16px; margin-bottom: clamp(24px, 3vw, 36px); }
.ex-grades { display: flex; flex-wrap: wrap; gap: 8px; }
.ex-chip {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px;
    background: #fff; border: 1px solid var(--ex-line); color: var(--ex-ink);
    font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: background-color .2s, border-color .2s, color .2s;
}
.ex-chip:hover { border-color: var(--primary); color: var(--primary-dark); }
.ex-chip.is-active, .ex-chip.is-active:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }

.ex-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding-top: 16px; border-top: 1px solid var(--ex-line); }
.ex-tools[hidden] { display: none; }
.ex-search { position: relative; flex: 1 1 240px; max-width: 360px; }
.ex-search i { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); color: var(--ex-text); font-size: 14px; pointer-events: none; }
.ex-search input {
    width: 100%; min-height: 44px; padding: 0 14px; padding-inline-start: 40px; border: 1px solid var(--ex-line); border-radius: var(--ex-r-sm);
    background: #fff; color: var(--ex-ink); font: inherit; font-size: 16px;
}
.ex-search input::placeholder { color: #6b756e; opacity: 1; }
.ex-search input:hover { border-color: #b9cfbe; }

.ex-seg { display: inline-flex; gap: 2px; padding: 3px; background: #fff; border: 1px solid var(--ex-line); border-radius: var(--ex-r-sm); }
.ex-seg-btn {
    min-height: 44px; padding: 0 16px; border: 0; border-radius: 8px; background: transparent; color: var(--ex-text);
    font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; white-space: nowrap;
    transition: background-color .2s, color .2s;
}
.ex-seg-btn:hover { background: var(--primary-light); color: var(--primary-dark); }
.ex-seg-btn[aria-pressed="true"] { background: var(--primary-dark); color: #fff; }
.ex-count { margin: 0; margin-inline-start: auto; font-size: 14.5px; font-weight: 600; color: var(--ex-text); font-variant-numeric: tabular-nums; }

/* ---------- KART IZGARASI ---------- */
.ex-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.ex-card[hidden], .ex-grid[hidden] { display: none; }

.ex-card {
    display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    background: #fff; border: 1px solid var(--ex-line); border-radius: var(--ex-r);
    transition: border-color .2s, box-shadow .2s;
}
.ex-card:hover { border-color: #9fc4a9; box-shadow: 0 20px 36px -24px rgba(16, 51, 29, 0.4); }

.ex-cover { position: relative; aspect-ratio: 1200 / 630; overflow: hidden; background: #e3f0e6; border-bottom: 1px solid var(--ex-line); }
.ex-cover-empty { display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 34px; }
.ex-cover-empty i { opacity: .45; }

.ex-body { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: 20px 22px 22px; min-width: 0; }
.ex-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ex-tag { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; background: #e3f0e6; color: #1d5a31; font-size: 13px; font-weight: 700; line-height: 1.2; }
.ex-st-new { background: #edf0ee; color: #3f4a43; }
.ex-st-progress { background: #fdf0d2; color: #6e4300; }
.ex-st-done { background: var(--primary-dark); color: #fff; }

.ex-title { font-family: var(--ex-display); font-size: 21px; font-weight: 800; line-height: 1.22; letter-spacing: -0.02em; color: var(--ex-ink); margin: 0; overflow-wrap: anywhere; }
.ex-desc { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ex-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.ex-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--ex-text); }
.ex-facts li { display: inline-flex; align-items: center; gap: 7px; }
.ex-facts i { color: var(--primary); font-size: 13px; }

.ex-score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 4px 0 0; padding-top: 14px; border-top: 1px solid var(--ex-line); font-size: 14px; color: var(--ex-text); }
.ex-score strong { font-family: var(--ex-display); font-size: 22px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ex-score .is-pass { color: #166534; }
.ex-score .is-fail { color: #991b1b; }
.ex-score-v { font-weight: 700; }
.ex-score-n { margin-inline-start: auto; font-size: 13.5px; }

.ex-foot { margin-top: auto; padding-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap; }
.ex-price { display: inline-flex; align-items: baseline; gap: 6px; font-family: var(--ex-display); font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--ex-ink); white-space: nowrap; }
.ex-price small { font-size: 13px; font-weight: 700; color: var(--ex-text); letter-spacing: 0; }
.ex-price.is-owned { color: #166534; font-size: 16px; align-items: center; }
.ex-cta { min-height: 44px; justify-content: center; flex: 1 1 auto; padding-inline: 18px; }
.ex-price + .ex-cta { flex: 0 1 auto; }
.ex-more { align-self: flex-start; font-size: 14px; font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; margin-block: -10px -12px; }
.ex-more:hover { color: var(--primary); }

/* ---------- BOS DURUMLAR ---------- */
.ex-empty { max-width: 520px; margin-inline: auto; text-align: center; padding: 56px 20px; color: var(--ex-text); }
.ex-empty[hidden] { display: none; }
.ex-empty i { display: block; font-size: 36px; color: var(--primary); opacity: .55; margin-bottom: 16px; }
.ex-empty h2 { font-family: var(--ex-display); font-size: 24px; font-weight: 800; letter-spacing: -0.02em; color: var(--ex-ink); margin: 0 0 8px; }
.ex-empty p { margin: 0 0 20px; font-size: 16px; line-height: 1.6; }
.ex-empty .btn { min-height: 44px; }

/* ---------- HAREKET: yalniz sayfa acilisinda tek, olculu sira ---------- */
@media (prefers-reduced-motion: no-preference) {
    .ex-card { animation: exRise .5s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .ex-card:nth-child(2) { animation-delay: .06s; }
    .ex-card:nth-child(3) { animation-delay: .12s; }
    .ex-card:nth-child(n+4) { animation-delay: .18s; }
}
@keyframes exRise { from { opacity: 0; transform: translateY(10px); } }

/* ---------- KUCUK EKRANLAR ---------- */
@media (max-width: 860px) {
    .ex-hero-in { grid-template-columns: minmax(0, 1fr); align-items: start; }
    .ex-sum { justify-self: start; }
}
@media (max-width: 640px) {
    .ex-hero-text > p { font-size: 16px; }
    .ex-sum > div { padding: 16px 14px 0; }
    .ex-grades { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-inline: -20px; padding-inline: 20px; padding-bottom: 2px; }
    .ex-grades::-webkit-scrollbar { display: none; }
    .ex-tools { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .ex-search { max-width: none; }
    .ex-seg { display: flex; flex-wrap: wrap; }
    .ex-seg-btn { flex: 1 1 auto; padding-inline: 12px; }
    .ex-count { margin: 0; }
    .ex-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .ex-body { padding: 18px 18px 20px; }
}
@media (max-width: 400px) {
    .ex-foot { flex-direction: column; align-items: stretch; }
    .ex-price { justify-content: center; }
    .ex-cta { width: 100%; }
}


/* ==== EXSEC.css ==== */
/* EXSEC — sinav guvenligi: sinav ekrani (body.exsec-on) + admin raporu (.exsec-adm-*).
 * Bu dosya header / admin-header tarafindan tum sayfalara baglanir; kurallar yalnizca exsec siniflarina uygulanir. */

/* ---------- Sinav ekrani: secme / uzun basma / surukleme kapali ---------- */
body.exsec-on .exam-interface {
    -webkit-user-select: none; user-select: none;
    -webkit-touch-callout: none;
}
body.exsec-on .exam-interface img { -webkit-user-drag: none; pointer-events: none; }

/* Sorular: kapi acikken, odak kaybinda ve kaplama varken gizli (gorunurluk: ekran goruntusunde de bos) */
body.exsec-on.exsec-pending .exam-layout,
body.exsec-on.exsec-hidden .exam-layout,
body.exsec-on.exsec-shielded .exam-layout { visibility: hidden; }

/* ---------- Ihlal sayaci (ust cubuk) ---------- */
.exsec-counter {
    display: inline-flex; align-items: center; gap: 6px; margin-inline-start: 10px;
    padding: 6px 10px; border-radius: 999px; font-size: 13px; line-height: 1;
    background: #eef2f7; color: #334155; border: 1px solid #d6dde6; white-space: nowrap;
}
.exsec-counter strong { font-variant-numeric: tabular-nums; }
.exsec-counter.is-warn { background: #fef7e0; border-color: #f3d98b; color: #8a5a00; }
.exsec-counter.is-danger { background: #fce8e6; border-color: #f5b5ae; color: #b42318; }
@media (max-width: 768px) {
    .exsec-counter { margin-inline-start: 0; padding: 5px 8px; }
    .exsec-counter-label { display: none; }
}

/* ---------- Filigran: tum ekran, cok silik Fibonacci logosu, egik; katman yavasca kayar (sabit konumdan kirpilmasin) ---------- */
.exsec-wm { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 1500; }
.exsec-wm-layer {
    position: absolute; left: calc(-1 * var(--exsec-tw, 400px)); top: calc(-1 * var(--exsec-th, 200px));
    right: 0; bottom: 0;
    background-image: var(--exsec-wm); background-repeat: repeat;
    opacity: .05; will-change: transform;
    animation: exsec-drift 120s linear infinite;
}
@keyframes exsec-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(var(--exsec-tw, 400px), var(--exsec-th, 200px), 0); } }
@media (prefers-reduced-motion: reduce) { .exsec-wm-layer { animation: none; } }
body.exsec-on.exsec-pending .exsec-wm { display: none; }

/* ---------- Kapi + kaplamalar ---------- */
.exsec-overlay {
    position: fixed; inset: 0; z-index: 2100; display: flex; align-items: center; justify-content: center;
    padding: 16px; background: rgba(15, 23, 42, .72); overflow-y: auto;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.exsec-overlay[hidden] { display: none; }
#exsecGate { background: rgba(15, 23, 42, .6); }
.exsec-shield-finished { z-index: 2200; }
.exsec-card {
    background: #fff; color: #1f2937; width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto;
    margin: auto; border-radius: 16px; padding: 24px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); text-align: start;
}
.exsec-card-icon {
    width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
    background: var(--primary-light, #e8f0fe); color: var(--primary, #1a73e8); font-size: 22px; margin-bottom: 12px;
}
.exsec-card h2 { font-size: 20px; margin: 0 0 6px; }
.exsec-card p { margin: 0 0 12px; line-height: 1.55; color: #374151; }
.exsec-rules { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.exsec-rules li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; font-size: 14px; line-height: 1.5; color: #374151; }
.exsec-rules li[hidden] { display: none; }
.exsec-rules i { color: var(--primary, #1a73e8); margin-top: 3px; text-align: center; }
.exsec-rules .exsec-rule-limit { font-weight: 600; color: #1f2937; }
.exsec-rules .exsec-rule-limit i { color: #b45309; }
.exsec-note { font-size: 13px; background: #f1f5f9; border-radius: 10px; padding: 10px 12px; }
.exsec-alert {
    display: grid; gap: 6px; font-size: 14px; background: #fce8e6; color: #8c1d18;
    border: 1px solid #f5b5ae; border-radius: 10px; padding: 12px; margin-bottom: 12px;
}
.exsec-alert[hidden], .exsec-note[hidden] { display: none; }
.exsec-alert .btn { justify-self: start; }
.exsec-alert-soft { background: #fef7e0; color: #7a4f00; border-color: #f3d98b; }
.exsec-gate-count { font-size: 13px; font-weight: 600; color: #b42318; }
.exsec-start, .exsec-shield .btn-lg { width: 100%; justify-content: center; }
.exsec-start[disabled] { opacity: .55; cursor: not-allowed; }
.exsec-shield .exsec-card { text-align: center; }
.exsec-shield .exsec-card-icon { margin: 0 auto 12px; background: #fce8e6; color: #b42318; }
.exsec-shield-finished .exsec-card-icon { background: #e6f4ea; color: #137333; }
@media (max-width: 480px) {
    .exsec-card { padding: 18px 16px; border-radius: 14px; }
    .exsec-card h2 { font-size: 18px; }
    .exsec-rules li { font-size: 13.5px; }
}

/* ---------- Bildirim ---------- */
.exsec-toast {
    position: fixed; left: 50%; bottom: 20px; z-index: 2300; transform: translate(-50%, 20px);
    width: max-content; max-width: calc(100% - 32px); padding: 12px 16px; border-radius: 12px;
    background: #1f2937; color: #fff; font-size: 14px; line-height: 1.45; box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
    opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s;
    pointer-events: none;   /* gorunurken alttaki dugmeleri (kalem cubugu, gezinme) ortmesin */
}
.exsec-toast button { pointer-events: auto; }
.exsec-toast.is-show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.exsec-toast.is-strong { background: #b42318; }
/* Kalem cubugu (PEN, alt kose; dar ekranda tum genislik, 52 px) acikken bildirim onun ustunde durur */
body.pen-ready .exsec-toast { bottom: calc(max(16px, env(safe-area-inset-bottom)) + 64px); }

/* ---------- Yazdirma: sinav icerigi basilmaz ---------- */
.exsec-print-msg { display: none; }
@media print {
    body.exsec-on > * { display: none !important; }
    body.exsec-on > .exsec-print-msg { display: block !important; font: 18px/1.5 Arial, sans-serif; padding: 40px; }
}

/* ---------- Admin: sinav butunlugu raporu ---------- */
.exsec-adm-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.exsec-adm-settings fieldset { border: 1px solid var(--gray-200, #e5e7eb); border-radius: 10px; padding: 12px 14px; margin: 0; min-width: 0; }
.exsec-adm-settings legend { font-weight: 600; padding: 0 6px; }
.exsec-adm-settings label { display: grid; gap: 4px; font-size: 13px; margin-bottom: 10px; }
.exsec-adm-settings select, .exsec-adm-settings input { width: 100%; max-width: 100%; }
.exsec-adm-h { font-size: 15px; margin: 0 0 8px; }
.exsec-adm-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.exsec-risk { display: inline-block; min-width: 38px; text-align: center; padding: 3px 8px; border-radius: 999px; font-weight: 700; font-size: 12px; }
.exsec-risk.low { background: #e6f4ea; color: #137333; }
.exsec-risk.mid { background: #fef7e0; color: #8a5a00; }
.exsec-risk.high { background: #fce8e6; color: #b42318; }
.exsec-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.admin-table .exsec-tags { max-width: 190px; }
.exsec-tag { font-size: 11.5px; background: var(--gray-100, #f3f4f6); border-radius: 6px; padding: 2px 6px; }
.exsec-kind { font-size: 11px; background: #ede9fe; color: #5b21b6; border-radius: 6px; padding: 1px 6px; }
.exsec-tl { position: relative; height: 38px; margin: 8px 6px 4px; border-radius: 6px; background: var(--gray-100, #f3f4f6); }
.exsec-tl-dot {
    position: absolute; top: 50%; left: var(--x, 0%); width: 12px; height: 12px; margin: -6px 0 0 -6px;
    border-radius: 50%; border: 2px solid #fff; background: #64748b; box-shadow: 0 0 0 1px rgba(0, 0, 0, .1);
}
.exsec-tl-dot.c-away { background: #f59e0b; }
.exsec-tl-dot.c-capture { background: #dc2626; }
.exsec-tl-dot.c-env { background: #7c3aed; }
.exsec-tl-dot.c-copy { background: #2563eb; }
.exsec-tl-dot.is-grouped { opacity: .45; }
.exsec-tl-scale { display: flex; justify-content: space-between; font-size: 11px; color: var(--gray-500, #6b7280); margin: 0 6px; }
.exsec-tl-legend { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--gray-600, #4b5563); margin-top: 8px; }
.exsec-tl-legend span { display: inline-flex; align-items: center; gap: 5px; }
.exsec-tl-legend .exsec-tl-dot { position: static; margin: 0; }
.exsec-row-grouped td { color: var(--gray-500, #6b7280); }
@media (max-width: 820px) {
    .exsec-adm-settings { grid-template-columns: minmax(0, 1fr); }
}

/* RTL: onceki/sonraki oklari okuma yonune cevrilir */
[dir="rtl"] .exam-layout .fa-arrow-left,
[dir="rtl"] .exam-layout .fa-arrow-right { transform: scaleX(-1); }


/* ==== EXST.css ==== */
/* EXST — sinav baslangic ekrani (public/exam-start.php). Onceki .exam-start-* siniflarinin yerini alir. */

.exst-page { padding: 32px 0 56px; }
.exst-card {
    max-width: 760px;
    margin: 0 auto;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

/* ---- Kapak + baslik ---- */
.exst-hero { display: block; }
.exst-hero .excov-start-img { border-radius: 0; margin: 0; }
.exst-hero-icon {
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 1200 / 630;
    background: var(--primary-light);
    color: var(--primary);
    font-size: 48px;
    margin: 0;
}
.exst-hero-body { padding: 24px 32px 0; text-align: center; }
.exst-hero-body h1 { font-size: 26px; line-height: 1.25; color: var(--dark); margin: 10px 0 0; }
.exst-desc { margin: 10px auto 0; max-width: 56ch; color: var(--gray-700); font-size: 15px; }

/* ---- Bilgi seridi ---- */
.exst-stats {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--gray-200);
    margin: 24px 32px 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
}
.exst-stat {
    background: var(--gray-50);
    display: flex; flex-direction: column; align-items: center; text-align: center;
    gap: 6px;
    padding: 14px 8px;
}
.exst-stat i { font-size: 18px; color: var(--primary); }
.exst-stat strong { display: block; font-size: 15px; color: var(--dark); line-height: 1.2; }
.exst-stat span { display: block; font-size: 11px; color: var(--gray-700); margin-top: 2px; }

/* ---- Kurallar + guvenlik ---- */
.exst-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 32px 0;
    align-items: start;
}
.exst-info-grid > section:only-child { grid-column: 1 / -1; }

.exst-rules, .exst-security { padding: 18px 20px; border-radius: var(--radius-sm); }
.exst-rules { background: var(--primary-light); }
.exst-security { background: var(--gray-50); border: 1px solid var(--gray-200); }

.exst-rules h2, .exst-security h2 {
    font-size: 14px; font-weight: 700; margin: 0 0 10px;
    display: flex; align-items: center; gap: 8px;
}
.exst-rules h2 { color: var(--primary-dark); }
.exst-rules h2 i { color: var(--primary); }
.exst-security h2 { color: var(--gray-800); }
.exst-security h2 i { color: var(--gray-700); }

.exst-rules ul, .exst-security ul { list-style: none; margin: 0; padding: 0; }
.exst-rules li, .exst-security li {
    position: relative;
    padding: 4px 0 4px 16px;
    font-size: 13px; line-height: 1.5;
    color: var(--gray-700);
}
.exst-rules li::before, .exst-security li::before {
    content: "";
    position: absolute; left: 0; top: 12px;
    width: 5px; height: 5px; border-radius: 50%;
}
.exst-rules li::before { background: var(--primary); }
.exst-security li::before { background: var(--gray-500); }

.exst-rules-more {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 10px; font-size: 13px; font-weight: 600;
}

/* ---- Sinav dili + eylem ---- */
.exst-form { margin: 24px 32px 32px; }
.exst-lang { margin-bottom: 18px; }
.exst-lang label {
    display: flex; align-items: center; gap: 8px;
    font-size: 14px; font-weight: 600; color: var(--dark);
    margin-bottom: 8px;
}
.exst-lang label i { color: var(--primary); }
.exst-lang-select {
    width: 100%;
    padding: 13px 16px;
    font-size: 15px;
    font-family: inherit;
    color: var(--dark);
    background: var(--white);
    border: 2px solid var(--gray-300);
    border-radius: var(--radius-sm);
    appearance: auto;
    min-height: 48px;
}
.exst-lang-select:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }

.exst-actions { margin-top: 4px; }
.exst-submit { font-size: 17px; padding: 16px; min-height: 52px; }

/* ---- Genislik uyumu ---- */
@media (max-width: 820px) {
    .exst-page { padding: 16px 0 40px; }
    .exst-card { border-radius: var(--radius); }
    .exst-hero-body { padding: 20px 20px 0; }
    .exst-hero-body h1 { font-size: 22px; }
    .exst-stats { grid-template-columns: repeat(2, 1fr); margin: 20px 20px 0; }
    .exst-info-grid { grid-template-columns: 1fr; margin: 20px 20px 0; }
    .exst-form { margin: 20px 20px 24px; }

    /* Eylem dugmesi her zaman kolay erisilebilir: gorunum alaninin altina sabitlenir. */
    .exst-actions {
        position: sticky;
        bottom: 0;
        margin: 16px -20px -24px;
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
        background: var(--white);
        border-top: 1px solid var(--gray-200);
        box-shadow: 0 -6px 16px rgba(0,0,0,.06);
        z-index: 5;
    }
}

@media (max-width: 480px) {
    .exst-hero-body { padding: 18px 16px 0; }
    .exst-stats { margin: 18px 16px 0; }
    .exst-info-grid { margin: 18px 16px 0; }
    .exst-form { margin: 18px 16px 20px; }
    .exst-actions { margin: 16px -16px -20px; padding-left: 16px; padding-right: 16px; }
}

/* RTL: nokta iconlari zaten mirror'lanir; ekstra ayar gerekmiyor (mantik ozellikleri kullanildi). */


/* ==== F0-header.css ==== */
/* Site ust bilgisi (header) - ogrenci, mentor ve ziyaretci; masaustu menu + dar ekran cekmecesi.
   HDRPRM yeniden tasarimi. Yon: "akademik hassasiyet" (ana sayfa HOMEPRM ile ayni dil): sakin beyaz zemin, ince yesil-gri
   cizgi, metin-agirlikli menu (masaustunda ikonsuz), aktif sayfa altta 2px marka yesili cizgi, ikonlar yalniz
   cekmecede. Sekil kilidi: butonlar/ikon dugmeleri 8px, ic ogeler 10px, paneller 16px, etiketler tam yuvarlak.
   Kaydirinca yalniz ince golge (yukseklik DEGISMEZ: sayfalardaki top:68px/90px ofsetleri korunur).
   .hd- onekli; style.css'teki eski .main-nav / .nav-link kurallarini ezer. RTL icin mantiksal ozellikler. */

:root { --hdr-h: 69px; } /* header toplam yuksekligi (bar 68 + 1px cizgi); <=640px'te 61px */

.hd, .hd-drawer {
    --hd-ink: #2d3830;
    --hd-muted: #566159;
    --hd-line: #d6e3d9;
    --hd-tint: #f1f6f2;
    --hd-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
}

.hd-skip { position: absolute; inset-inline-start: 8px; top: -60px; z-index: 1100; padding: 10px 16px; border-radius: 8px; background: var(--dark); color: #fff; font-weight: 600; font-size: 14px; }
.hd-skip:focus { top: 8px; color: #fff; outline: 3px solid var(--primary); outline-offset: 2px; }

/* Kaydirma gozcusu: JS (IntersectionObserver) gorunmez oldugunda header'a .is-scrolled ekler */
.hd-sentinel { position: absolute; top: 0; inset-inline: 0; height: 1px; pointer-events: none; }

.main-header.hd { background: #fff; border-bottom: 1px solid var(--hd-line); box-shadow: none; transition: box-shadow .2s ease; }
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .main-header.hd { background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: saturate(150%) blur(10px); backdrop-filter: saturate(150%) blur(10px); }
}
.main-header.hd.is-scrolled { box-shadow: 0 8px 24px -14px rgba(16, 51, 29, .35); }
.hd-bar { display: flex; align-items: center; gap: 16px; height: 68px; }

.hd :focus-visible, .hd-drawer :focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 8px; }
.hd a, .hd button, .hd-drawer a, .hd-drawer button, .hd-drawer summary { touch-action: manipulation; -webkit-tap-highlight-color: rgba(50, 131, 74, .14); }
.hd-panel :focus-visible, .hd-drawer-body :focus-visible { outline-offset: -2px; border-radius: 10px; }

/* Logo */
.hd-logo { display: flex; align-items: center; flex: 0 0 auto; border-radius: 8px; }
.hd-logo-img { width: 190px; height: auto; display: block; }

/* Ana menu (masaustu): metin-agirlikli, ikonsuz; aktif = alt cizgi */
.hd .hd-nav { flex: 1 1 auto; align-self: stretch; min-width: 0; display: flex; position: static; background: none; box-shadow: none; border: 0; margin-inline-start: 12px; }
.hd .hd-nav ul { display: flex; align-items: stretch; gap: 2px; list-style: none; margin: 0; padding: 0; flex-direction: row; }
.hd .hd-nav li { display: flex; }
.hd-link { position: relative; display: flex; align-items: center; gap: 6px; padding: 0 12px; border-radius: 8px; color: var(--hd-ink); font-family: var(--hd-display); font-size: 14px; font-weight: 600; letter-spacing: -.005em; white-space: nowrap; transition: color .2s ease; }
.hd .hd-nav .hd-link i { display: none; }
.hd-link::after { content: ""; position: absolute; inset-inline: 12px; bottom: 0; height: 2px; border-radius: 2px 2px 0 0; background: var(--primary); transform: scaleX(0); transform-origin: center; transition: transform .22s ease; }
.hd-link:hover { color: var(--primary-dark); }
.hd-link:hover::after { transform: scaleX(.5); }
.hd-link.is-active { color: var(--primary-dark); font-weight: 700; }
.hd-link.is-active::after { transform: scaleX(1); }
.hd-link .mo-count-badge { margin-inline-start: 2px; }

/* Sag taraf */
.hd-actions { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; flex: 0 0 auto; }
.hd-icons { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.hd-icon, .hd .hd-icons .nav-link {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; padding: 0; border-radius: 8px; color: var(--hd-muted); font-size: 17px; background: none; border: 0; cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}
.hd-icon:hover, .hd .hd-icons .nav-link:hover { background: var(--hd-tint); color: var(--primary-dark); }
.hd-icon.is-active { color: var(--primary-dark); background: var(--hd-tint); }
.hd .hd-icons .mo-count-badge { position: absolute; top: 2px; inset-inline-end: 0; right: auto; margin: 0; border: 2px solid #fff; height: 19px; min-width: 19px; font-size: 10px; box-sizing: border-box; }
.hd .hd-icons .mo-bell-label { display: none !important; }

/* Acilir paneller (dil, hesap) */
.hd-pop { position: relative; }
.hd-pop-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 10px; border: 1px solid var(--hd-line); border-radius: 8px; background: #fff; color: var(--hd-ink); font-family: var(--hd-display); font-size: 13px; font-weight: 700; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.hd-pop-btn:hover, .hd-pop-btn[aria-expanded="true"] { border-color: var(--primary); background: var(--hd-tint); }
.hd-pop-btn img:not(.hd-avatar) { border-radius: 3px; }
.hd-caret { font-size: 10px; color: var(--hd-muted); transition: transform .2s ease; }
.hd-pop-btn[aria-expanded="true"] .hd-caret { transform: rotate(180deg); }
.hd-user-btn { padding: 0 10px 0 3px; }
[dir="rtl"] .hd-user-btn { padding: 0 3px 0 10px; }
.hd-user-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.hd-panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 1001; min-width: 260px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid var(--hd-line); border-radius: 16px; box-shadow: 0 20px 48px -12px rgba(16, 51, 29, .22), 0 2px 6px rgba(16, 51, 29, .06); padding: 8px; animation: hdIn .16s ease-out; }
.hd-panel[hidden] { display: none; }
@keyframes hdIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.hd-lang-panel { width: 280px; }
.hd-lang-panel .hd-lang-list { max-height: min(60vh, 440px); overflow-y: auto; overscroll-behavior: contain; }
.hd-user-panel { width: 300px; }

/* Avatar ve kullanici karti */
.hd-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.hd-avatar-initial { display: inline-flex; align-items: center; justify-content: center; background: var(--secondary); color: #fff; font-family: var(--hd-display); font-weight: 800; font-size: 14px; }
.hd-user-card { display: flex; align-items: center; gap: 12px; padding: 10px 10px 12px; min-width: 0; }
.hd-user-card .hd-avatar { width: 44px; height: 44px; font-size: 18px; }
.hd-user-card > div { display: flex; flex-direction: column; min-width: 0; }
.hd-user-card strong { font-family: var(--hd-display); font-size: 15px; font-weight: 800; color: var(--dark); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hd-user-card small { font-size: 12px; color: var(--hd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hd-role { align-self: flex-start; margin-top: 5px; padding: 2px 9px; border-radius: 999px; background: var(--primary-light); color: var(--primary-dark); font-size: 11px; font-weight: 700; }
.hd-user-panel .hd-user-card { border-bottom: 1px solid var(--hd-line); margin-bottom: 6px; }

/* Menu listeleri (hesap paneli + cekmece) */
.hd-menu { display: flex; flex-direction: column; gap: 1px; }
.hd-menu > a, .hd-menu-link { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--hd-ink); font-size: 14px; font-weight: 500; transition: background-color .15s ease, color .15s ease; }
.hd-menu > a i, .hd-menu-link i { width: 18px; text-align: center; color: var(--hd-muted); font-size: 15px; }
.hd-menu > a:hover, .hd-menu-link:hover { background: var(--hd-tint); color: var(--primary-dark); }
.hd-menu-link.is-active { background: var(--hd-tint); color: var(--primary-dark); font-weight: 700; }
.hd-menu-link.is-active i { color: var(--primary); }
.hd-menu-link.is-active::before { content: ""; position: absolute; inset-inline-start: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: var(--primary); }
.hd-menu-link .mo-count-badge { margin-inline-start: auto; }
.hd-logout { color: #b91c1c !important; }
.hd-logout i { color: #b91c1c !important; }
.hd-logout:hover { background: #fef2f2 !important; }
.hd-user-panel .hd-logout { border-top: 1px solid var(--hd-line); border-radius: 0 0 10px 10px; margin-top: 6px; }

/* Dil listesi */
.hd-lang-list { display: flex; flex-direction: column; gap: 1px; }
.hd-lang-option { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: var(--hd-ink); font-size: 14px; }
.hd-lang-option:hover { background: var(--hd-tint); color: var(--dark); }
.hd-lang-option.is-active { background: var(--primary-light); color: var(--primary-dark); font-weight: 700; }
.hd-lang-option img { border-radius: 3px; flex: 0 0 auto; }
.hd-lang-option span { flex: 1 1 auto; min-width: 0; }
.hd-lang-option .fa-check { color: var(--primary); font-size: 12px; }

/* Ziyaretci */
.hd-login { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 12px; border-radius: 8px; color: var(--hd-ink); font-family: var(--hd-display); font-size: 14px; font-weight: 600; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
.hd-login i { color: var(--hd-muted); }
.hd-login:hover, .hd-login.is-active { background: var(--hd-tint); color: var(--primary-dark); }
.hd .hd-register { display: inline-flex; align-items: center; height: 40px; white-space: nowrap; padding: 0 18px; border-radius: 8px; font-family: var(--hd-display); font-weight: 700; }

/* Hamburger (dar ekranda gorunur) */
.hd-burger { display: none; position: relative; width: 44px; height: 44px; border: 1px solid var(--hd-line); border-radius: 8px; background: #fff; cursor: pointer; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 4px; transition: border-color .2s ease, background-color .2s ease; }
.hd-burger > span:not(.hd-burger-dot) { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--hd-ink); }
.hd-burger:hover, .hd-burger[aria-expanded="true"] { border-color: var(--primary); background: var(--hd-tint); }
.hd-burger-dot { position: absolute; top: 7px; inset-inline-end: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger); border: 2px solid #fff; box-sizing: content-box; }

/* ---------------- Cekmece ---------------- */
.hd-drawer { position: fixed; inset: 0; z-index: 1000; }
.hd-drawer[hidden] { display: none; }
.hd-drawer-backdrop { position: absolute; inset: 0; background: rgba(16, 28, 20, .5); opacity: 0; transition: opacity .22s ease; }
.hd-drawer-panel {
    position: absolute; top: 0; bottom: 0; inset-inline-end: 0; width: min(380px, 90vw);
    display: flex; flex-direction: column; background: #fff; border-start-start-radius: 16px; border-end-start-radius: 16px; box-shadow: -16px 0 40px rgba(16, 28, 20, .2);
    transform: translateX(100%); transition: transform .25s ease;
}
[dir="rtl"] .hd-drawer-panel { transform: translateX(-100%); box-shadow: 16px 0 40px rgba(16, 28, 20, .2); }
.hd-drawer.is-open .hd-drawer-backdrop { opacity: 1; }
.hd-drawer.is-open .hd-drawer-panel { transform: none; }
.hd-drawer-head { display: flex; align-items: flex-start; gap: 8px; padding: 12px 12px 10px 10px; border-bottom: 1px solid var(--hd-line); padding-top: max(12px, env(safe-area-inset-top)); }
[dir="rtl"] .hd-drawer-head { padding: 12px 10px 10px 12px; padding-top: max(12px, env(safe-area-inset-top)); }
.hd-drawer-head .hd-user-card { flex: 1 1 auto; padding: 4px; }
.hd-guest { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; padding: 8px; }
.hd-guest strong { font-family: var(--hd-display); font-size: 15px; font-weight: 800; color: var(--dark); }
.hd-guest small { font-size: 13px; color: var(--hd-muted); line-height: 1.5; }
.hd-close { flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 8px; background: var(--hd-tint); color: var(--hd-ink); font-size: 17px; cursor: pointer; transition: background-color .2s ease; }
.hd-close:hover { background: var(--hd-line); color: var(--dark); }
.hd-drawer-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 10px; }
.hd-drawer-body .hd-menu-link { min-height: 48px; padding: 12px; font-size: 15px; }
.hd-drawer-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.hd-drawer-auth .btn { justify-content: center; min-height: 46px; }
.hd-section { margin: 16px 12px 6px; font-size: 12px; font-weight: 700; color: var(--hd-muted); }
.hd-drawer-lang { margin-top: 12px; border-top: 1px solid var(--hd-line); padding-top: 8px; }
.hd-drawer-lang summary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px; border-radius: 10px; cursor: pointer; font-size: 15px; font-weight: 500; color: var(--hd-ink); list-style: none; }
.hd-drawer-lang summary::-webkit-details-marker { display: none; }
.hd-drawer-lang summary:hover { background: var(--hd-tint); }
.hd-drawer-lang summary > i { width: 18px; text-align: center; color: var(--hd-muted); }
.hd-drawer-lang-cur { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--hd-muted); }
.hd-drawer-lang-cur img { border-radius: 3px; }
.hd-drawer-lang .hd-lang-list { padding: 4px 4px 8px; }
.hd-drawer-foot { border-top: 1px solid var(--hd-line); padding: 8px 10px; padding-bottom: max(8px, env(safe-area-inset-bottom)); }
html.hd-lock, html.hd-lock body { overflow: hidden; }

/* ---------------- Dar ekran (cekmece modu) ----------------
   Tablet ve telefon: medya sorgusu; masaustunde menu sigmazsa (uzun diller) JS .hd-compact ekler. */
@media (max-width: 1024px) {
    .hd .hd-nav { display: none; }
    .hd-burger { display: inline-flex; }
}
/* 1. kademe: sigmiyorsa once sikistir (ad ve dil kodu gizlenir) */
.hd.hd-tight .hd-bar { gap: 10px; }
.hd.hd-tight .hd-logo-img { width: 160px; }
.hd.hd-tight .hd-link { padding: 0 9px; font-size: 13.5px; }
.hd.hd-tight .hd-link::after { inset-inline: 9px; }
.hd.hd-tight .hd-user-name, .hd.hd-tight .hd-lang-code { display: none; }
/* 2. kademe: hala sigmiyorsa cekmece modu */
.hd.hd-compact .hd-nav { display: none; }
.hd.hd-compact .hd-burger { display: inline-flex; }

@media (pointer: coarse) {
    .hd-icon, .hd .hd-icons .nav-link, .hd-pop-btn, .hd-login, .hd .hd-register { min-height: 44px; }
    .hd-icon, .hd .hd-icons .nav-link { min-width: 44px; }
}

@media (max-width: 640px) {
    :root { --hdr-h: 61px; }
    .hd-bar { height: 60px; gap: 8px; }
    .hd-logo-img { width: 138px; }
    .hd-lang, .hd-user { display: none; }
    .hd-login { padding: 0 10px; min-width: 44px; justify-content: center; }
    .hd-login span { display: none; }
    .hd-login i { font-size: 18px; color: var(--hd-ink); }
    .hd-actions { gap: 2px; }
    .hd-icon, .hd .hd-icons .nav-link { width: 40px; height: 40px; font-size: 16px; }
    .hd-burger { margin-inline-start: 4px; }
}
@media (max-width: 420px) {
    .hd .hd-register { display: none; }
}
@media (max-width: 360px) {
    .hd-logo-img { width: 116px; }
    .hd-icon, .hd .hd-icons .nav-link { width: 38px; height: 38px; }
    .hd-burger { margin-inline-start: 0; }
}

/* Masaustu, menu kalabalik (1025-1240px): biraz sikistir */
@media (min-width: 1025px) and (max-width: 1240px) {
    .hd-logo-img { width: 160px; }
    .hd .hd-nav { margin-inline-start: 4px; }
    .hd-link { padding: 0 9px; font-size: 13.5px; }
    .hd-link::after { inset-inline: 9px; }
    .hd-user-name { display: none; }
    .hd-lang-code { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .hd-drawer-panel, .hd-drawer-backdrop, .hd-panel, .hd-link::after, .main-header.hd { transition: none; animation: none; }
}

@media print {
    .hd-drawer { display: none !important; }
}

/* ---------------- Sinav kurallari capraz baglantisi ----------------
   exam-rules.php artik ust menude degil; exams.php basligi ve exam-start.php
   kural kutusu buradan erisim verir (header.php'nin devami olarak burada tutulur). */
.page-header-note { margin-top: 14px; }
.page-header-note a {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px;
    color: #fff; font-size: 13px; font-weight: 600; text-decoration: none;
    transition: background .2s, border-color .2s;
}
.page-header-note a:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .55); }
.page-header-note i { font-size: 12px; color: rgba(255, 255, 255, .85); }

.exam-rules-more {
    display: inline-flex; align-items: center; gap: 6px; margin-top: 12px;
    color: var(--primary-dark); font-size: 13px; font-weight: 700; text-decoration: none;
}
.exam-rules-more:hover { text-decoration: underline; }
.exam-rules-more i { font-size: 11px; transition: transform .15s; }
.exam-rules-more:hover i { transform: translateX(3px); }
[dir="rtl"] .exam-rules-more i { transform: scaleX(-1); }
[dir="rtl"] .exam-rules-more:hover i { transform: scaleX(-1) translateX(3px); }


/* ==== F0-tour.css ==== */
/* Sayfa tanitim turu — spot isigi + oklu aciklama kutusu (masaustu), alt panel (telefon) */

.mo-tour-btn {
    background: none; border: 0; cursor: pointer; font: inherit; color: var(--gray-700);
}
.mo-tour-btn:hover { color: var(--primary); }
.mo-tour-btn .fa-circle-question { font-size: 17px; }

/* Header ikonu varken sayfa ici eski "Sayfa turu" dugmeleri gereksiz */
body:has(#moTourBtn) [data-f4-tour-start] { display: none !important; }

.mo-tour { position: fixed; inset: 0; z-index: 10000; pointer-events: auto; animation: moTourFade .18s ease-out; }
.mo-tour.is-leaving { opacity: 0; transition: opacity .18s ease-in; }

/* Hedefin etrafinda delik: dev golge sayfanin geri kalanini karartir */
.mo-tour-spot {
    position: fixed; border-radius: 14px; pointer-events: none;
    box-shadow: 0 0 0 9999px rgba(15, 23, 42, .62), 0 0 0 3px var(--primary), 0 0 0 7px rgba(66, 179, 101, .28);
}
/* Yumusak gecis sadece adim degisirken; kaydirmada spot hedefi aninda izler */
.mo-tour.is-moving .mo-tour-spot { transition: top .3s ease, left .3s ease, width .3s ease, height .3s ease, border-radius .3s ease; }
.mo-tour.is-center .mo-tour-spot { box-shadow: 0 0 0 9999px rgba(15, 23, 42, .62); border-radius: 50%; }

.mo-tour-pop {
    position: fixed; width: min(380px, calc(100vw - 16px));
    background: var(--white); color: var(--gray-900);
    border-radius: 16px; padding: 18px 18px 14px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .35), 0 2px 6px rgba(15, 23, 42, .12);
    border: 1px solid rgba(0, 0, 0, .04);
}
.mo-tour.is-moving .mo-tour-pop { transition: top .3s ease, left .3s ease; }
.mo-tour-pop.is-in { animation: moTourPop .22s ease-out; }
.mo-tour.is-center .mo-tour-pop { width: min(460px, calc(100vw - 16px)); padding: 24px 24px 16px; }

/* Ok (hedefe dogru) */
.mo-tour-pop.arrow-top::before, .mo-tour-pop.arrow-bottom::before {
    content: ''; position: absolute; left: var(--mo-arrow-x, 50%); width: 14px; height: 14px;
    background: var(--white); transform: translateX(-50%) rotate(45deg); border-radius: 2px;
}
.mo-tour-pop.arrow-top::before { top: -7px; box-shadow: -2px -2px 3px rgba(15, 23, 42, .06); }
.mo-tour-pop.arrow-bottom::before { bottom: -7px; box-shadow: 2px 2px 3px rgba(15, 23, 42, .08); }

.mo-tour-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.mo-tour-icon {
    flex: 0 0 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--mint, #42b365)); color: var(--white); font-size: 17px;
    box-shadow: 0 6px 14px rgba(50, 131, 74, .3);
}
.mo-tour.is-center .mo-tour-icon { flex-basis: 46px; height: 46px; font-size: 20px; border-radius: 14px; }
.mo-tour-count { font-size: 12px; font-weight: 700; color: var(--primary); letter-spacing: .04em; background: var(--primary-light); padding: 3px 9px; border-radius: 999px; }
.mo-tour-x {
    margin-left: auto; width: 32px; height: 32px; border-radius: 50%; border: 0; background: transparent;
    color: var(--gray-500); cursor: pointer; font-size: 16px;
}
.mo-tour-x:hover { background: var(--gray-100); color: var(--gray-800); }

.mo-tour-title { margin: 0 0 6px; font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--dark); }
.mo-tour.is-center .mo-tour-title { font-size: 20px; }
.mo-tour-text { margin: 0 0 14px; font-size: 14.5px; line-height: 1.6; color: var(--gray-700); }

.mo-tour-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; border-top: 1px solid var(--gray-100); padding-top: 12px; }
.mo-tour-dots { display: flex; gap: 5px; flex-wrap: wrap; max-width: 45%; }
.mo-tour-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--gray-300); transition: width .2s ease, background .2s ease; }
.mo-tour-dot.is-done { background: rgba(50, 131, 74, .45); }
.mo-tour-dot.is-active { width: 20px; background: var(--primary); }
.mo-tour-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.mo-tour-skip { background: none; border: 0; color: var(--gray-600); font: inherit; font-size: 13px; cursor: pointer; padding: 6px 8px; border-radius: 8px; }
.mo-tour-skip:hover { color: var(--gray-900); background: var(--gray-100); }
.mo-tour-nav .btn { min-width: 72px; }

/* Telefon: alttan acilan panel */
.mo-tour-pop.is-sheet {
    top: auto !important; left: 0 !important; right: 0; bottom: 0; width: 100%;
    border-radius: 18px 18px 0 0; padding: 16px 16px calc(14px + env(safe-area-inset-bottom));
    max-height: 48vh; overflow-y: auto;
}
.mo-tour-pop.is-sheet::before { display: none; }
.mo-tour-pop.is-sheet.is-in { animation: moTourSheet .24s ease-out; }
.mo-tour.is-center .mo-tour-pop.is-sheet { width: 100%; }

@keyframes moTourFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes moTourPop { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes moTourSheet { from { transform: translateY(24px); opacity: .6; } to { transform: none; opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
    .mo-tour, .mo-tour-pop, .mo-tour-spot, .mo-tour-dot { animation: none !important; transition: none !important; }
}

/* RTL diller */
[dir="rtl"] .mo-tour-x { margin-left: 0; margin-right: auto; }
[dir="rtl"] .mo-tour-nav { margin-left: 0; margin-right: auto; }
/* "1 / 9" sayac: RTL baglamda sayilarin sirasi ters gorunmesin (ciplak rakam + "/" cift yonlu algoritmada karisir) */
[dir="rtl"] .mo-tour-count { direction: ltr; unicode-bidi: isolate; display: inline-block; }

.mo-tour-pop .btn:focus, .mo-tour-pop .btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(50, 131, 74, .28); }
.mo-tour-x:focus-visible, .mo-tour-skip:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }


/* ==== F0.css ==== */
/* F0 — Mentor + Olimpiyat temel bilesenleri (header rozeti, bildirimler, telefon girisi, ortak kutular) */

/* Sayac rozeti (ust menu, bildirim zili) */
.mo-count-badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
    background: var(--danger); color: var(--white);
    font-size: 11px; font-weight: 700; line-height: 1;
}
.mo-count-badge[hidden] { display: none; }
.mo-bell { position: relative; }
.mo-bell .mo-count-badge { position: absolute; top: 2px; right: 4px; }
.mo-bell-label { display: none; }

/* Menu kalabalik olunca masaustu/tablet'te sigsin */
@media (min-width: 769px) and (max-width: 1280px) {
    .main-nav .nav-link { padding: 8px 9px; font-size: 13px; }
}
@media (max-width: 768px) {
    .mo-bell-label { display: inline; }
    .mo-bell .mo-count-badge { position: static; margin-left: 6px; }
}

/* Ortak sayfa kutulari */
.mo-section { padding: 32px 0 56px; }
.mo-narrow { max-width: 760px; }
.mo-muted { color: var(--gray-600); font-size: 14px; }
.mo-toolbar {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 12px; margin-bottom: 16px;
}
.mo-empty {
    text-align: center; padding: 48px 16px; color: var(--gray-600);
    background: var(--white); border: 1px dashed var(--gray-300); border-radius: var(--radius);
}
.mo-empty i { font-size: 36px; margin-bottom: 12px; color: var(--gray-400); }

/* Bildirim listesi */
.mo-notif-list { list-style: none; margin: 0 0 24px; padding: 0; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); overflow: hidden; }
.mo-notif + .mo-notif { border-top: 1px solid var(--gray-200); }
.mo-notif a { display: flex; gap: 12px; padding: 14px 16px; color: var(--gray-800); text-decoration: none; }
.mo-notif a:hover { background: var(--gray-50); }
.mo-notif-dot { flex: 0 0 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: transparent; }
.mo-notif.is-unread { background: var(--primary-light); }
.mo-notif.is-unread .mo-notif-dot { background: var(--primary); }
.mo-notif-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mo-notif-main strong { font-weight: 600; overflow-wrap: anywhere; }
.mo-notif-body { font-size: 14px; color: var(--gray-700); overflow-wrap: anywhere; }
.mo-notif-main time { font-size: 12px; color: var(--gray-500); }

/* Hesabim baglantilari (profile_links slotu) */
.mo-account-links { margin-bottom: 20px; }
.mo-account-links h3 { margin: 0 0 12px; font-size: 17px; }
.mo-link-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mo-link-list a {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px;
    border: 1px solid var(--gray-200); border-radius: var(--radius-sm, 8px);
    color: var(--gray-800); text-decoration: none; font-size: 14px; background: var(--white);
}
.mo-link-list a:hover { border-color: var(--primary); color: var(--primary); }

/* Ulke secmeli telefon girisi (moPhoneInputHtml) */
.mo-phone-input { display: flex; gap: 8px; width: 100%; }
.mo-phone-input .mo-phone-country { flex: 0 0 42%; max-width: 220px; min-width: 0; }
.mo-phone-input .mo-phone-number { flex: 1 1 auto; min-width: 0; }
@media (max-width: 480px) {
    .mo-phone-input { flex-direction: column; }
    .mo-phone-input .mo-phone-country { max-width: none; flex-basis: auto; }
}


/* ==== F1.css ==== */
/* F1 — mentor kaydi, profil sihirbazi, admin onayi */

.f1-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.f1-muted { color: var(--gray-600, #6b7280); font-size: 14px; }
.f1-mt { margin-top: 20px; }
.f1-mt-sm { margin-top: 12px; }
.f1-mb-sm { margin-bottom: 8px; }
.f1-pre { white-space: pre-line; }
[data-f1-for][hidden], .f1-tab-panel[hidden], [data-f1-avatar-continue][hidden] { display: none !important; }

/* Avatar */
.f1-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: inline-block; flex-shrink: 0; background: var(--gray-100, #f3f4f6); }
.f1-avatar-initial { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; background: var(--primary, #b91c1c); }
.f1-photo-preview .f1-avatar { width: 120px; height: 120px; }
.f1-photo-row { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin: 16px 0; }
.f1-photo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.f1-photo-actions label.btn { cursor: pointer; margin: 0; }
.profile-card .f1-photo-preview .f1-avatar { width: 96px; height: 96px; }
.f1-wizard .f1-photo-preview .f1-avatar { width: 120px; height: 120px; }

/* Sihirbaz adimlari */
.f1-steps { list-style: none; display: flex; gap: 8px; padding: 0; margin: 0 0 28px; counter-reset: none; }
.f1-steps li { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; font-size: 13px; font-weight: 600; }
.f1-steps li > a, .f1-steps li > span:first-child { text-decoration: none; }
.f1-steps li a, .f1-steps li { color: var(--gray-500, #6b7280); }
.f1-steps li a { display: flex; flex-direction: column; align-items: center; gap: 6px; color: inherit; }
.f1-steps li::before { content: ""; position: absolute; top: 17px; left: calc(-50% + 22px); right: calc(50% + 22px); height: 2px; background: var(--gray-200, #e5e7eb); }
.f1-steps li:first-child::before { display: none; }
.f1-steps li.done::before, .f1-steps li.current::before { background: var(--primary, #b91c1c); }
.f1-step-num { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--gray-300, #d1d5db); background: #fff; font-weight: 700; }
.f1-steps li.current { color: var(--dark, #111827); }
.f1-steps li.current .f1-step-num { border-color: var(--primary, #b91c1c); color: var(--primary, #b91c1c); }
.f1-steps li.done .f1-step-num { border-color: var(--primary, #b91c1c); background: var(--primary, #b91c1c); color: #fff; }
.f1-card-title { font-size: 20px; margin: 0 0 8px; }
.f1-card-title small { font-size: 13px; font-weight: 500; color: var(--gray-500, #6b7280); }
.f1-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 20px; }
.f1-actions-center { justify-content: center; }
.f1-done { text-align: center; padding: 20px 0; }
.f1-done-icon { font-size: 48px; color: var(--primary, #b91c1c); margin-bottom: 12px; }
.f1-done p { color: var(--gray-600, #6b7280); max-width: 480px; margin: 8px auto 0; }

/* Sinif araligi */
.f1-grade-range { display: flex; align-items: center; gap: 8px; }
.f1-grade-range select { flex: 1; min-width: 0; }

/* Durum kutusu (Mentor bilgilerim) */
.f1-status { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 10px; margin-bottom: 20px; border: 1px solid; }
.f1-status i { font-size: 22px; margin-top: 2px; }
.f1-status p { margin: 4px 0 0; font-size: 14px; }
.f1-status-pending { background: #fef7e0; border-color: #f6d88a; color: #8a5a00; }
.f1-status-approved { background: #e6f4ea; border-color: #a8d5b5; color: #1e6b34; }
.f1-status-rejected, .f1-status-suspended { background: #fce8e6; border-color: #f2b8b2; color: #a3261b; }
.f1-status-incomplete { background: var(--gray-100, #f3f4f6); border-color: var(--gray-200, #e5e7eb); }

/* Admin */
.f1-admin-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.f1-back { color: inherit; margin-right: 6px; }
.f1-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; border-bottom: 1px solid var(--gray-200, #e5e7eb); }
.f1-tab { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600;
          color: var(--gray-600, #6b7280); border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; text-decoration: none; }
.f1-tab.active { color: var(--primary, #b91c1c); border-bottom-color: var(--primary, #b91c1c); }
.f1-count { background: var(--gray-100, #f3f4f6); border-radius: 10px; padding: 1px 8px; font-size: 12px; }
.f1-count-hot { background: var(--primary, #b91c1c); color: #fff; }
.f1-person { display: flex; align-items: center; gap: 12px; min-width: 0; }
.f1-person > div { display: flex; flex-direction: column; min-width: 0; }
.f1-person small { color: var(--gray-500, #6b7280); overflow-wrap: anywhere; }
.f1-person-lg { margin-bottom: 16px; }
.f1-person-lg .f1-avatar { width: 88px; height: 88px; }
.f1-person-lg strong { font-size: 18px; }
.f1-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 20px; align-items: start; }
.f1-stack { display: flex; flex-direction: column; gap: 20px; }
.f1-dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px 16px; margin: 0; }
.f1-dl dt { color: var(--gray-500, #6b7280); font-size: 13px; }
.f1-dl dd { margin: 0; overflow-wrap: anywhere; }
.f1-action-buttons { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.f1-action-buttons form { margin: 0; }
.f1-inline-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.f1-inline-form input { width: 140px; padding: 8px 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; }
.f1-inline-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.f1-inline-row form { margin: 0; }
.f1-pending-box { margin-top: 16px; padding: 12px 14px; border-radius: 8px; background: #fef7e0; border: 1px solid #f6d88a; }
.f1-pending-box p { margin: 6px 0 10px; font-size: 14px; }
.f1-select-list { width: 100%; min-height: 150px; }
.f1-table-wrap { overflow-x: auto; }
.f1-table td { vertical-align: top; }
.f1-form-card { max-width: 860px; }
.f1-radio-row { display: flex; gap: 20px; flex-wrap: wrap; }
.f1-radio { display: inline-flex !important; align-items: center; gap: 6px; font-weight: 600; cursor: pointer; }
.f1-radio input { width: auto !important; }
.f1-tabbed-ready > .f1-tabs { margin-bottom: 20px; }

@media (max-width: 900px) {
    .f1-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .f1-steps .f1-step-label { font-size: 11px; }
    .f1-photo-row { flex-direction: column; align-items: flex-start; }
    .f1-actions { justify-content: stretch; }
    .f1-actions .btn { flex: 1 1 auto; justify-content: center; }
    .f1-dl { grid-template-columns: 1fr; gap: 2px; }
    .f1-dl dd { margin-bottom: 8px; }
    /* Tablolar telefonda kart gorunumu */
    .f1-table thead { display: none; }
    .f1-table, .f1-table tbody, .f1-table tr, .f1-table td { display: block; width: 100%; }
    .f1-table tr { border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; }
    .f1-table td { border: 0 !important; padding: 4px 0 !important; }
    .f1-table td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; color: var(--gray-500, #6b7280); text-transform: uppercase; }
}

/* Telefon alani (F0 .mo-phone-input) ulke adini kesmesin: telefonun bulundugu satir tek sutun */
.profile-card .form-row-2:has(.mo-phone-input) { grid-template-columns: minmax(0, 1fr); }
.profile-card .mo-phone-input .mo-phone-country { flex: 0 0 min(52%, 240px); max-width: none; }
.f1-photo-form + hr { margin: 24px 0; }
@media (max-width: 640px) {
    .profile-card { padding: 22px 16px; }
    .f1-photo-actions { width: 100%; }
    .f1-photo-actions .btn { flex: 1 1 auto; justify-content: center; }
}
.profile-card button, .profile-card input, .profile-card select, .profile-card textarea { font-family: inherit; }

/* Fotograf kirpma penceresi (F1-avatar.js, Cropper.js) */
body.f1-crop-open { overflow: hidden; }
.f1-crop-back { position: fixed; inset: 0; z-index: 10050; background: rgba(17, 24, 39, .6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.f1-crop { background: var(--white, #fff); border-radius: 14px; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; gap: 10px; padding: 18px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); }
.f1-crop-title { margin: 0; font-size: 18px; }
.f1-crop-hint { margin: 0; font-size: 14px; color: var(--gray-600, #6b7280); }
.f1-crop-stage { position: relative; height: min(60vh, 380px); background: var(--gray-100, #f3f4f6); border-radius: 10px; overflow: hidden; }
.f1-crop-stage img { display: block; max-width: 100%; }
.f1-crop-stage .cropper-view-box, .f1-crop-stage .cropper-face { border-radius: 50%; }
.f1-crop-tools { display: flex; gap: 8px; justify-content: center; }
.f1-crop-foot { display: flex; gap: 10px; justify-content: flex-end; }
.f1-crop button, .f1-crop-foot .btn { font-family: inherit; }
.f1-crop button:focus-visible { outline: 3px solid var(--primary, #b91c1c); outline-offset: 2px; }
@media (max-width: 480px) {
    .f1-crop { padding: 14px; }
    .f1-crop-stage { height: 55vh; }
    .f1-crop-foot .btn { flex: 1 1 0; justify-content: center; }
}


/* ==== F10.css ==== */
/* F10 — Admin ogrenci listesi: filtre, secim, toplu/tekli silme. Tum kurallar .f10- onekli. */

.f10-muted { color: var(--gray-600); }
.f10-break { overflow-wrap: anywhere; }
.f10-head { gap: 12px; flex-wrap: wrap; }

/* Filtre */
.f10-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.f10-filters input, .f10-filters select { padding: 9px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 14px; background: var(--white); min-width: 0; }
.f10-filters input { flex: 1 1 260px; }
.f10-filters select { flex: 0 1 190px; }

/* Secim cubugu */
.f10-bulkbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; margin-bottom: 12px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: var(--radius-sm); font-size: 14px; }
.f10-bulkbar[hidden] { display: none; }
.f10-bulkbar #f10SelInfo { font-weight: 600; margin-right: auto; }
.f10-all-matching .f10-bulkbar { background: #fef2f2; border-color: #fecaca; }

/* Tablo */
.f10-table-wrap { overflow-x: auto; }
.f10-check { width: 36px; text-align: center; }
.f10-check input { width: 18px; height: 18px; cursor: pointer; }
.f10-actions { white-space: nowrap; text-align: right; }
.f10-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; margin-left: 4px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.f10-paid { background: #dbeafe; color: #1e40af; }

/* Diyaloglar */
.f10-dialog { width: min(480px, calc(100vw - 32px)); max-width: 100%; border: 0; border-radius: var(--radius); padding: 0; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.f10-dialog::backdrop { background: rgba(15, 23, 42, .5); }
.f10-dialog form { padding: 20px; margin: 0; }
.f10-dialog h3 { margin: 0 0 12px; font-size: 18px; color: var(--danger); display: flex; align-items: center; gap: 8px; }
.f10-dialog p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.f10-dialog label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.f10-dialog input[type="text"], .f10-dialog input[type="email"] { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 15px; }
.f10-dialog input:focus { outline: 2px solid var(--danger); outline-offset: 1px; }
.f10-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.f10-warn-box { padding: 8px 10px; background: #fef3c7; color: #92400e; border-radius: var(--radius-sm); }
.f10-progress { margin-top: 12px; padding: 10px 12px; background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; }
.f10-progress[hidden] { display: none; }
.f10-error { color: var(--danger); font-weight: 500; margin: 8px 0 0 !important; }

/* Telefon: tablo kart gorunumune gecer */
@media (max-width: 768px) {
    .f10-filters input, .f10-filters select { flex: 1 1 100%; }
    .f10-filters .btn { flex: 1 1 auto; justify-content: center; }
    .f10-table thead { display: none; }
    .f10-table, .f10-table tbody, .f10-table tr, .f10-table td { display: block; width: 100%; box-sizing: border-box; }
    .f10-table tr { position: relative; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); margin-bottom: 10px; padding: 8px 0; background: var(--white); }
    .f10-table td { border: 0; padding: 4px 12px 4px 48px; display: grid; grid-template-columns: 38% 1fr; gap: 8px; overflow-wrap: anywhere; text-align: left; }
    .f10-table td::before { content: attr(data-label); font-size: 11px; font-weight: 600; color: var(--gray-600); text-transform: uppercase; }
    .f10-table td.f10-check { position: absolute; top: 10px; left: 0; width: 44px; padding: 0; display: block; }
    .f10-table td.f10-check::before, .f10-table td.f10-actions::before { content: none; }
    .f10-table td.f10-actions { display: block; text-align: right; }
    .f10-bulkbar .btn { flex: 1 1 auto; }
    .f10-bulkbar #f10SelInfo { flex-basis: 100%; }
}

@media (max-width: 480px) {
    .f10-table td { grid-template-columns: 1fr; gap: 2px; }
    .f10-dialog-actions .btn { flex: 1 1 auto; }
}


/* ==== F2.css ==== */
/* F2 — Mentorum, davet, istekler, mesajlasma */

.f2-page { padding: 32px 0 56px; }
.f2-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.f2-main, .f2-side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.f2-narrow { max-width: 620px; }

.f2-card {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 22px;
    min-width: 0;
}
.f2-card-title { font-size: 17px; font-weight: 700; margin: 0 0 14px; display: flex; align-items: center; gap: 8px; color: var(--gray-900); }
.f2-card-pending { border-color: var(--warning); background: #fffbf3; }
.f2-card-info { background: var(--gray-50); box-shadow: none; }
.f2-center { text-align: center; }

.f2-count {
    font-size: 12px; font-weight: 700; background: var(--gray-100); color: var(--gray-700);
    border-radius: 999px; padding: 2px 9px;
}
.f2-note { color: var(--gray-700); font-size: 14px; line-height: 1.55; margin: 0 0 12px; }
.f2-note.f2-ok { color: var(--success); }
.f2-note.f2-warn { color: var(--warning); }
.f2-empty { color: var(--gray-600); margin: 0; display: flex; align-items: center; gap: 8px; }
.f2-meta { display: block; color: var(--gray-600); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.f2-bio { color: var(--gray-700); font-size: 14px; line-height: 1.6; margin: 12px auto 0; max-width: 480px; }
.f2-kicker { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--primary); margin: 0 0 16px; }
.f2-label { display: block; font-size: 12px; font-weight: 600; color: var(--gray-600); margin: 12px 0 6px; }

/* Kisi karti */
.f2-person { display: flex; align-items: center; gap: 14px; min-width: 0; }
.f2-person-info { min-width: 0; }
.f2-person-info strong { display: block; font-size: 15px; color: var(--gray-900); overflow-wrap: anywhere; }
.f2-avatar {
    flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%;
    background: var(--primary-light); color: var(--primary-dark);
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 16px;
}
.f2-avatar-muted { background: var(--gray-100); color: var(--gray-700); }
.f2-avatar-sm { width: 38px; height: 38px; font-size: 13px; }
.f2-avatar-lg { width: 84px; height: 84px; font-size: 28px; margin: 0 auto 12px; }

.f2-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; align-items: center; }
.f2-actions form { margin: 0; }
.f2-actions-center { justify-content: center; }
.f2-btn-danger { color: var(--danger) !important; border-color: #f3c4c4 !important; }
.f2-btn-danger:hover { background: #fdf0f0 !important; }
.f2-badge {
    display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px;
    padding: 0 6px; border-radius: 999px; background: var(--danger); color: #fff; font-size: 11px; font-weight: 700;
    margin-left: 4px;
}
.f2-badge[hidden] { display: none; }
.f2-tag { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: #fff3dd; color: #92560a; }
.f2-tag-accepted { background: #e5f6ee; color: #05704f; }
.f2-tag-rejected { background: #fdecec; color: #a61b1b; }
.f2-tag-ended { background: var(--gray-100); color: var(--gray-700); }

/* Listeler */
.f2-list { list-style: none; margin: 0; padding: 0; }
.f2-list-item {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 0; border-top: 1px solid var(--gray-100);
}
.f2-list-item:first-child { border-top: 0; padding-top: 4px; }
.f2-list-item .f2-actions { margin-top: 0; flex: 0 0 auto; }
.f2-list-item > form { flex: 0 0 auto; margin: 0; }
.f2-simple-list { list-style: none; margin: 0; padding: 0; }
.f2-simple-list li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--gray-100); font-size: 14px; }
.f2-simple-list li:first-child { border-top: 0; }
.f2-simple-list li span:first-child { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.f2-steps { margin: 0; padding-left: 18px; color: var(--gray-700); font-size: 14px; line-height: 1.6; }
.f2-steps li + li { margin-top: 6px; }

/* Arama ve kod */
.f2-search { display: flex; gap: 8px; margin-bottom: 16px; }
.f2-search input, .f2-code-form input, .f2-copy-input {
    flex: 1; min-width: 0; padding: 11px 14px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm);
    font: inherit; font-size: 15px; background: var(--white);
}
.f2-search input:focus, .f2-code-form input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-light); }
.f2-code-form { display: flex; flex-direction: column; gap: 10px; }
.f2-code-form input { text-transform: uppercase; letter-spacing: .15em; font-weight: 700; text-align: center; }
.f2-copy { display: flex; gap: 8px; align-items: stretch; }
.f2-copy-input { font-size: 13px; background: var(--gray-50); padding: 8px 10px; }
.f2-code-text { font-size: 18px; font-weight: 800; letter-spacing: .15em; text-align: center; }

/* Davet sayfasi */
.f2-invite-page { padding-top: 48px; }
.f2-invite-h1 { font-size: 26px; margin: 0 0 6px; overflow-wrap: anywhere; }
.f2-invite-actions { margin-top: 22px; }
.f2-invite-icon { font-size: 40px; margin-bottom: 12px; color: var(--gray-500); }
.f2-invite-icon-bad { color: var(--danger); }

/* ---------------- Mesajlasma ---------------- */
.f2-chat-page { padding: 24px 0 40px; }
.f2-chat {
    display: grid; grid-template-columns: 300px minmax(0, 1fr);
    height: calc(100vh - 200px); min-height: 460px; max-height: 820px;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius);
    box-shadow: var(--shadow); overflow: hidden;
}
.f2-chat-list { border-right: 1px solid var(--gray-200); display: flex; flex-direction: column; min-height: 0; background: var(--gray-50); }
[dir="rtl"] .f2-chat-list { border-right: 0; border-left: 1px solid var(--gray-200); }
.f2-chat-list-head { padding: 16px 18px; font-weight: 700; border-bottom: 1px solid var(--gray-200); display: flex; gap: 8px; align-items: center; }
.f2-chat-list ul { list-style: none; margin: 0; padding: 6px; overflow-y: auto; flex: 1; }
.f2-chat-list-empty { padding: 20px 18px; color: var(--gray-600); font-size: 14px; }
.f2-conv {
    display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: var(--radius-sm);
    color: inherit; text-decoration: none;
}
.f2-conv:hover { background: var(--gray-100); }
.f2-conv.active { background: var(--primary-light); }
.f2-conv-text { flex: 1; min-width: 0; }
.f2-conv-text strong { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.f2-conv-text small { display: block; font-size: 12px; color: var(--gray-600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.f2-chat-pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.f2-chat-placeholder { margin: auto; text-align: center; color: var(--gray-500); padding: 24px; }
.f2-chat-placeholder i { font-size: 42px; margin-bottom: 10px; }
.f2-chat-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--gray-200); }
.f2-chat-head-text { flex: 1; min-width: 0; }
.f2-chat-head-text strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.f2-chat-head-text small { display: block; font-size: 12px; color: var(--gray-600); }
.f2-chat-head-text small.f2-online { color: var(--success); }
.f2-chat-head-text small.f2-online::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--success); margin-right: 5px; vertical-align: 1px; }
.f2-chat-back { display: none; color: var(--gray-700); padding: 6px; }
[dir="rtl"] .f2-chat-back i { transform: scaleX(-1); }

.f2-chat-body { flex: 1; overflow-y: auto; padding: 16px; background: #fafbfa; overscroll-behavior: contain; }
.f2-older { display: block; margin: 0 auto 12px; background: var(--white); border: 1px solid var(--gray-300); border-radius: 999px; padding: 6px 14px; font-size: 13px; cursor: pointer; }
.f2-older[hidden] { display: none; }
.f2-chat-empty { text-align: center; color: var(--gray-500); margin-top: 40px; }
.f2-day { text-align: center; font-size: 12px; color: var(--gray-600); margin: 14px 0 8px; }
.f2-msg { display: flex; margin: 4px 0; }
.f2-msg-mine { justify-content: flex-end; }
.f2-bubble {
    max-width: min(78%, 520px); padding: 8px 12px 6px; border-radius: 14px;
    background: var(--white); border: 1px solid var(--gray-200); overflow-wrap: anywhere;
}
.f2-msg-mine .f2-bubble { background: var(--primary); color: #fff; border-color: var(--primary); border-bottom-right-radius: 4px; }
.f2-msg-theirs .f2-bubble { border-bottom-left-radius: 4px; }
.f2-msg-text { white-space: pre-wrap; font-size: 15px; line-height: 1.45; }
.f2-msg-img { display: block; margin: 2px 0 6px; }
.f2-msg-img img { display: block; max-width: 100%; height: auto; max-height: 320px; width: auto; border-radius: 10px; }
.f2-msg-meta { font-size: 11px; opacity: .75; text-align: right; margin-top: 2px; display: flex; justify-content: flex-end; gap: 4px; align-items: center; }
.f2-tick { opacity: .45; font-size: 10px; }
.f2-read .f2-tick { opacity: 1; color: #bff0cf; }

.f2-composer { border-top: 1px solid var(--gray-200); padding: 10px 12px; background: var(--white); }
.f2-composer-row { display: flex; align-items: flex-end; gap: 8px; }
.f2-composer textarea {
    flex: 1; min-width: 0; resize: none; border: 1px solid var(--gray-300); border-radius: 20px;
    padding: 10px 14px; font: inherit; font-size: 15px; line-height: 1.4; max-height: 160px;
}
.f2-composer textarea:focus { outline: none; border-color: var(--primary); }
.f2-attach {
    flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    color: var(--gray-700); cursor: pointer; font-size: 18px;
}
.f2-attach:hover { background: var(--gray-100); }
.f2-send { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.f2-composer-preview { position: relative; display: inline-block; margin: 0 0 8px 50px; }
.f2-composer-preview[hidden] { display: none; }
.f2-composer-preview img { max-height: 90px; max-width: 160px; border-radius: 8px; display: block; border: 1px solid var(--gray-200); }
.f2-composer-preview button {
    position: absolute; top: -8px; right: -8px; width: 24px; height: 24px; border-radius: 50%; border: 0;
    background: var(--gray-800); color: #fff; cursor: pointer; font-size: 11px;
}
.f2-composer-error { color: var(--danger); font-size: 13px; margin-top: 6px; }
.f2-composer-error[hidden] { display: none; }

/* Tablet */
@media (max-width: 992px) {
    .f2-grid { grid-template-columns: minmax(0, 1fr); }
    .f2-chat { grid-template-columns: 240px minmax(0, 1fr); }
}

/* Telefon */
@media (max-width: 768px) {
    .f2-page { padding: 20px 0 40px; }
    .f2-card { padding: 16px; }
    .f2-list-item { flex-direction: column; align-items: stretch; }
    .f2-list-item .f2-actions, .f2-list-item > form, .f2-list-item > .status-badge { align-self: flex-start; }
    .f2-search .btn span { display: none; }
    .f2-invite-h1 { font-size: 22px; }

    .f2-chat-page { padding: 0; }
    .f2-chat-page > .container { padding: 0; }
    .f2-chat { grid-template-columns: minmax(0, 1fr); border-radius: 0; border-left: 0; border-right: 0; height: calc(100vh - 140px); height: calc(100dvh - 140px); max-height: none; }
    .f2-chat .f2-chat-pane { display: none; }
    .f2-chat.f2-chat-open .f2-chat-pane { display: flex; }
    .f2-chat.f2-chat-open .f2-chat-list { display: none; }
    .f2-chat-list { border-right: 0; }
    .f2-chat-back { display: inline-block; }
    .f2-chat-head-link span { display: none; }
    .f2-bubble { max-width: 86%; }
}

/* Dugmeler sayfa yazi tipini kullansin (tarayici varsayilani Arial yerine) */
.f2-page button, .f2-page input, .f2-page select, .f2-page textarea { font-family: inherit; }


/* ==== F3.css ==== */
/* F3 — Ogrenci ekleme karti, etkinlestirme rozeti, etkinlestirme / profil tamamlama sayfalari */

.f3-muted { color: var(--gray-500, #6b7280); font-size: 13px; }

.f3-add-card { padding: 20px; border-radius: 12px; background: var(--white, #fff); border: 1px solid var(--gray-200, #e5e7eb); margin-bottom: 20px; }
.f3-add-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 6px; }
.f3-add-head h3 { margin: 0; font-size: 18px; }
.f3-add-head h3 i { color: var(--primary); margin-right: 6px; }
.f3-add-limits { display: flex; flex-wrap: wrap; gap: 6px; }
.f3-chip { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--gray-100, #f3f4f6); font-size: 12px; font-weight: 600; color: var(--gray-700, #374151); }

.f3-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--gray-200, #e5e7eb); margin: 14px 0 12px; overflow-x: auto; }
.f3-tab { background: none; border: 0; border-bottom: 2px solid transparent; padding: 8px 12px; font: inherit; font-size: 14px; font-weight: 600; color: var(--gray-500, #6b7280); cursor: pointer; white-space: nowrap; }
.f3-tab.active { color: var(--primary); border-bottom-color: var(--primary); }

.f3-rows { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.f3-row { display: grid; grid-template-columns: 1fr 1fr 1.4fr auto; gap: 8px; align-items: center; }
.f3-row input { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 8px; font: inherit; font-size: 14px; }
.f3-row input:focus, .f3-paste:focus { border-color: var(--primary); outline: none; }
.f3-row-remove { width: 34px; height: 34px; border: 0; border-radius: 8px; background: var(--gray-100, #f3f4f6); color: var(--gray-500, #6b7280); cursor: pointer; }
.f3-row-remove:hover { color: #b91c1c; }

.f3-paste { width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 8px; font-family: ui-monospace, Consolas, monospace; font-size: 13px; resize: vertical; }

.f3-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 14px; }
.f3-progress { font-size: 13px; font-weight: 600; color: var(--gray-700, #374151); }

.f3-res-list { list-style: none; margin: 12px 0 0; padding: 0; max-height: 320px; overflow-y: auto; }
.f3-res { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 6px 8px; border-radius: 6px; font-size: 13px; }
.f3-res + .f3-res { margin-top: 2px; }
.f3-res strong { word-break: break-all; }
.f3-res-ok { background: #ecfdf5; color: #065f46; }
.f3-res-warn { background: #fffbeb; color: #92400e; }
.f3-res-err { background: #fef2f2; color: #991b1b; }

.f3-inactive { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.f3-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: #fffbeb; color: #92400e; border: 1px solid #fcd34d; font-size: 12px; font-weight: 600; white-space: nowrap; }
.f3-resend-msg { font-size: 12px; }
.f3-resend-msg.ok { color: #065f46; }
.f3-resend-msg.err { color: #991b1b; }

.f3-auth .checkbox-label span { line-height: 1.5; }

@media (max-width: 640px) {
    .f3-add-card { padding: 14px; }
    .f3-row { grid-template-columns: 1fr 1fr auto; padding-bottom: 8px; border-bottom: 1px dashed var(--gray-200, #e5e7eb); }
    .f3-row input[name="email"] { grid-column: 1 / 3; grid-row: 2; }
    .f3-row .f3-row-remove { grid-row: 1 / 3; grid-column: 3; }
    .f3-actions .btn { width: 100%; }
}


/* ==== F4.css ==== */
/* F4 — Mentor paneli, ogrenci listesi/detayi, "Ders ve sinif performansim", tur */

.f4-page .card-body { padding: 20px 24px; }
.f4-muted { color: var(--gray-600); font-size: 13px; }
.f4-ok { color: var(--success); }
.f4-bad { color: var(--danger); }
.f4-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.f4-count { display: inline-flex; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--danger); color: #fff; font-size: 12px; align-items: center; justify-content: center; }
.f4-label { display: block; font-size: 12px; font-weight: 600; color: var(--gray-700); margin: 12px 0 6px; text-transform: uppercase; letter-spacing: .03em; }

/* Liste satirlari */
.f4-list { list-style: none; margin: 0; padding: 0; }
.f4-list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--gray-100); }
.f4-list li:last-child { border-bottom: 0; }
.f4-list-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.f4-list-main strong, .f4-list-main .f4-muted { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f4-list-main a { color: var(--dark); text-decoration: none; }
.f4-list-main a:hover { color: var(--primary); }
.f4-when { white-space: nowrap; }
.f4-avatar { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: var(--primary-light); color: var(--primary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; text-transform: uppercase; }
.f4-avatar.lg { width: 64px; height: 64px; font-size: 22px; }

/* Olimpiyat kartlari */
.f4-events { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.f4-event { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: var(--radius); overflow: hidden; color: inherit; text-decoration: none; transition: var(--transition); background: var(--white); }
.f4-event[href]:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.f4-event-cover { aspect-ratio: 16 / 7; background: var(--primary-light); display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 32px; }
.f4-event-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f4-event-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.f4-event-body strong { font-size: 15px; color: var(--dark); }
.f4-event-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 6px; font-size: 13px; color: var(--gray-700); }
.f4-event-meta i { color: var(--primary); margin-right: 3px; }

/* Davet kutusu */
.f4-copy { display: flex; gap: 8px; }
.f4-copy input { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-size: 13px; background: var(--gray-50); color: var(--dark); }
.f4-copy input.f4-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 18px; font-weight: 700; letter-spacing: .12em; text-align: center; }
.f4-copy .btn { white-space: nowrap; }

/* Durum (onaysiz mentor) */
.f4-status .card-body { display: flex; gap: 16px; align-items: flex-start; }
.f4-status .card-body > i { font-size: 28px; color: var(--warning); margin-top: 4px; }
.f4-status-rejected .card-body > i, .f4-status-suspended .card-body > i { color: var(--danger); }
.f4-status h3 { margin: 0 0 6px; font-size: 18px; }
.f4-status p { margin: 0 0 10px; }

/* Ogrenci listesi */
.f4-search { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.f4-search-input { flex: 1 1 260px; position: relative; }
.f4-search-input i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--gray-500); }
.f4-search-input input { width: 100%; padding: 10px 12px 10px 36px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-size: 14px; background: var(--white); }
.f4-search select { padding: 10px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-size: 14px; background: var(--white); max-width: 100%; }
.f4-students { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.f4-student { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.f4-student-head { display: flex; gap: 12px; align-items: center; min-width: 0; }
.f4-student-stats, .f4-group-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.f4-group-stats { grid-template-columns: repeat(4, 1fr); }
.f4-student-stats > div, .f4-group-stats > div { background: var(--gray-50); border-radius: var(--radius-sm); padding: 8px; text-align: center; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.f4-student-stats span, .f4-group-stats span { font-size: 11px; color: var(--gray-600); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f4-student-stats strong, .f4-group-stats strong { font-size: 15px; color: var(--dark); }
.f4-student-row-slot:empty { display: none; }
.f4-student-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }

/* Ogrenci detayi */
.f4-student-title { display: flex; gap: 16px; align-items: center; min-width: 0; }
.f4-student-title h1 { overflow-wrap: anywhere; }
.f4-tabs { display: flex; gap: 4px; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 6px; margin-bottom: 24px; overflow-x: auto; }
.f4-tabs a { flex: 1 0 auto; text-align: center; padding: 10px 14px; border-radius: var(--radius-sm); color: var(--gray-700); text-decoration: none; font-weight: 600; font-size: 14px; white-space: nowrap; }
.f4-tabs a.active { background: var(--primary); color: #fff; }
.f4-tabs a:not(.active):hover { background: var(--gray-100); }
.f4-contact { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.f4-contact div { overflow-wrap: anywhere; }
.f4-contact i { color: var(--primary); width: 18px; }
.f4-danger-card { border: 1px solid #fecaca; }
.f4-btn-danger { background: var(--danger); color: #fff; border: 0; }
.f4-btn-danger:hover { filter: brightness(.92); color: #fff; }
.f4-cwe-inline .c { color: var(--success); }
.f4-cwe-inline .w { color: var(--danger); }
.f4-cwe-inline .e { color: var(--gray-500); }

.f4-wrong { border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 16px; margin-top: 16px; overflow-x: auto; }
.f4-wrong-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.f4-wrong-no { width: 28px; height: 28px; border-radius: 50%; background: var(--danger); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.f4-wrong .question-image img { max-width: 100%; height: auto; }
.f4-wrong-foot { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 10px; font-size: 14px; }

.f4-topic-table { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.f4-topic-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr) 52px; gap: 12px; align-items: center; }
.f4-topic-name { display: flex; flex-direction: column; min-width: 0; }
.f4-topic-name strong { overflow-wrap: anywhere; }
.f4-topic-pct { font-weight: 700; text-align: right; }
.f4-topic-pct.high { color: var(--success); }
.f4-topic-pct.medium { color: var(--warning); }
.f4-topic-pct.low { color: var(--danger); }

/* Performans karti */
.f4-group { padding: 16px 0; border-bottom: 1px solid var(--gray-100); display: flex; flex-direction: column; gap: 14px; }
.f4-group:first-child { padding-top: 0; }
.f4-group:last-child { border-bottom: 0; padding-bottom: 0; }
.f4-group-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.f4-group-head h4 { margin: 0; font-size: 16px; color: var(--dark); }
.f4-trend { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 20px; white-space: nowrap; }
.f4-trend-up { background: #dcfce7; color: #166534; }
.f4-trend-down { background: #fee2e2; color: #991b1b; }
.f4-trend-stable { background: var(--gray-100); color: var(--gray-700); }
.f4-trend-none { background: var(--gray-50); color: var(--gray-500); }
.f4-cwe-bar { display: flex; height: 10px; border-radius: 5px; overflow: hidden; background: var(--gray-100); }
.f4-cwe-bar span { display: block; height: 100%; }
.f4-cwe-bar .c, .f4-cwe-legend .c::before { background: var(--success); }
.f4-cwe-bar .w, .f4-cwe-legend .w::before { background: var(--danger); }
.f4-cwe-bar .e, .f4-cwe-legend .e::before { background: var(--gray-400); }
.f4-cwe-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--gray-700); margin-top: 6px; }
.f4-cwe-legend span::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.f4-mini-title { display: block; font-size: 12px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.f4-chart-wrap { position: relative; width: 100%; height: 90px; }
.f4-chart { display: block; width: 100%; height: 100%; }
.f4-chart-grid { stroke: var(--gray-200); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.f4-chart-area { fill: var(--primary-light); }
.f4-chart-line { fill: none; stroke: var(--primary); stroke-width: 2; stroke-linejoin: round; }
.f4-chart-dots { position: absolute; inset: 0; pointer-events: none; }
.f4-chart-dot { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--white); border: 2px solid var(--primary); pointer-events: auto; cursor: default; }
.f4-topics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.f4-topic-col { min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; align-content: flex-start; }
.f4-topic-col .f4-mini-title { width: 100%; margin-bottom: 0; }
.f4-topic-col.strong .f4-mini-title i { color: var(--success); }
.f4-topic-col.weak .f4-mini-title i { color: var(--danger); }
.f4-chip { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border-radius: 16px; font-size: 12px; max-width: 100%; overflow-wrap: anywhere; }
.f4-chip.ok { background: #dcfce7; color: #166534; }
.f4-chip.bad { background: #fee2e2; color: #991b1b; }

/* Tur */
.f4-tour-layer { position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 9990; }
.f4-tour-target { position: relative; z-index: 9991; box-shadow: 0 0 0 4px var(--primary), 0 0 0 9999px rgba(0,0,0,0) !important; border-radius: var(--radius); background-color: var(--white); }
.f4-tour-box { position: absolute; z-index: 9992; width: min(340px, calc(100vw - 16px)); background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-lg), 0 8px 30px rgba(0,0,0,.2); padding: 16px; }
.f4-tour-count { font-size: 12px; font-weight: 600; color: var(--primary); margin-bottom: 6px; }
.f4-tour-text { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: var(--dark); }
.f4-tour-nav { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
.f4-tour-offer { position: fixed; right: 16px; bottom: 16px; z-index: 9989; width: min(340px, calc(100vw - 32px)); background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-lg), 0 8px 30px rgba(0,0,0,.18); padding: 16px; border-top: 4px solid var(--primary); }
.f4-tour-offer p { margin: 6px 0 12px; font-size: 14px; color: var(--gray-700); }

@media (max-width: 768px) {
    .f4-page .card-body { padding: 16px; }
    .f4-group-stats { grid-template-columns: repeat(2, 1fr); }
    .f4-topics { grid-template-columns: 1fr; }
    .f4-students { grid-template-columns: 1fr; }
    .f4-topic-row { grid-template-columns: 1fr 52px; }
    .f4-topic-row .f4-cwe-bar { grid-column: 1 / -1; grid-row: 2; }
    .f4-student-title { gap: 12px; }
    .f4-avatar.lg { width: 48px; height: 48px; font-size: 17px; }
}
@media (max-width: 480px) {
    .f4-list li { flex-wrap: wrap; }
    .f4-list li .btn { margin-left: 52px; }
    .f4-when { order: 3; }
    .f4-copy { flex-direction: column; }
    .f4-actions .btn { flex: 1 1 auto; }
    .f4-search .btn, .f4-search select { flex: 1 1 auto; }
    .f4-events { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------
   Duyarli duzen duzeltmeleri (mentor sayfalari: panel, ogrencilerim, ogrenci detayi)
   Telefon <= 480, tablet <= 1024, masaustu > 1024. Sadece .f4-page kapsaminda.
   ------------------------------------------------------------------ */
/* Izgara cocuklari icerigine gore genislemesin (yatay tasmanin koku) */
.f4-page .dashboard-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.f4-page .dashboard-main, .f4-page .dashboard-sidebar, .f4-page .dashboard-card { min-width: 0; }
.f4-page .dashboard-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* 3 kartli ozet (mentor paneli) bos 4. sutun birakmasin */
.f4-page .dashboard-stats:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.f4-page .dash-stat-info { min-width: 0; }
.f4-page .dash-stat-info h3 { overflow-wrap: anywhere; }
.f4-page .card-header { gap: 10px; flex-wrap: wrap; }
.f4-page .card-header h3 { min-width: 0; }
.f4-page .card-header > a { white-space: nowrap; margin-left: auto; }

@media (max-width: 1024px) {
    .f4-page .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
    .f4-page .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .f4-page .dashboard-stats:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .f4-page .dash-stat-card { padding: 18px; gap: 12px; }
    .f4-page .dash-stat-info h3 { font-size: 24px; }
}
@media (max-width: 600px) {
    .f4-page .dashboard-welcome { flex-direction: column; align-items: stretch; gap: 14px; }
    .f4-page .dashboard-welcome .f4-actions, .f4-page .dashboard-welcome > .btn { width: 100%; }
    .f4-page .dashboard-stats:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    /* tek kalan kart tum satiri kaplasin */
    .f4-page .dashboard-stats > :nth-child(odd):last-child { grid-column: 1 / -1; }
    .f4-page .dash-stat-card { flex-direction: column; align-items: flex-start; padding: 14px; gap: 8px; }
    .f4-page .dash-stat-icon { width: 38px; height: 38px; font-size: 17px; border-radius: 10px; }
    .f4-page .dash-stat-info h3 { font-size: 21px; }
    .f4-page .dash-stat-info p { font-size: 12px; line-height: 1.35; }
    .f4-page .card-header { padding: 14px 16px; }
    .f4-page .card-header h3 { font-size: 16px; }
    .f4-page .card-body { padding: 14px; }
    .f4-tabs a { padding: 9px 10px; font-size: 13px; }
    .f4-group-head .f4-trend { margin-left: auto; }
    .f4-search { flex-wrap: wrap; }
    .f4-search .f4-search-input { flex: 1 1 100%; }
    .f4-student-actions { flex-wrap: wrap; }
    .f4-student-actions .btn { flex: 1 1 auto; justify-content: center; }
    .f4-page .f4-list li { gap: 10px; flex-wrap: wrap; }
    /* Telefonda ad/okul satiri avatarin yanindaki tum genisligi alir; zaman + dugme alt satira iner */
    .f4-page .f4-list-main { flex: 1 1 calc(100% - 64px); }
    .f4-page .f4-list li > .f4-when { order: 3; margin-left: 52px; }
    .f4-page .f4-list li > .btn { order: 4; margin-left: auto; }
    .f4-page .card-header > a { font-size: 13px; }
}

/* Dugmeler sayfa yazi tipini kullansin (tarayici varsayilani Arial yerine) */
.f4-page button, .f4-page input, .f4-page select, .f4-page textarea { font-family: inherit; }


/* ==== F5.css ==== */
/* F5 — Olimpiyat yonetimi (admin). Tum kurallar .f5- onekli; public sayfalari etkilemez. */

.f5-muted { color: var(--gray-600); }
.f5-inline { display: inline; margin: 0; }
.f5-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.55; }
.f5-errors { margin: 4px 0 0 18px; padding: 0; }
.f5-tz { display: block; margin: -8px 0 16px; font-size: 12px; }

/* Baslik */
.f5-head { align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.f5-back { display: inline-block; font-size: 13px; color: var(--gray-600); margin-bottom: 6px; }
.f5-back:hover { color: var(--primary); }
.f5-head-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.f5-preview { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.f5-preview select { padding: 8px 10px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white); font: inherit; font-size: 14px; }

/* Rozetler */
.f5-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; background: var(--gray-100); color: var(--gray-700); }
.f5-st-draft, .f5-tr-none, .f5-unpublished { background: var(--gray-100); color: var(--gray-700); }
.f5-st-open, .f5-reg-open, .f5-tr-ok, .f5-published, .f5-pay-completed { background: #dcfce7; color: #166534; }
.f5-st-closed, .f5-reg-closed, .f5-pay-failed, .f5-tr-failed { background: #fee2e2; color: #991b1b; }
.f5-reg-soon, .f5-scheduled, .f5-pay-pending, .f5-pay-processing, .f5-tr-working { background: #dbeafe; color: #1e40af; }
.f5-tr-stale, .f5-locked { background: #fef3c7; color: #92400e; }
.f5-payer { background: var(--gray-100); color: var(--gray-600); font-weight: 500; }

/* Filtre ve sekmeler */
.f5-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.f5-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--gray-200); margin-bottom: 20px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.f5-tabs a { padding: 10px 16px; font-size: 14px; font-weight: 600; color: var(--gray-600); border-bottom: 2px solid transparent; margin-bottom: -2px; white-space: nowrap; }
.f5-tabs a:hover { color: var(--primary); }
.f5-tabs a.active { color: var(--primary); border-bottom-color: var(--primary); }

/* Form */
.f5-card { margin-bottom: 20px; }
.f5-section { font-size: 15px; margin: 24px 0 12px; padding-top: 16px; border-top: 1px solid var(--gray-200); }
.f5-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.f5-check { display: flex !important; align-items: center; gap: 8px; font-weight: 400 !important; margin: 6px 0 !important; cursor: pointer; }
.f5-check input { width: auto !important; }
.f5-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--gray-200); }

.f5-rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.f5-row { display: grid; grid-template-columns: minmax(140px, 1fr) 2fr auto; gap: 8px; align-items: start; }
.f5-row-plain { grid-template-columns: minmax(140px, 1fr) 2fr; }
.f5-row input, .f5-row textarea { width: 100%; padding: 9px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 14px; box-sizing: border-box; }
.f5-row textarea { resize: vertical; min-height: 42px; }
.f5-row-btns { display: flex; gap: 4px; }

.f5-md-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px; border: 1px solid var(--gray-300); border-bottom: 0; border-radius: var(--radius-sm) var(--radius-sm) 0 0; background: var(--gray-50); }
.f5-md-toolbar button { border: 1px solid transparent; background: transparent; border-radius: 6px; padding: 6px 10px; cursor: pointer; color: var(--gray-700); font: inherit; font-size: 13px; }
.f5-md-toolbar button:hover, .f5-md-toolbar button.active { background: var(--white); border-color: var(--gray-300); color: var(--primary); }
.f5-md-preview-btn { margin-left: auto; }
.f5-md-toolbar + textarea { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
.f5-md-preview { border: 1px solid var(--gray-300); border-radius: 0 0 var(--radius-sm) var(--radius-sm); padding: 12px 16px; min-height: 200px; background: var(--white); line-height: 1.6; overflow-wrap: anywhere; }
.f5-md-preview h3, .f5-md-preview h4, .f5-md-preview h5 { margin: 12px 0 6px; }
.f5-md-preview blockquote { margin: 8px 0; padding-left: 12px; border-left: 3px solid var(--gray-300); color: var(--gray-700); }

/* Ceviriler */
.f5-tr-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.f5-progress { font-size: 13px; color: var(--gray-600); }
#f5Translations.is-busy [data-translate], #f5Translations.is-busy [data-bulk] { opacity: .5; pointer-events: none; }
.f5-tr-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; margin-bottom: 12px; }
.f5-tr-src label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.f5-src-text { background: var(--gray-50); border: 1px dashed var(--gray-300); border-radius: var(--radius-sm); padding: 10px 12px; font-size: 13px; color: var(--gray-700); max-height: 260px; overflow: auto; overflow-wrap: anywhere; }

/* Kapak */
.f5-cover-upload { display: grid; grid-template-columns: 1fr 2fr auto; gap: 12px; align-items: start; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--gray-200); }
.f5-cover-upload .form-group { margin-bottom: 0; }
.f5-cover-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-top: 24px; }
.f5-cover-item { margin: 0; border: 1px solid var(--gray-200); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.f5-cover-item img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--gray-100); }
.f5-cover-item figcaption { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; font-size: 13px; }
.f5-cover-item figcaption small { color: var(--gray-500); }
.f5-cover-item figcaption form { margin-left: auto; }

/* Sinavlar */
.f5-exam { border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 12px; background: var(--white); }
.f5-exam.is-locked { background: #fffdf5; border-color: #fde68a; }
.f5-exam-new { border-style: dashed; background: var(--gray-50); }
.f5-exam-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.f5-exam-head small { display: block; margin-top: 2px; }
.f5-exam-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.f5-exam-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 12px; }
.f5-exam-grid .form-group { margin-bottom: 8px; min-width: 0; }
.f5-exam-grid select { max-width: 100%; }
.f5-exam-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.f5-lock-note { font-size: 12px; margin: 0 0 8px; }

/* Odemeler */
.f5-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.f5-stat { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.f5-stat span { font-size: 12px; color: var(--gray-600); font-weight: 600; text-transform: uppercase; }
.f5-stat strong { font-size: 20px; overflow-wrap: anywhere; }
.f5-stat small { color: var(--gray-500); font-size: 12px; }
.f5-err-msg { font-size: 11px; }

/* Tablolar */
.f5-table-wrap { overflow-x: auto; }
.f5-table td { vertical-align: top; }
.f5-actions { white-space: nowrap; }
.f5-actions .btn { margin: 0 2px 2px 0; }

/* Tablet */
@media (max-width: 1024px) {
    .f5-exam-grid { grid-template-columns: 1fr 1fr; }
    .f5-stats { grid-template-columns: 1fr 1fr; }
}

/* Telefon: tablolar kart gorunumune gecer */
@media (max-width: 768px) {
    .f5-row, .f5-row-plain { grid-template-columns: 1fr; }
    .f5-row-btns { justify-content: flex-end; }
    .f5-tr-pair { grid-template-columns: 1fr; gap: 6px; }
    .f5-cover-upload { grid-template-columns: 1fr; }
    .f5-exam-grid { grid-template-columns: 1fr; }
    .f5-exam-actions { justify-content: stretch; }
    .f5-exam-actions .btn { flex: 1 1 auto; }
    .f5-form-actions .btn { flex: 1 1 auto; }
    .f5-preview { width: 100%; }
    .f5-preview select { flex: 1 1 auto; min-width: 0; }

    .f5-table thead { display: none; }
    .f5-table, .f5-table tbody, .f5-table tr, .f5-table td { display: block; width: 100%; box-sizing: border-box; }
    .f5-table tr { border: 1px solid var(--gray-200); border-radius: var(--radius-sm); margin-bottom: 10px; padding: 6px 0; background: var(--white); }
    .f5-table td { border: 0; padding: 6px 12px; display: grid; grid-template-columns: 40% 1fr; gap: 8px; overflow-wrap: anywhere; }
    .f5-table td::before { content: attr(data-label); font-size: 11px; font-weight: 600; color: var(--gray-600); text-transform: uppercase; }
    .f5-actions { white-space: normal; }
}

@media (max-width: 480px) {
    .f5-stats { grid-template-columns: 1fr; }
    .f5-table td { grid-template-columns: 1fr; gap: 2px; }
}
.f5-upload-btn { margin-top: 26px; }
@media (max-width: 768px) { .f5-upload-btn { margin-top: 0; } }


/* ==== F6.css ==== */
/* F6 — Olimpiyat listesi, bilgi sayfasi, mentor kaydi, odeme */

.f6-page { padding: 32px 0 48px; }
.f6-hero p { opacity: .85; margin-top: 6px; }
.f6-muted { color: var(--gray-600); font-size: 13px; }
.f6-small { font-size: 12px; }
.f6-back { display: inline-flex; align-items: center; gap: 6px; color: var(--gray-700); text-decoration: none; font-size: 14px; margin-bottom: 16px; }
.f6-back:hover { color: var(--primary); }
.f6-page .card-body { padding: 20px 24px; }

/* Rozetler */
.f6-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--gray-100); color: var(--gray-700); }
.f6-state-open, .f6-badge-ok, .f6-pay-completed, .f6-exst-done { background: #dcfce7; color: #166534; }
.f6-state-soon, .f6-badge-warn, .f6-pay-pending { background: #fef3c7; color: #92400e; }
.f6-state-closed, .f6-pay-failed, .f6-exst-missed { background: #fee2e2; color: #991b1b; }
.f6-badge-info, .f6-pay-processing, .f6-exst-open, .f6-exst-in_exam { background: #dbeafe; color: #1e40af; }

/* Liste */
.f6-event-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.f6-event-card { display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; text-decoration: none; color: inherit; transition: var(--transition); min-width: 0; }
.f6-event-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.f6-cover { position: relative; aspect-ratio: 16 / 7; background: var(--primary-light); color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 40px; overflow: hidden; border-radius: var(--radius-sm); }
.f6-event-card .f6-cover { border-radius: 0; }
.f6-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f6-cover > .f6-badge { position: absolute; top: 12px; left: 12px; box-shadow: var(--shadow); }
.f6-event-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.f6-event-body h2 { font-size: 18px; margin: 0; color: var(--dark); }
.f6-subtitle { color: var(--gray-700); margin: 0; }
.f6-summary { color: var(--gray-600); font-size: 14px; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.f6-facts { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--gray-700); }
.f6-facts i { color: var(--primary); width: 18px; }
.f6-more { margin-top: auto; padding-top: 6px; color: var(--primary); font-weight: 600; font-size: 14px; }

/* Bilgi sayfasi */
.f6-preview-bar { background: #fef3c7; color: #92400e; padding: 10px 0; font-size: 14px; }
.f6-preview-bar .container { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.f6-detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; align-items: start; }
.f6-detail-side { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 0; }
.f6-cover-lg { aspect-ratio: 16 / 6; margin-bottom: 20px; font-size: 56px; border-radius: var(--radius); }
.f6-title { font-size: 30px; line-height: 1.2; color: var(--dark); margin: 0 0 6px; overflow-wrap: anywhere; }
.f6-lead { font-size: 16px; color: var(--gray-700); margin: 12px 0 0; }
.f6-facts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 20px 0 24px; }
.f6-facts-grid > div { background: var(--white); border-radius: var(--radius-sm); box-shadow: var(--shadow); padding: 12px 14px; display: grid; grid-template-columns: 22px 1fr; column-gap: 8px; }
.f6-facts-grid i { color: var(--primary); grid-row: span 2; margin-top: 3px; }
.f6-facts-grid span { font-size: 12px; color: var(--gray-600); }
.f6-facts-grid strong { font-size: 14px; color: var(--dark); overflow-wrap: anywhere; }
.f6-rich { line-height: 1.7; color: var(--gray-800); overflow-wrap: anywhere; }
.f6-rich h3, .f6-rich h4, .f6-rich h5 { margin: 18px 0 8px; color: var(--dark); }
.f6-rich blockquote { border-left: 3px solid var(--primary); margin: 12px 0; padding: 4px 14px; color: var(--gray-700); }
.f6-stages { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 12px; }
.f6-stages li::marker { color: var(--primary); font-weight: 700; }
.f6-stages p { margin: 4px 0 0; color: var(--gray-700); }
.f6-schedule { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.f6-schedule li { display: flex; gap: 14px; align-items: center; }
.f6-sched-date { flex: 0 0 58px; height: 58px; border-radius: var(--radius-sm); background: var(--primary-light); color: var(--primary); display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; line-height: 1; }
.f6-sched-date small { font-size: 11px; font-weight: 600; margin-top: 3px; }
.f6-sched-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.f6-faq details { border-bottom: 1px solid var(--gray-100); padding: 12px 0; }
.f6-faq details:last-child { border-bottom: 0; }
.f6-faq summary { cursor: pointer; font-weight: 600; color: var(--dark); list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.f6-faq summary::after { content: '+'; color: var(--primary); font-weight: 700; }
.f6-faq details[open] summary::after { content: '−'; }
.f6-faq details > div { margin-top: 8px; color: var(--gray-700); }

.f6-action-card .card-body { display: flex; flex-direction: column; gap: 12px; }
.f6-action-card p { margin: 0; }
.f6-price { font-size: 28px; font-weight: 800; color: var(--dark); }
.f6-price small { font-size: 13px; font-weight: 500; color: var(--gray-600); }
.f6-done { display: flex; gap: 8px; align-items: center; font-weight: 700; color: #166534; background: #dcfce7; padding: 10px 12px; border-radius: var(--radius-sm); }
.f6-note { background: var(--gray-50); border-left: 3px solid var(--info); padding: 10px 12px; border-radius: var(--radius-sm); font-size: 14px; color: var(--gray-800); margin: 0 0 12px; }
.f6-note-warn { border-left-color: var(--warning); background: #fffbeb; }
.f6-count-line { font-weight: 600; color: var(--dark); }
.f6-mini-schedule { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.f6-mini-schedule li { display: flex; flex-direction: column; background: var(--gray-50); border-radius: var(--radius-sm); padding: 8px 10px; }
.f6-mini-schedule span { color: var(--gray-600); font-size: 13px; }
.f6-mode-pick { border: 1px solid var(--gray-200); border-radius: var(--radius-sm); padding: 10px 12px; margin: 0 0 12px; display: flex; gap: 16px; flex-wrap: wrap; }
.f6-mode-pick legend { font-size: 12px; font-weight: 600; color: var(--gray-700); padding: 0 4px; }
.f6-mode-pick label { display: flex; gap: 6px; align-items: center; cursor: pointer; }

/* Mentor kaydi */
.f6-select-head { flex-wrap: wrap; gap: 10px; }
.f6-select-all { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; cursor: pointer; }
.f6-apply-all { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; font-size: 14px; }
.f6-apply-all select, .f6-st-mode, .f6-inline-form select { padding: 7px 10px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white); font-size: 14px; max-width: 100%; }
.f6-students { list-style: none; margin: 0; padding: 0; }
.f6-st { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 10px 8px; border-bottom: 1px solid var(--gray-100); border-radius: var(--radius-sm); }
.f6-st:last-child { border-bottom: 0; }
.f6-st.is-picked { background: var(--primary-light); }
.f6-st.is-disabled .f6-st-name { opacity: .7; }
.f6-st-main { display: flex; gap: 10px; align-items: center; cursor: pointer; min-width: 0; }
.f6-st.is-disabled .f6-st-main { cursor: default; }
.f6-st-main input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--primary); }
.f6-st-name { display: flex; flex-direction: column; min-width: 0; }
.f6-st-name strong, .f6-st-name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f6-st-name small { color: var(--gray-600); }
.f6-sticky-bar { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 24px; background: var(--white); border-top: 1px solid var(--gray-200); border-radius: 0 0 var(--radius) var(--radius); box-shadow: 0 -6px 16px rgba(0,0,0,.06); }
.f6-total { font-size: 15px; color: var(--gray-700); }
.f6-total strong { font-size: 20px; color: var(--dark); margin-left: 4px; }

.f6-reg { border: 1px solid var(--gray-200); border-radius: var(--radius-sm); margin-bottom: 10px; }
.f6-reg summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; }
.f6-reg summary::-webkit-details-marker { display: none; }
.f6-reg[open] summary .fa-chevron-down { transform: rotate(180deg); }
.f6-link { color: var(--primary); font-size: 13px; font-weight: 600; white-space: nowrap; }
.f6-reg-body { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 12px; }
.f6-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; margin: 0; font-size: 14px; }
.f6-dl dt { color: var(--gray-600); }
.f6-dl dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.f6-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.f6-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
.f6-table th, .f6-table td { padding: 9px 10px; border-bottom: 1px solid var(--gray-100); text-align: left; vertical-align: top; }
.f6-table th { font-size: 12px; color: var(--gray-600); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.f6-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; letter-spacing: .08em; background: var(--gray-100); padding: 2px 6px; border-radius: 4px; white-space: nowrap; }
.f6-reg-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.f6-inline-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
.f6-side-summary { display: flex; flex-direction: column; gap: 14px; }

/* Odeme */
.f6-pay-wrap { max-width: 980px; }
.f6-pay-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.f6-pay-title { font-size: 20px; margin: 0 0 14px; color: var(--dark); }
.f6-pay-students { list-style: none; margin: 0; padding: 0; max-height: 360px; overflow-y: auto; }
.f6-pay-students li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--gray-100); font-size: 14px; }
.f6-pay-students li span:first-child { min-width: 0; overflow-wrap: anywhere; }
.f6-pay-students li span:last-child { white-space: nowrap; }
.f6-pay-total { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 14px 0 8px; font-size: 15px; }
.f6-pay-total strong { font-size: 22px; color: var(--dark); }
.f6-bin { font-size: 12px; padding: 8px 12px; border-radius: 8px; margin: -8px 0 16px; }
.f6-bin.is-tr { background: #ecfdf5; color: #065f46; }
.f6-bin.is-intl { background: #eff6ff; color: #1e40af; }
.f6-cvv { max-width: 140px; }

@media (max-width: 992px) {
    .f6-detail-grid { grid-template-columns: minmax(0, 1fr); } /* 1fr = minmax(auto): tablo sutunu telefonda 570 px'e genisletiyordu */
    .f6-detail-side { position: static; order: -1; }
    .f6-detail-main { order: 0; }
    .f6-side-last .f6-detail-side { order: 1; }
    .f6-pay-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .f6-page .card-body { padding: 16px; }
    .f6-title { font-size: 24px; }
    .f6-event-grid { grid-template-columns: 1fr; }
    .f6-st { grid-template-columns: minmax(0, 1fr) auto; }
    .f6-st .f6-st-mode { grid-column: 1 / -1; margin-left: 28px; }
    .f6-sticky-bar { padding: 12px 16px; }
    .f6-sticky-bar .btn { flex: 1 1 auto; }
}
@media (max-width: 480px) {
    .f6-facts-grid { grid-template-columns: 1fr; }
    .f6-cover-lg { aspect-ratio: 16 / 8; }
    .f6-dl { grid-template-columns: 1fr; gap: 2px; }
    .f6-dl dd { margin-bottom: 6px; }
    .f6-reg summary { flex-wrap: wrap; }
}


/* ==== F7.css ==== */
/* F7 — Olimpiyat sinavi: giris, geri sayim, sonuc, mentor/admin sonuc tablolari */

.f7-kicker { margin: 0 0 6px; font-size: 14px; font-weight: 600; opacity: .85; letter-spacing: .02em; }

.f7-card {
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius);
    padding: 20px; margin-bottom: 16px; min-width: 0;
}
.f7-card h2 { font-size: 20px; margin: 0 0 6px; }
.f7-card h3 { font-size: 17px; margin: 0 0 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.f7-card p { margin: 0 0 10px; }
.f7-card-success, .f7-card-onsite, .f7-card-closed { display: flex; gap: 16px; align-items: flex-start; }
.f7-card-success > i, .f7-card-onsite > i, .f7-card-closed > i { font-size: 28px; flex: 0 0 auto; margin-top: 2px; }
.f7-card-success { border-color: var(--success); background: #ecfdf5; }
.f7-card-success > i { color: var(--success); }
.f7-card-onsite { border-color: #7c3aed; background: #f5f3ff; }
.f7-card-onsite > i { color: #7c3aed; }
.f7-card-closed > i { color: var(--gray-500); }

.f7-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px 20px; margin: 0; }
.f7-facts dt { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--gray-600); }
.f7-facts dd { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }

.f7-countdown-card { text-align: center; }
.f7-countdown { font-variant-numeric: tabular-nums; font-weight: 800; }
.f7-countdown-card .f7-countdown { display: block; font-size: clamp(32px, 9vw, 52px); color: var(--primary); margin: 6px 0 12px; }
.f7-ends { font-size: 14px; color: var(--gray-700); }
.f7-ends .f7-countdown { color: var(--danger); }

.f7-entry-form { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 16px; }
.f7-entry-form label { font-weight: 600; margin-top: 6px; }
.f7-entry-form select, .f7-entry-form input { width: 100%; max-width: 100%; }
.f7-code-input {
    font-family: 'Courier New', ui-monospace, monospace; font-size: 26px; font-weight: 700;
    letter-spacing: .18em; text-align: center; text-transform: uppercase; padding: 12px;
}
.f7-rules { margin: 0; padding-left: 20px; font-size: 14px; color: var(--gray-700); }
.f7-rules li + li { margin-top: 4px; }

.f7-result-grid { margin-bottom: 24px; }
.f7-stat-score i { color: var(--warning); }
.f7-stat-rank i { color: var(--primary); }

.f7-pill {
    display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600;
    background: var(--gray-100); color: var(--gray-700);
}
.f7-pill-ok { background: #ecfdf5; color: var(--success); }

.f7-status { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 600; background: var(--gray-100); color: var(--gray-700); white-space: nowrap; }
.f7-status-open { background: #eff6ff; color: #1d4ed8; }
.f7-status-in_exam { background: #fef3c7; color: #92400e; }
.f7-status-done { background: #ecfdf5; color: var(--success); }
.f7-status-missed { background: #fef2f2; color: var(--danger); }

.f7-results-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin-bottom: 12px; }
.f7-results-head h2 { margin: 0; }

.f7-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.f7-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.f7-table th, .f7-table td { padding: 10px 8px; border-bottom: 1px solid var(--gray-200); text-align: left; vertical-align: top; }
.f7-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--gray-600); }
.f7-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.f7-table td small { display: block; }

/* Telefonda tablo satirlari karta donusur */
@media (max-width: 640px) {
    .f7-table thead { display: none; }
    .f7-table, .f7-table tbody, .f7-table tr, .f7-table td { display: block; width: 100%; }
    .f7-table tr { border: 1px solid var(--gray-200); border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; }
    .f7-table td { border: 0; padding: 4px 0; text-align: left; display: flex; justify-content: space-between; gap: 12px; }
    .f7-table td.num { text-align: left; }
    .f7-table td[data-label]::before { content: attr(data-label); color: var(--gray-600); font-size: 12px; flex: 0 0 auto; }
    .f7-table td:first-child { display: block; }
    .f7-table td:first-child::before { display: none; }
    .f7-card-success, .f7-card-onsite, .f7-card-closed { flex-direction: column; gap: 8px; }
}

/* ---- Sinav giris karti (public/olympiad-exam.php) — EXST tasarim diliyle uyumlu ---- */
.f7-entry-page { padding: 32px 0 56px; }
.f7-entry-card {
    background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden;
}

.f7-entry-hero { display: block; }
.f7-entry-cover .covdyn-fg, .f7-entry-cover .covdyn-bg { border-radius: 0; margin: 0; }
.f7-entry-hero-noimg .f7-entry-cover {
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 1200 / 630; background: var(--primary-light); color: var(--primary); font-size: 48px;
}
.f7-entry-hero-body { padding: 22px 28px 0; text-align: center; }
.f7-entry-hero-body .f7-kicker { display: block; margin: 0 0 4px; }
.f7-entry-hero-body h1 { font-size: 24px; line-height: 1.25; color: var(--dark); margin: 0; }

.f7-entry-stats {
    list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1px; background: var(--gray-200); margin: 22px 28px 0; border-radius: var(--radius-sm); overflow: hidden;
}
.f7-entry-stats li {
    background: var(--gray-50); display: flex; flex-direction: column; align-items: center; text-align: center;
    gap: 6px; padding: 14px 8px; min-width: 0;
}
.f7-entry-stats li i { font-size: 18px; color: var(--primary); }
.f7-entry-stats li strong { display: block; font-size: 14px; color: var(--dark); line-height: 1.3; overflow-wrap: anywhere; }
.f7-entry-stats li span { display: block; font-size: 11px; color: var(--gray-700); margin-top: 2px; }

.f7-entry-body { padding: 22px 28px 28px; }
.f7-entry-body > .f7-card:first-child { margin-top: 0; }
.f7-entry-body > .f7-card:last-child { margin-bottom: 0; }
.f7-entry-ends { font-size: 14px; color: var(--gray-700); margin: 0 0 16px; }
.f7-entry-ends .f7-countdown { color: var(--danger); font-weight: 700; }

.f7-entry-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; align-items: start; }
.f7-entry-info-grid > section:only-child { grid-column: 1 / -1; }
.f7-entry-rules, .f7-entry-security { padding: 16px 18px; border-radius: var(--radius-sm); }
.f7-entry-rules { background: var(--primary-light); }
.f7-entry-security { background: var(--gray-50); border: 1px solid var(--gray-200); }
.f7-entry-rules h2, .f7-entry-security h2 {
    font-size: 14px; font-weight: 700; margin: 0 0 10px; display: flex; align-items: center; gap: 8px;
}
.f7-entry-rules h2 { color: var(--primary-dark); }
.f7-entry-rules h2 i { color: var(--primary); }
.f7-entry-security h2 { color: var(--gray-800); }
.f7-entry-security h2 i { color: var(--gray-700); }
.f7-entry-rules ul, .f7-entry-security ul { list-style: none; margin: 0; padding: 0; }
.f7-entry-rules li, .f7-entry-security li {
    position: relative; padding-inline-start: 16px; padding-block: 4px;
    font-size: 13px; line-height: 1.5; color: var(--gray-700);
}
.f7-entry-rules li::before, .f7-entry-security li::before {
    content: ""; position: absolute; inset-inline-start: 0; top: 12px; width: 5px; height: 5px; border-radius: 50%;
}
.f7-entry-rules li::before { background: var(--primary); }
.f7-entry-security li::before { background: var(--gray-500); }

.f7-entry-form .f7-entry-lang { margin: 14px 0; }
.f7-entry-lang label {
    display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--dark); margin-bottom: 8px;
}
.f7-entry-lang label i { color: var(--primary); }
.f7-entry-actions { margin-top: 6px; }
.f7-entry-submit { font-size: 16px; padding: 15px; min-height: 50px; }

@media (max-width: 820px) {
    .f7-entry-page { padding: 16px 0 40px; }
    .f7-entry-card { border-radius: var(--radius); }
    .f7-entry-hero-body { padding: 18px 20px 0; }
    .f7-entry-hero-body h1 { font-size: 21px; }
    .f7-entry-stats { margin: 18px 20px 0; }
    .f7-entry-info-grid { grid-template-columns: 1fr; }
    .f7-entry-body { padding: 18px 20px 22px; }

    /* Eylem dugmesi her zaman kolay erisilebilir: gorunum alaninin altina sabitlenir */
    .f7-entry-actions {
        position: sticky; bottom: 0; margin: 16px -20px -22px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
        background: var(--white); border-top: 1px solid var(--gray-200); box-shadow: 0 -6px 16px rgba(0,0,0,.06); z-index: 5;
    }
}
@media (max-width: 480px) {
    .f7-entry-hero-body { padding: 16px 16px 0; }
    .f7-entry-stats { margin: 16px 16px 0; }
    .f7-entry-body { padding: 16px 16px 18px; }
    .f7-entry-actions { margin: 16px -16px -18px; padding-left: 16px; padding-right: 16px; }
}

.f7-schedule-list { list-style: none; margin: 0; padding: 0; }
.f7-schedule-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding: 10px 0; border-top: 1px solid var(--gray-200); }
.f7-schedule-list li:first-child { border-top: 0; }
.f7-schedule-list li > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.f7-schedule-list .mo-muted { font-size: 13px; }

.f7-side-link { margin-top: 8px; }
/* OXF2F: yuz yuze ogrencinin ID kodu (olimpiyat sayfasi) */
.f7-onsite-code { font-size: 13px; font-weight: 600; white-space: nowrap; }
.f7-onsite-code .f7-code { font-size: 15px; color: var(--primary, #16a34a); }

/* Admin */
.f7-admin-filter { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: flex-end; }
.f7-admin-filter label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: 13px; min-width: 220px; flex: 1 1 220px; }
.f7-admin-summary { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-bottom: 14px; font-size: 14px; }
.f7-code { font-family: 'Courier New', ui-monospace, monospace; font-weight: 700; letter-spacing: .06em; white-space: nowrap; }
.f7-admin-table td { vertical-align: top; }


/* ==== F8.css ==== */
/* F8 — Sinav giris karti. Tum kurallar .f8- onekli. */

/* Kart (ekran) */
.f8-card { margin: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.f8-card-frame { width: 100%; aspect-ratio: 856 / 540; border-radius: 3.3% / 5.2%; overflow: hidden; background: #fff; }
.f8-card-frame svg, .f8-print-card svg { display: block; width: 100%; height: 100%; }
.f8-card-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.f8-card-actions .btn { flex: 1 1 auto; justify-content: center; }
.f8-card-actions .is-busy { opacity: .6; cursor: progress; }

/* Sayfa */
.f8-page { padding: 32px 0 56px; }
.f8-filter { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.f8-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--gray-100, #f1f3f4); font-size: 14px; font-weight: 600; }
.f8-clear { font-size: 14px; }
.f8-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; color: var(--gray-700, #5f6368); }
.f8-group { margin-bottom: 36px; }
.f8-group-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--gray-200, #e8eaed); }
.f8-group-head h2 { font-size: 20px; margin: 0; overflow-wrap: anywhere; }
.f8-group-head small { color: var(--gray-600, #80868b); }
.f8-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 24px; }
.f8-info { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-radius: var(--radius-sm, 8px); background: #eff6ff; color: #1e3a8a; font-size: 14px; line-height: 1.5; }

/* Slot kutulari (panel, olimpiyat sayfasi, hesabim) */
.f8-box { margin-bottom: 24px; }
.f8-box .f8-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 18px; }
.f8-box-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.f8-box-head h3 { margin: 0; font-size: 17px; }
.f8-event-block + .f8-event-block { margin-top: 18px; }
.f8-event-block h4 { margin: 0 0 10px; font-size: 15px; overflow-wrap: anywhere; }
.f8-link-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.f8-link-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.f8-link-list li span { overflow-wrap: anywhere; min-width: 0; }
.f8-codes { list-style: none; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.f8-codes li { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.f8-code { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-weight: 700; letter-spacing: 1px; background: var(--gray-100, #f1f3f4); padding: 2px 8px; border-radius: 6px; white-space: nowrap; }

@media (max-width: 480px) {
    .f8-page { padding-top: 20px; }
    .f8-grid { gap: 18px; }
}

/* Yazdirma gorunumu (?print=1) — ekran */
.f8-print-body { margin: 0; padding: 16px; background: #f1f6f2; font-family: 'DM Sans', system-ui, sans-serif; }
.f8-print-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 0 auto 16px; max-width: 190mm; font-size: 14px; color: #3c4043; }
.f8-print-toolbar button { padding: 8px 18px; border: 0; border-radius: 8px; background: #32834a; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.f8-print-empty { text-align: center; color: #5f6368; }
.f8-sheet { display: grid; grid-template-columns: repeat(2, 85.6mm); gap: 6mm; justify-content: center; }
.f8-print-card { width: 85.6mm; height: 54mm; border-radius: 3mm; overflow: hidden; background: #fff; break-inside: avoid; page-break-inside: avoid; }
@media screen and (max-width: 420px) {
    .f8-sheet { grid-template-columns: 1fr; }
    .f8-print-card { width: 100%; height: auto; aspect-ratio: 856 / 540; }
}

/* Baski: gercek kart boyutu, A4'e 2 sutun, renkler basilir */
@media print {
    @page { size: A4 portrait; margin: 12mm; }
    .f8-card-frame, .f8-print-card, .f8-card svg, .f8-print-card svg {
        -webkit-print-color-adjust: exact; print-color-adjust: exact; color-adjust: exact;
    }
    .f8-print-body { background: #fff; padding: 0; }
    .f8-print-toolbar { display: none !important; }
    .f8-sheet { gap: 6mm; }
    .f8-print-card { break-inside: avoid; page-break-inside: avoid; border-radius: 3mm; }

    /* Normal sayfadan Ctrl+P: sadece kartlar */
    body:has(.f8-page) .main-header, body:has(.f8-page) .main-footer, body:has(.f8-page) .f8-screen-only,
    body:has(.f8-page) .f8-card-actions, body:has(.f8-page) .alert { display: none !important; }
    .f8-page { padding: 0; }
    .f8-page .f8-grid { display: grid; grid-template-columns: repeat(2, 85.6mm); gap: 6mm; justify-content: center; }
    .f8-page .f8-card-frame { width: 85.6mm; height: 54mm; box-shadow: none; border-radius: 3mm; break-inside: avoid; }
    .f8-page .f8-group { break-inside: auto; margin-bottom: 8mm; }
    .f8-page .f8-group-head { border: 0; margin-bottom: 4mm; }
}


/* ==== F9.css ==== */
/* F9 — Olimpiyat kayit dokumu (admin > Olimpiyat duzenle > Kayitlar). Tum kurallar .f9- onekli. */

.f9-muted { color: var(--gray-600); }
.f9-break { overflow-wrap: anywhere; }
.f9-card { margin-bottom: 20px; }

/* Ozet */
.f9-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.f9-stat { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.f9-stat span { font-size: 12px; color: var(--gray-600); font-weight: 600; text-transform: uppercase; }
.f9-stat strong { font-size: 20px; overflow-wrap: anywhere; }
.f9-stat small { color: var(--gray-500); font-size: 12px; }

/* Arac cubugu */
.f9-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.f9-search { display: flex; gap: 8px; flex: 1 1 320px; min-width: 0; margin: 0; }
.f9-search input { flex: 1 1 auto; min-width: 0; padding: 9px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 14px; }
.f9-downloads { display: flex; gap: 8px; flex-wrap: wrap; }

/* Rozetler */
.f9-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.5; background: var(--gray-100); color: var(--gray-700); width: fit-content; max-width: 100%; }
.f9-warn, .f9-mail-failed, .f9-es-missed { background: #fef3c7; color: #92400e; }
.f9-mode-online, .f9-es-open, .f9-es-in_exam, .f9-mail-sending { background: #dbeafe; color: #1e40af; }
.f9-mode-onsite { background: #ede9fe; color: #5b21b6; }
.f9-es-done, .f9-mail-sent { background: #dcfce7; color: #166534; }
.f9-individual { background: var(--gray-100); color: var(--gray-700); }

/* Tablo */
.f9-table-wrap { overflow-x: auto; }
.f9-table td { vertical-align: top; }
.f9-cell { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 14px; }
.f9-cell small { font-size: 12px; }
.f9-cell code { font-size: 12px; overflow-wrap: anywhere; }
.f9-tel { white-space: nowrap; }
.f9-current { margin-top: 6px; padding: 6px 8px; border-left: 3px solid #f59e0b; background: #fffbeb; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; display: flex; flex-direction: column; gap: 2px; }
.f9-current small { color: #92400e; font-weight: 600; }

/* Kodlar ve durum */
.f9-details-row td { padding-top: 0 !important; border-top: 0 !important; }
.f9-table tbody tr:not(.f9-details-row) td { border-bottom: 0; }
.f9-details summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--primary); padding: 4px 0; width: fit-content; }
.f9-details-body { margin-top: 8px; padding: 12px; background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); }
.f9-codes { display: flex; flex-direction: column; gap: 8px; }
.f9-code { display: grid; grid-template-columns: minmax(160px, 2fr) auto auto auto; gap: 8px 12px; align-items: center; padding-bottom: 8px; border-bottom: 1px dashed var(--gray-200); }
.f9-code:last-child { border-bottom: 0; padding-bottom: 0; }
.f9-code-exam { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.f9-code-exam small { font-size: 12px; }
.f9-code-value { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 15px; font-weight: 700; letter-spacing: .08em; background: var(--white); border: 1px solid var(--gray-300); border-radius: 6px; padding: 3px 8px; white-space: nowrap; }
.f9-pay { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 16px; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--gray-200); }
.f9-codes:empty + .f9-pay, .f9-details-body > .f9-pay:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.f9-pay dt { font-size: 11px; font-weight: 600; color: var(--gray-600); text-transform: uppercase; }
.f9-pay dd { margin: 2px 0 0; font-size: 13px; overflow-wrap: anywhere; }

/* Tablet */
@media (max-width: 1024px) {
    .f9-stats { grid-template-columns: 1fr 1fr; }
    .f9-pay { grid-template-columns: 1fr 1fr; }
    .f9-code { grid-template-columns: 1fr auto; }
}

/* Telefon: tablo kart gorunumune gecer */
@media (max-width: 768px) {
    .f9-toolbar { align-items: stretch; }
    .f9-search { flex-basis: 100%; flex-wrap: wrap; }
    .f9-search input { flex-basis: 100%; }
    .f9-search .btn, .f9-downloads .btn { flex: 1 1 auto; justify-content: center; }
    .f9-downloads { width: 100%; }
    .f9-table thead { display: none; }
    .f9-table, .f9-table tbody, .f9-table tr, .f9-table td { display: block; width: 100%; box-sizing: border-box; }
    .f9-table tr { border: 1px solid var(--gray-200); border-bottom: 0; border-radius: var(--radius-sm) var(--radius-sm) 0 0; padding: 6px 0 0; background: var(--white); }
    .f9-table tr.f9-details-row { border-top: 0; border-bottom: 1px solid var(--gray-200); border-radius: 0 0 var(--radius-sm) var(--radius-sm); margin-bottom: 12px; padding: 0 0 6px; }
    .f9-table td { border: 0 !important; padding: 6px 12px; display: grid; grid-template-columns: 34% 1fr; gap: 8px; overflow-wrap: anywhere; }
    .f9-table td::before { content: attr(data-label); font-size: 11px; font-weight: 600; color: var(--gray-600); text-transform: uppercase; }
    .f9-table .f9-details-row td { display: block; }
    .f9-table .f9-details-row td::before { content: none; }
    .f9-code { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .f9-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
    .f9-stat { padding: 10px 12px; }
    .f9-stat strong { font-size: 17px; }
    .f9-table td { grid-template-columns: 1fr; gap: 2px; }
    .f9-pay { grid-template-columns: 1fr; }
}


/* ==== FAQPRM.css ==== */
/* FAQPRM - Sik sorulan sorular (public/faq.php) premium yeniden duzeni.
   Tum kurallar .faqprm kokuyle kapsamli. Ana sayfanin (HOMEPRM) SSS bolumunun genisletilmis hali:
   marka yesili, soguk yesil-gri kagit tonu, Manrope basliklar + DM Sans metin, "+" acilinca "x".
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px. Mantiksal ozellikler (RTL: ar, fa, ur). */

.faqprm {
    --fq-tint: #f1f6f2;
    --fq-line: #d6e3d9;
    --fq-ink: var(--dark);
    --fq-text: #4a554e;
    --fq-muted: #5b675f;
    --fq-r: 16px;
    --fq-r-sm: 10px;
    --fq-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --fq-stick: 96px;
    --fq-anchor: 100px;
    color: var(--fq-text);
    /* alt bilgi (.ftr) kendi ust bosluguyla geliyor; son bolum ona bitisik olsun (HOMEPRM ile ayni) */
    margin-bottom: -72px;
}
.faqprm-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.faqprm a:focus-visible,
.faqprm button:focus-visible,
.faqprm summary:focus-visible,
.faqprm input:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.faqprm-cta a:focus-visible { outline-color: #fff; }

/* ---------- baslik + arama ---------- */
.faqprm-head { background: var(--fq-tint); border-bottom: 1px solid var(--fq-line); padding-block: clamp(40px, 6vw, 72px) clamp(32px, 4vw, 48px); }
.faqprm-head h1 {
    margin: 0 0 14px; font-family: var(--fq-display); font-weight: 800; color: var(--fq-ink);
    font-size: clamp(34px, 4.6vw, 56px); line-height: 1.08; letter-spacing: -0.03em; text-align: start;
}
.faqprm-lead { margin: 0 0 28px; max-width: 56ch; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.6; color: var(--fq-text); text-align: start; }
.faqprm-search {
    position: relative; display: flex; align-items: center; gap: 8px; max-width: 680px;
    background: #fff; border: 1px solid var(--fq-line); border-radius: var(--fq-r-sm);
    padding-block: 6px; padding-inline: 16px 6px; transition: border-color .2s, box-shadow .2s;
}
.faqprm-search:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .2); }
.faqprm-search-icon { flex: 0 0 auto; color: var(--fq-muted); font-size: 15px; }
.faqprm-search input[type="search"] {
    flex: 1 1 auto; min-width: 0; height: 46px; border: 0; background: transparent; box-shadow: none;
    font: inherit; font-size: 16px; color: var(--fq-ink); padding: 0; margin: 0;
}
.faqprm-search input[type="search"]:focus,
.faqprm-search input[type="search"]:focus-visible { outline: 0; box-shadow: none; border: 0; }
.faqprm-search input[type="search"]::-webkit-search-cancel-button { display: none; }
.faqprm-search input::placeholder { color: var(--fq-muted); opacity: 1; }
.faqprm-clear {
    flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 8px; background: transparent;
    color: var(--fq-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.faqprm-clear[hidden] { display: none; }
.faqprm-clear:hover { background: var(--fq-tint); color: var(--fq-ink); }
.faqprm-submit { flex: 0 0 auto; min-height: 46px; padding-inline: 22px; border-radius: 8px; white-space: nowrap; }
.faqprm-count { margin: 12px 0 0; min-height: 1.5em; font-size: 14px; line-height: 1.5; color: var(--fq-muted); }

/* ---------- govde: yapiskan konu menusu + liste ---------- */
.faqprm-body { background: #fff; padding-block: clamp(40px, 6vw, 80px); }
.faqprm-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); column-gap: clamp(32px, 6vw, 88px); align-items: start; }
.faqprm-list { max-width: 780px; min-width: 0; }

.faqprm-nav { position: sticky; top: var(--fq-stick); align-self: start; }
.faqprm-nav-title { margin: 0 0 12px; font-family: var(--fq-display); font-size: 15px; font-weight: 800; color: var(--fq-ink); }
.faqprm-nav ul { list-style: none; margin: 0; padding: 0; }
.faqprm-nav li[hidden] { display: none; }
.faqprm-nav a {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px;
    padding-block: 8px; padding-inline: 14px 8px; border-inline-start: 2px solid var(--fq-line);
    color: var(--fq-text); font-size: 15px; font-weight: 500; line-height: 1.3; text-decoration: none;
    transition: color .2s, border-color .2s, background-color .2s;
}
.faqprm-nav a:hover { color: var(--primary-dark); border-inline-start-color: #9fc4a9; }
.faqprm-nav a[aria-current="true"] { color: var(--primary-dark); font-weight: 700; border-inline-start-color: var(--primary); background: var(--fq-tint); border-start-end-radius: 8px; border-end-end-radius: 8px; }
.faqprm-nav-count { flex: 0 0 auto; font-size: 13px; font-weight: 600; color: var(--fq-muted); font-variant-numeric: tabular-nums; }

.faqprm-group { margin: 0 0 clamp(36px, 5vw, 56px); scroll-margin-top: var(--fq-anchor); }
.faqprm-group[hidden] { display: none; }
.faqprm-group h2 {
    margin: 0 0 16px; font-family: var(--fq-display); font-weight: 800; color: var(--fq-ink);
    font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; letter-spacing: -0.02em; text-align: start;
}

/* her kategori tek kart; satirlar 1px aralikla ayrilir (kart-icinde-kart yok) */
.faqprm-rows { display: grid; gap: 1px; background: var(--fq-line); border: 1px solid var(--fq-line); border-radius: var(--fq-r); overflow: hidden; }
.faqprm-item { background: #fff; scroll-margin-top: var(--fq-anchor); transition: background-color .2s; }
.faqprm-item[hidden] { display: none; }
.faqprm-item[open] { background: var(--fq-tint); }
.faqprm-item summary {
    list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px;
    min-height: 56px; padding: 14px 22px; cursor: pointer;
    font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--fq-ink); transition: color .2s;
}
.faqprm-item summary::-webkit-details-marker { display: none; }
.faqprm-item summary::marker { content: ""; }
.faqprm-item summary::after {
    content: ""; flex: 0 0 14px; width: 14px; height: 14px; color: var(--primary);
    background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
    transition: transform .25s cubic-bezier(.16, 1, .3, 1);
}
.faqprm-item[open] summary::after { transform: rotate(45deg); }
.faqprm-item summary:hover { color: var(--primary-dark); }
.faqprm-item summary:focus-visible { outline-offset: -3px; }
.faqprm-q { min-width: 0; overflow-wrap: anywhere; }

.faqprm-a { padding: 0 22px 14px; }
.faqprm-a-text { max-width: 64ch; font-size: 15.5px; line-height: 1.7; color: var(--fq-text); overflow-wrap: anywhere; }
.faqprm-a-text a { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 2px; }
.faqprm-copy {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; margin-inline-start: -10px; padding-inline: 10px;
    border: 0; border-radius: 8px; background: transparent; cursor: pointer;
    font: inherit; font-size: 14px; font-weight: 600; color: var(--primary-dark);
}
.faqprm-copy:hover { background: #e2eee5; }
.faqprm-copy.is-copied { color: var(--fq-ink); }
.faqprm-hit { background: #cfe8d5; color: var(--fq-ink); border-radius: 3px; padding-inline: 1px; }

/* bos / sonuc yok */
.faqprm-none { padding: clamp(28px, 4vw, 44px); border: 1px solid var(--fq-line); border-radius: var(--fq-r); background: var(--fq-tint); }
.faqprm-none[hidden] { display: none; }
.faqprm-none-title { margin: 0 0 6px; font-family: var(--fq-display); font-size: 20px; font-weight: 800; color: var(--fq-ink); }
.faqprm-none-hint { margin: 0 0 20px; max-width: 52ch; font-size: 15.5px; line-height: 1.65; }
.faqprm-empty { margin: 0; padding-block: 24px; font-size: 17px; }

/* ---------- sayfa sonu cagrisi ---------- */
.faqprm-cta { background: var(--fq-tint); padding-block: clamp(40px, 6vw, 80px); border-top: 1px solid var(--fq-line); }
.faqprm-cta-inner {
    display: flex; align-items: center; justify-content: space-between; gap: 28px 40px; flex-wrap: wrap;
    padding: clamp(28px, 4vw, 48px); border-radius: var(--fq-r); background: var(--primary-dark);
}
.faqprm-cta-text { flex: 1 1 340px; min-width: 0; }
.faqprm-cta h2 { margin: 0 0 10px; font-family: var(--fq-display); font-weight: 800; font-size: clamp(24px, 3vw, 34px); line-height: 1.15; letter-spacing: -0.025em; color: #fff; text-align: start; }
.faqprm-cta p { margin: 0; max-width: 56ch; font-size: 16.5px; line-height: 1.65; color: #cfe3d5; }
.faqprm .faqprm-cta-btn { flex: 0 0 auto; min-height: 48px; background: #fff; color: var(--primary-dark); border-color: #fff; border-radius: 8px; font-weight: 700; }
.faqprm .faqprm-cta-btn:hover { background: #e2eee5; color: var(--primary-dark); border-color: #e2eee5; }

/* ---------- dar ekran: konu menusu yatay kaydirmali cipler ---------- */
@media (max-width: 900px) {
    .faqprm { --fq-anchor: 148px; }
    .faqprm-layout { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
    .faqprm-nav {
        position: sticky; top: 60px; z-index: 5; margin-inline: -20px; padding: 10px 20px;
        background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--fq-line);
    }
    .faqprm-nav-title { display: none; }
    .faqprm-nav ul { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding-block: 2px; }
    .faqprm-nav ul::-webkit-scrollbar { display: none; }
    .faqprm-nav li { flex: 0 0 auto; scroll-snap-align: start; }
    .faqprm-nav a {
        min-height: 44px; padding-block: 8px; padding-inline: 16px; gap: 8px; white-space: nowrap;
        border: 1px solid var(--fq-line); border-radius: 999px; background: #fff;
    }
    .faqprm-nav a:hover { border-color: #9fc4a9; }
    .faqprm-nav a[aria-current="true"] { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; border-radius: 999px; }
    .faqprm-nav a[aria-current="true"] .faqprm-nav-count { color: #cfe3d5; }
    .faqprm .faqprm-cta-btn { width: 100%; justify-content: center; text-align: center; }
}
@media (min-width: 641px) and (max-width: 900px) {
    .faqprm-nav { top: 68px; }
}
@media (max-width: 520px) {
    .faqprm-search { flex-wrap: wrap; padding: 6px; padding-inline-start: 14px; }
    .faqprm-search input[type="search"] { flex: 1 1 calc(100% - 100px); }
    .faqprm-submit { flex: 1 1 100%; }
    .faqprm-item summary { padding: 12px 16px; gap: 14px; }
    .faqprm-a { padding: 0 16px 12px; }
}

@media (prefers-reduced-motion: no-preference) {
    html:has(.faqprm) { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
    .faqprm *, .faqprm *::before, .faqprm *::after { transition: none !important; animation: none !important; }
}


/* ==== FAQUI.css ==== */
/* FAQUI — Yardim merkezi / SSS sayfasi (public/faq.php). Arama-once tasarim: buyuk arama
   kutusu hero ile icerik arasinda "kayan" bir kart, kategori cipleri, yumusak acilan akordeon,
   soru basina baglanti kopyalama, arama sonuclarinda vurgulama (JS: assets/js/mo/FAQUI.js).
   Yalnizca bu sayfa kullanir; paylasilan COMM.css'e dokunulmadi (comm-faq-* siniflari orada
   artik kullanilmiyor, temizligi COMM sahibine birakildi). */

.faqui-hero { padding-bottom: 68px; }

/* ---------- Arama karti (hero'nun alt kenarina binen) ---------- */
.faqui-search-wrap { position: relative; max-width: 620px; margin: -48px auto 24px; }
.faqui-search {
    display: flex; align-items: center; gap: 6px;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: 999px;
    padding-block: 8px; padding-inline: 20px 8px;
    box-shadow: 0 16px 34px rgba(24, 63, 35, .18);
}
.faqui-search:focus-within { border-color: var(--primary); box-shadow: 0 16px 34px rgba(24, 63, 35, .18), 0 0 0 3px rgba(50, 131, 74, .18); }
.faqui-search-icon { color: var(--gray-500); flex-shrink: 0; font-size: 15px; }
.faqui-search input[type="search"] { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; padding-block: 10px; color: var(--gray-900); }
.faqui-search input[type="search"]::-webkit-search-cancel-button { display: none; }
.faqui-search input[type="search"]::placeholder { color: var(--gray-500); }
.faqui-clear {
    flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 50%;
    background: transparent; color: var(--gray-500); cursor: pointer;
    display: flex; align-items: center; justify-content: center; font-size: 14px;
}
.faqui-clear:hover, .faqui-clear:focus-visible { background: var(--gray-100); color: var(--gray-800); }
.faqui-search .btn { border-radius: 999px; flex-shrink: 0; white-space: nowrap; }
.faqui-count { text-align: center; font-size: 13px; color: var(--gray-600); margin: 10px 0 0; }

/* ---------- Kategori cipleri ---------- */
.faqui-cats {
    display: flex; gap: 8px; overflow-x: auto; margin: 0 0 22px; padding: 2px 2px 6px;
    scrollbar-width: thin;
}
.faqui-chip {
    display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0;
    min-height: 44px; padding-inline: 16px; border-radius: 999px;
    border: 1px solid var(--gray-300); background: var(--white); color: var(--gray-800);
    font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap;
    transition: border-color .15s, color .15s, background-color .15s;
}
.faqui-chip i { color: var(--gray-500); font-size: 13px; }
.faqui-chip:hover { border-color: var(--primary); color: var(--primary); }
.faqui-chip-count { font-size: 12px; color: var(--gray-500); }
.faqui-chip.is-active { background: var(--primary); border-color: var(--primary); color: var(--white); }
.faqui-chip.is-active i, .faqui-chip.is-active .faqui-chip-count { color: rgba(255, 255, 255, .85); }

/* ---------- Konu basligi (kategori ayirici) ---------- */
.faqui-cat-title { display: flex; align-items: center; gap: 8px; margin: 28px 0 10px; color: var(--gray-800); }
.faqui-cat-title:first-child { margin-top: 0; }
.faqui-cat-title i { color: var(--primary); font-size: 13px; flex-shrink: 0; }
.faqui-cat-title span { font-size: 15px; font-weight: 700; white-space: nowrap; }
.faqui-cat-title::after { content: ''; flex: 1; height: 1px; background: var(--gray-200); }

/* ---------- Akordeon ---------- */
.faqui-list { display: flex; flex-direction: column; gap: 10px; }
.faqui-item {
    position: relative; background: var(--white); border: 1px solid var(--gray-200);
    border-radius: var(--radius); scroll-margin-top: 130px; transition: border-color .15s;
}
.faqui-item:has(> details[open]) { border-color: #cfe6d5; }
.faqui-item summary {
    display: flex; align-items: flex-start; gap: 12px; cursor: pointer; list-style: none;
    padding-block: 16px; padding-inline: 18px 58px;
    font-weight: 600; font-size: 15.5px; line-height: 1.45; color: var(--gray-900); min-height: 44px;
}
.faqui-item summary::-webkit-details-marker { display: none; }
.faqui-item summary::marker { content: ''; }
.faqui-item summary:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; border-radius: var(--radius); }
.faqui-q-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.faqui-chevron { flex-shrink: 0; margin-top: 3px; color: var(--gray-500); font-size: 13px; transition: transform .2s ease, color .2s ease; }
.faqui-item details[open] .faqui-chevron { transform: rotate(180deg); color: var(--primary); }
@media (prefers-reduced-motion: reduce) {
    .faqui-chevron { transition: none; }
}

.faqui-copy {
    position: absolute; top: 6px; inset-inline-end: 6px; width: 44px; height: 44px;
    border: 0; border-radius: 50%; background: transparent; color: var(--gray-400);
    display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 14px;
    transition: background-color .15s, color .15s;
}
.faqui-copy:hover, .faqui-copy:focus-visible { background: var(--gray-100); color: var(--primary); }
.faqui-copy.is-copied { color: var(--primary); }
.faqui-copy .fa-check { display: none; }
.faqui-copy.is-copied .fa-link { display: none; }
.faqui-copy.is-copied .fa-check { display: inline; }

.faqui-answer {
    padding-block: 0 18px; padding-inline: 18px; color: var(--gray-700);
    font-size: 15px; line-height: 1.65; overflow-wrap: anywhere;
}
.faqui-answer p { margin: 0 0 10px; }
.faqui-answer p:last-child { margin-bottom: 0; }
.faqui-answer a { color: var(--primary-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; word-break: break-all; }
.faqui-answer a:hover { color: var(--primary); }
.faqui-answer ul, .faqui-answer ol { margin: 0 0 10px; padding-inline-start: 22px; }
.faqui-answer li { margin-bottom: 4px; }
.faqui-answer strong, .faqui-answer b { font-weight: 700; color: var(--gray-900); }

mark.faqui-hit { background: #fde68a; color: inherit; border-radius: 3px; padding: 0 2px; }

.faqui-none { padding: 40px 16px; text-align: center; color: var(--gray-600); }
.faqui-none i { display: block; font-size: 28px; color: var(--gray-400); margin-bottom: 10px; }

/* ---------- Alt destek karti ---------- */
.faqui-contact {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 14px 20px; margin-top: 32px; padding: 22px 24px; border-radius: var(--radius-lg);
    background: var(--primary-light);
}
.faqui-contact-text { flex: 1 1 280px; min-width: 0; }
.faqui-contact-text strong { display: block; font-size: 16px; color: var(--primary-dark); margin-bottom: 4px; }
.faqui-contact-text p { margin: 0; color: var(--gray-700); font-size: 14px; }
.faqui-contact .btn { flex-shrink: 0; }

.faqui-page [hidden] { display: none !important; }

/* ---------- Mobil ---------- */
@media (max-width: 640px) {
    .faqui-hero { padding-bottom: 56px; }
    .faqui-search-wrap {
        max-width: none; margin: -40px -20px 18px; padding: 10px 20px 8px;
        background: var(--gray-50); border-bottom: 1px solid var(--gray-200);
        position: sticky; top: 60px; z-index: 5;
    }
    .faqui-search { padding-inline: 14px 6px; }
    .faqui-search .btn { padding-inline: 14px; }
    .faqui-cats { margin-bottom: 18px; }
    .faqui-item summary { padding-block: 14px; padding-inline: 14px 52px; font-size: 15px; }
    .faqui-copy { top: 4px; }
    .faqui-answer { padding-inline: 14px; padding-block: 0 16px; }
    .faqui-contact { flex-direction: column; align-items: stretch; text-align: center; padding: 18px; }
    .faqui-contact .btn { width: 100%; justify-content: center; }
}


/* ==== FOOT.css ==== */
/* FOOT - site alt bilgisi (includes/footer.php). Ad alani: .ftr (style.css'teki eski .main-footer kurallarina dokunulmaz).
   Yon: ana sayfadaki "akademik hassasiyet" dili. Koyu marka zemini, Manrope basliklar + DM Sans metin,
   sekil kilidi: ic kutular 10px, butonlar 8px, etiketler tam yuvarlak. Gradient yok; hareket yalniz renk/odak geri bildirimi.
   Mantiksal ozellikler kullanilir (RTL: ar, fa, ur).

   Ust bosluk: --ftr-gap (tanimsizsa 72px; .ftr'ye degil, ust ogeye - body - verilir). Sayfa, son bolumunun zemini alt bilgiye bitisik olsun istiyorsa
   kendi CSS'inde  body:has(.sayfa-kok) { --ftr-gap: 0px; }  verir; negatif margin telafisi gerekmez. */

.ftr {
    --ftr-bg: var(--dark);
    --ftr-text: #cfe3d5;
    --ftr-muted: #9db3a3;
    --ftr-line: rgba(207, 227, 213, .14);
    --ftr-key: #a8dbb7;
    --ftr-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-block-start: var(--ftr-gap, 72px);
    background: var(--ftr-bg); color: var(--ftr-text);
    font-size: 14.5px; line-height: 1.6;
}

.ftr a { color: var(--ftr-text); text-decoration: none; transition: color .15s ease; }
.ftr a:hover { color: #fff; }
.ftr :focus-visible { outline: 3px solid var(--ftr-key); outline-offset: 3px; border-radius: 6px; }

.ftr-sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ---------- Ust bolum ---------- */
.ftr-top {
    display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.25fr; gap: 40px clamp(24px, 4vw, 56px);
    padding-block: clamp(48px, 6vw, 72px) clamp(32px, 4vw, 48px);
}
.ftr-title {
    font-family: var(--ftr-display); font-size: 16px; font-weight: 700; letter-spacing: -.005em;
    line-height: 1.3; color: #fff; margin: 0 0 14px;
}

.ftr-logo { display: inline-flex; align-items: center; min-height: 44px; border-radius: 6px; }
.ftr-logo img { width: 150px; height: auto; display: block; }
.ftr-about { margin: 16px 0 22px; max-width: 38ch; color: var(--ftr-text); }

.ftr-social { display: flex; flex-wrap: wrap; gap: 10px; }
.ftr .ftr-social a {
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 10px;
    border: 1px solid var(--ftr-line); color: var(--ftr-text);
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.ftr .ftr-social a:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
.ftr-social svg { width: 18px; height: 18px; }

/* Baglanti listeleri */
.ftr-acc-panel ul { list-style: none; margin: 0; padding: 0; }
.ftr-acc-panel li { margin: 0; }
.ftr-acc-panel li a { display: inline-block; padding-block: 5px; }
.ftr-acc-panel li a:hover, .ftr-legal-nav a:hover { color: var(--ftr-key); }

.ftr-subhead {
    font-family: var(--ftr-display); font-size: 14px; font-weight: 700; color: var(--ftr-muted);
    margin: 22px 0 10px;
}
.ftr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ftr .ftr-chip {
    display: inline-flex; align-items: center; min-height: 32px; padding: 3px 13px; border-radius: 999px;
    border: 1px solid var(--ftr-line); font-size: 13px; color: var(--ftr-text);
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.ftr .ftr-chip:hover { border-color: var(--ftr-key); background: rgba(168, 219, 183, .08); color: #fff; }

/* Iletisim */
.ftr-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ftr-contact-list li { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.ftr-contact-list i { flex: 0 0 20px; width: 20px; text-align: center; color: var(--ftr-key); font-size: 15px; }
.ftr-contact-list span, .ftr-contact-list a { overflow-wrap: anywhere; }
.ftr-contact-list li > a, .ftr-contact-list li > span { min-width: 0; }
.ftr-contact-list li > a { display: flex; align-items: center; min-height: 44px; }
.ftr-contact-list li > a:hover { color: var(--ftr-key); }

/* Katlanabilir baslik dugmesi: masaustunde salt gorsel baslik, mobilde gercek dugme */
.ftr-acc-btn {
    background: none; border: 0; padding: 0; margin: 0; color: inherit;
    font: inherit; font-weight: inherit; letter-spacing: inherit; text-align: start; cursor: default;
    display: flex; align-items: center; gap: 8px; width: 100%;
}
.ftr-acc-icon { display: none; }
.ftr-acc-btn:disabled { opacity: 1; -webkit-text-fill-color: currentColor; }

/* ---------- Guvenli odeme seridi ---------- */
.ftr-secure {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px;
    padding-block: 20px; background: linear-gradient(var(--ftr-line), var(--ftr-line)) top center / calc(100% - 40px) 1px no-repeat;
}
.ftr-secure-label { font-size: 13.5px; font-weight: 600; color: var(--ftr-muted); white-space: nowrap; }
.ftr-secure-label i { margin-inline-end: 4px; color: var(--ftr-key); }
.ftr-pay-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.ftr-pay-badge {
    display: inline-flex; align-items: center; gap: 6px; min-height: 30px;
    padding: 3px 12px; border-radius: 8px; border: 1px solid var(--ftr-line);
    color: var(--ftr-text); font-size: 12.5px; font-weight: 700; letter-spacing: .02em;
}
.ftr-pay-badge--check { font-weight: 600; letter-spacing: 0; }
.ftr-pay-badge i { font-size: 11px; color: var(--ftr-key); }

/* ---------- Alt serit ---------- */
.ftr-bottom {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 6px 28px; padding-block: 14px 22px; background: linear-gradient(var(--ftr-line), var(--ftr-line)) top center / calc(100% - 40px) 1px no-repeat;
    font-size: 13px; color: var(--ftr-muted);
}
.ftr-copy { margin: 0; }
.ftr-legal-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0 22px; }
.ftr-legal-nav a, .ftr-cookie-btn {
    display: inline-flex; align-items: center; min-height: 44px;
    color: var(--ftr-text); font-size: 13px;
}
.ftr-cookie-btn {
    background: none; border: 0; padding: 0; margin: 0; font-family: inherit; cursor: pointer;
    text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(207, 227, 213, .4);
    transition: color .15s ease;
}
.ftr-cookie-btn:hover { color: var(--ftr-key); }

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
    .ftr-top { grid-template-columns: 1fr 1fr 1.2fr; }
    .ftr-brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .ftr-top { grid-template-columns: 1fr 1fr; }
    .ftr-contact { grid-column: 1 / -1; }
}

/* Dokunmatik / dar ekran: baglanti satirlari 44px */
@media (max-width: 1024px), (pointer: coarse) {
    .ftr-acc-panel li a { display: flex; align-items: center; min-height: 44px; padding-block: 0; }
    .ftr .ftr-chip { min-height: 44px; }
}

/* ---------- Mobil: marka + iletisim acik, baglanti sutunlari akordeon ---------- */
@media (max-width: 640px) {
    .ftr-top { grid-template-columns: 1fr; padding-block: 36px 8px; gap: 0; }
    .ftr-brand { padding-block-end: 24px; }

    .ftr-col.ftr-acc { border-top: 1px solid var(--ftr-line); }
    .ftr-acc-title { margin: 0; }
    .ftr-acc-btn { min-height: 56px; cursor: pointer; }
    .ftr-acc-icon { display: block; position: relative; width: 16px; height: 16px; margin-inline-start: auto; flex-shrink: 0; }
    .ftr-acc-icon::before, .ftr-acc-icon::after {
        content: ''; position: absolute; top: 50%; inset-inline-start: 50%; background: var(--ftr-text);
        transform: translate(-50%, -50%); transition: transform .15s ease;
    }
    [dir="rtl"] .ftr-acc-icon::before, [dir="rtl"] .ftr-acc-icon::after { transform: translate(50%, -50%); }
    .ftr-acc-icon::before { width: 14px; height: 2px; border-radius: 1px; }
    .ftr-acc-icon::after { width: 2px; height: 14px; border-radius: 1px; }
    .ftr-col.ftr-acc[data-open="true"] .ftr-acc-icon::after { transform: translate(-50%, -50%) scaleY(0); }
    [dir="rtl"] .ftr-col.ftr-acc[data-open="true"] .ftr-acc-icon::after { transform: translate(50%, -50%) scaleY(0); }

    .ftr-acc-panel { display: none; padding-block-end: 16px; }
    .ftr-col.ftr-acc[data-open="true"] .ftr-acc-panel { display: block; }

    .ftr-contact { border-top: 1px solid var(--ftr-line); padding-block: 24px 28px; }
    .ftr-contact .ftr-title { margin-block-end: 16px; }

    .ftr-secure { flex-direction: column; align-items: flex-start; padding-block: 18px; }
    .ftr-bottom { flex-direction: column; align-items: flex-start; padding-block: 14px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .ftr a, .ftr-social a, .ftr-chip, .ftr-cookie-btn, .ftr-acc-icon::before, .ftr-acc-icon::after { transition: none !important; }
}


/* ==== FPPRM.css ==== */
/* FPPRM - "Sifremi unuttum" (public/forgot-password.php) ve "Sifre sifirla" (public/reset-password.php).
   Tum kurallar .fpprm kokuyla kapsamli; yalnizca bu iki sayfayi etkiler. Giris sayfasinin (LGPRM.css) devami:
   ayni bolunmus kabuk (solda beyaz form paneli, sagda koyu yesil marka paneli + spiral), ayni alan/buton/hata kalibi.
   Yon: "akademik hassasiyet" - marka yesili, soguk yesil-gri zemin, Manrope baslik + DM Sans metin.
   Sekil kilidi: kabuk 16px, ic kutular 10px, alan ve butonlar 8px. Gradient yazi yok, kart icinde kart yok.
   Hareket: marka panelinde spiral bir kez cizilir; onay ekraninda zarf cizimi. prefers-reduced-motion'a saygi duyar.
   Mantiksal ozellikler kullanilir (RTL: ar, fa, ur). */

.fpprm {
    --fp-tint: #f1f6f2;
    --fp-line: #d6e3d9;
    --fp-field-line: #7a9281;     /* beyazda >= 3:1 (WCAG 1.4.11) */
    --fp-ink: var(--dark);
    --fp-text: #4a554e;
    --fp-r: 16px;
    --fp-r-sm: 10px;
    --fp-r-btn: 8px;
    --fp-danger: #b3261e;
    --fp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --fp-panel: #10331d;
    --fp-on-dark: #cfe3d5;
    --fp-on-dark-key: #a8dbb7;
    background: var(--fp-tint);
    padding: clamp(24px, 4vw, 56px) 0;
    box-shadow: 0 72px 0 0 var(--fp-tint); /* alt bilgi (.ftr) 72px ust bosluk koyar; zemin ona kadar uzansin */
    min-height: calc(100vh - 200px);
}
.fpprm a, .fpprm button, .fpprm label, .fpprm input { touch-action: manipulation; }

/* ---------- kabuk ---------- */
.fpprm-shell {
    display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); align-items: stretch;
    max-width: 1080px; margin-inline: auto;
    background: #fff; border: 1px solid var(--fp-line); border-radius: var(--fp-r); overflow: hidden;
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35);
}
.fpprm-panel {
    display: flex; flex-direction: column; justify-content: center; text-align: start;
    padding: clamp(28px, 4vw, 56px) clamp(22px, 4vw, 52px);
}

/* ---------- baslik ---------- */
.fpprm-mark {
    width: 52px; height: 52px; margin: 0 0 22px; border-radius: var(--fp-r-sm);
    display: flex; align-items: center; justify-content: center;
    background: var(--fp-panel); color: #8fe0a9; font-size: 21px;
}
.fpprm-mark--warn { background: #fdf0ee; color: var(--fp-danger); }
.fpprm-title {
    margin: 0 0 10px; font-family: var(--fp-display); font-weight: 800; color: var(--fp-ink);
    font-size: clamp(28px, 3vw, 36px); line-height: 1.12; letter-spacing: -0.03em; text-align: start; text-wrap: balance;
}
.fpprm-lead { margin: 0 0 26px; font-size: 16px; line-height: 1.55; color: var(--fp-text); }

/* ---------- hata kutusu (giris sayfasindakiyle ayni) ---------- */
.fpprm-alert {
    display: flex; align-items: flex-start; gap: 10px; margin: 0 0 20px; padding: 12px 14px;
    background: #fdf0ee; color: #8c1d18; border: 1px solid #f0c4bf; border-inline-start: 3px solid var(--fp-danger);
    border-radius: var(--fp-r-sm); font-size: 14.5px; line-height: 1.45;
}
.fpprm-alert i { flex-shrink: 0; margin-top: 2px; color: var(--fp-danger); }

/* ---------- alan / etiket / hata ---------- */
.fpprm-form { margin: 0; }
.fpprm-field { margin: 0 0 20px; }
.fpprm-field label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 700; color: var(--fp-ink); }
.fpprm-field input {
    display: block; width: 100%; min-height: 48px; padding: 0 14px; font: inherit; font-size: 16px;
    color: var(--fp-ink); background: #fff; border: 1.5px solid var(--fp-field-line); border-radius: var(--fp-r-btn);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fpprm-field input::placeholder { color: #66716a; opacity: 1; }
.fpprm-field input:hover { border-color: var(--primary-dark); }
.fpprm-field input:focus, .fpprm-field input:focus-visible {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22);
}
.fpprm-field input[aria-invalid="true"], .fpprm-field.has-error input { border-color: var(--fp-danger); }
.fpprm-field input[aria-invalid="true"]:focus, .fpprm-field.has-error input:focus { box-shadow: 0 0 0 4px rgba(179, 38, 30, 0.2); }

.fpprm-hint, .fpprm-match, .fpprm-error { display: block; margin-top: 8px; font-size: 14px; line-height: 1.5; }
.fpprm-hint { color: var(--fp-text); }
.fpprm-error { color: var(--fp-danger); font-weight: 600; }
.fpprm-error:empty, .fpprm-match:empty { display: none; }
.fpprm-match[data-state="ok"] { color: #1d6b38; font-weight: 600; }
.fpprm-match[data-state="no"] { color: var(--fp-danger); font-weight: 600; }

/* sifre goster/gizle: 44x44 dokunma alani, satir sonunda */
.fpprm .password-input { position: relative; }
.fpprm .password-input input { padding-inline-end: 52px; }
.fpprm .password-toggle {
    position: absolute; top: 50%; transform: translateY(-50%); right: auto; left: auto; inset-inline-end: 2px;
    width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: var(--fp-r-btn); background: none; color: var(--fp-text); cursor: pointer; font-size: 16px;
}
.fpprm .password-toggle:hover { background: var(--fp-tint); color: var(--fp-ink); }
.fpprm .password-toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; box-shadow: none; }

/* guc gostergesi (UI.js uretir) */
.fpprm .mo-ui-strength { margin-top: 10px; }
.fpprm .mo-ui-strength:not([hidden]) ~ .fpprm-hint { display: none; } /* guc metni zaten kural ipucunu veriyor */
.fpprm .mo-ui-strength-bar span { height: 6px; border-radius: 3px; }
.fpprm .mo-ui-strength-text { font-size: 14px; color: var(--fp-text); }

/* ---------- dugmeler ---------- */
.fpprm-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px;
    padding: 0 24px; border: 1.5px solid var(--primary); border-radius: var(--fp-r-btn);
    background: var(--primary); color: #fff; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.2;
    text-decoration: none; cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease, opacity 0.15s ease;
}
.fpprm-btn:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.fpprm-btn:active { transform: translateY(1px); }
.fpprm-btn:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; box-shadow: none; }
.fpprm-btn[disabled] { cursor: not-allowed; }
.fpprm-btn.is-loading { cursor: progress; opacity: 0.9; }
.fpprm-btn .fa-spinner { animation: fpprm-spin 0.8s linear infinite; }
.fpprm-btn--ghost { background: #fff; color: var(--primary-dark); border-color: var(--fp-field-line); }
.fpprm-btn--ghost:hover { background: var(--fp-tint); border-color: var(--primary-dark); color: var(--primary-dark); }
.fpprm-btn--ghost[disabled], .fpprm-btn--ghost[disabled]:hover {
    background: var(--fp-tint); border-color: var(--fp-line); color: #566259; opacity: 1;
}
@keyframes fpprm-spin { to { transform: rotate(360deg); } }

.fpprm-foot { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--fp-line); text-align: start; font-size: 15px; }
.fpprm-foot a {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 2px;
    font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.fpprm-foot a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.fpprm-foot a:focus-visible, .fpprm-entered a:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; border-radius: 4px; }
[dir="rtl"] .fpprm-foot .fa-arrow-left { transform: scaleX(-1); }
[dir="rtl"] .fpprm-btn .fa-paper-plane { transform: scaleX(-1); }

.fpprm-sr {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- gonderim onayi ---------- */
.fpprm-entered { margin: -10px 0 24px; font-size: 14.5px; line-height: 1.6; color: var(--fp-text); }
.fpprm-entered strong { color: var(--fp-ink); font-weight: 700; overflow-wrap: anywhere; unicode-bidi: isolate; }
.fpprm-entered a { margin-inline-start: 6px; color: var(--primary-dark); font-weight: 700; text-underline-offset: 3px; white-space: nowrap; }

.fpprm-tips { list-style: none; margin: 0 0 24px; padding: 4px 16px; background: var(--fp-tint); border-radius: var(--fp-r-sm); }
.fpprm-tips li { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; font-size: 14.5px; line-height: 1.5; color: var(--fp-text); }
.fpprm-tips li + li { border-top: 1px solid var(--fp-line); }
.fpprm-tips i { flex-shrink: 0; width: 18px; margin-top: 3px; text-align: center; color: var(--primary); }

.fpprm-mark--sent svg { display: block; }
.fpprm-draw-flap, .fpprm-draw-check { stroke-dasharray: 1; stroke-dashoffset: 0; }

/* ---------- marka paneli (giris sayfasindaki koyu panelin devami) ---------- */
.fpprm-side {
    position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center;
    padding: clamp(36px, 5vw, 68px); background: var(--fp-panel); color: #fff;
}
.fpprm-side-body { position: relative; z-index: 1; width: 100%; max-width: 440px; text-align: start; }
.fpprm-side h2 {
    margin: 0 0 24px; font-family: var(--fp-display); font-weight: 800; color: #fff;
    font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: -0.03em; text-wrap: balance;
}
.fpprm-spiral {
    position: absolute; z-index: 0; pointer-events: none; color: rgba(255, 255, 255, 0.11);
    width: min(520px, 110%); height: auto; aspect-ratio: 1; inset-inline-end: -30%; bottom: -34%;
}
[dir="rtl"] .fpprm-spiral { transform: scaleX(-1); }
.fpprm-spiral path { stroke-dasharray: 1; stroke-dashoffset: 0; }

.fpprm-steps { margin: 0; padding: 0; list-style: none; }
.fpprm-steps li {
    display: flex; align-items: flex-start; gap: 14px; padding: 16px 0;
    font-size: 16px; line-height: 1.45; font-weight: 500; color: var(--fp-on-dark);
}
.fpprm-steps li + li { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.fpprm-step-n {
    flex-shrink: 0; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; margin-top: -3px;
    border: 1.5px solid rgba(255, 255, 255, 0.35); border-radius: 50%;
    font-family: var(--fp-display); font-weight: 800; font-size: 14px; color: #fff; font-variant-numeric: tabular-nums;
}
.fpprm-steps .is-current { color: #fff; font-weight: 700; }
.fpprm-steps .is-current .fpprm-step-n { background: var(--mint); border-color: var(--mint); color: var(--fp-panel); }

/* ---------- mobil: form ustte, marka paneli formdan sonra ---------- */
@media (max-width: 900px) {
    .fpprm { padding: 16px 0 40px; min-height: 0; }
    .fpprm-shell {
        grid-template-columns: minmax(0, 1fr); width: calc(100% - 24px); max-width: 560px;
        box-shadow: 0 18px 36px -24px rgba(16, 51, 29, 0.32);
    }
    .fpprm-panel { justify-content: flex-start; padding: 28px 20px 24px; }
    .fpprm-side { padding: 32px 20px 28px; }
    .fpprm-side-body { max-width: none; }
    .fpprm-side h2 { font-size: 26px; margin-bottom: 12px; }
    .fpprm-spiral { width: 380px; inset-inline-end: -34%; bottom: -26%; }
}
@media (max-width: 640px) {
    .fpprm { box-shadow: 0 48px 0 0 var(--fp-tint); }
}
@media (max-width: 480px) {
    .fpprm-mark { width: 46px; height: 46px; margin-bottom: 18px; font-size: 19px; }
}

/* ---------- hareket ---------- */
@media (prefers-reduced-motion: no-preference) {
    .fpprm-draw-flap { stroke-dashoffset: 1; animation: fpprm-draw 0.55s 0.15s ease-out forwards; }
    .fpprm-draw-check { stroke-dashoffset: 1; animation: fpprm-draw 0.4s 0.65s ease-out forwards; }
    .fpprm-spiral path { stroke-dashoffset: 1; animation: fpprm-draw 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s forwards; }
    .fpprm-spiral .fpprm-spiral-b { animation-delay: 0.6s; }
}
@keyframes fpprm-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
    .fpprm-btn, .fpprm-field input { transition: none; }
    .fpprm-btn .fa-spinner { animation-duration: 1.6s; }
}


/* ==== FPW.css ==== */
/* FPW — kurallari AUTH.css'e tasindi (bkz. "3) Tek kart (.authx--solo / .fpw-page)" bolumu). Dosya
   bootstrap/otomatik CSS baglama nedeniyle korunuyor, icerigi bos birakildi. */


/* ==== HDR2.css ==== */
/* HDR2 — sifre degistirme ayri sayfa: profildeki kucuk kart + change-password.php formu */

.mo-pw-card { margin-top: 20px; }
.mo-pw-card h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 17px; }
.mo-pw-card h3 i { color: var(--primary); }
.mo-pw-card-desc { margin: 0 0 14px; color: var(--gray-600); font-size: 14px; line-height: 1.5; }

.mo-pw-page .mo-pw-card-desc { margin-bottom: 24px; }
.mo-pw-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

@media (max-width: 600px) {
    .mo-pw-actions { flex-direction: column-reverse; align-items: stretch; }
    .mo-pw-actions .btn { justify-content: center; }
}


/* ==== HOMEIMG.css ==== */
/* HOMEIMG - ana sayfa odul kartlari: Barselona foto mozaigi + universite karti icin fotografsiz baslik alani. */
.reward-grid .reward-art { height: 260px; }

.reward-art.barcelona { background: #124025; }
.reward-mosaic {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 1.45fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 3px;
}
.reward-mosaic picture { display: block; min-width: 0; min-height: 0; overflow: hidden; }
.reward-mosaic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.reward-mosaic .mosaic-main { grid-row: 1 / 3; }
.reward-mosaic .mosaic-main img { object-position: 50% 35%; }
.reward-mosaic .mosaic-a img { object-position: 50% 30%; }
.reward-mosaic .mosaic-c img { object-position: 60% 40%; }

/* Kurdele okunurlugu icin ust kenarda hafif karartma. */
.reward-art.barcelona::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(10, 30, 16, 0.38) 0%, rgba(10, 30, 16, 0) 40%);
}
.reward-ribbon { z-index: 2; }

/* Universite karti: fotograf yok, marka yesili gradient + ince desen + amblem. */
.reward-art.academic {
    background:
        radial-gradient(circle at 78% 22%, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 46%),
        linear-gradient(135deg, #14532d 0%, #1f7a42 55%, #35904f 100%);
}
.reward-art.academic::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1.2px, transparent 1.5px);
    background-size: 22px 22px;
    -webkit-mask-image: linear-gradient(115deg, transparent 15%, #000 85%);
    mask-image: linear-gradient(115deg, transparent 15%, #000 85%);
}
.reward-art.academic::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -90px;
    bottom: -150px;
    border-radius: 50%;
    border: 38px solid rgba(255, 255, 255, 0.07);
}
.reward-emblem {
    position: relative;
    z-index: 1;
    width: 104px;
    height: 104px;
    fill: rgba(255, 255, 255, 0.92);
    stroke: rgba(255, 255, 255, 0.92);
    stroke-width: 3;
    stroke-linecap: round;
    filter: drop-shadow(0 8px 18px rgba(8, 40, 20, 0.35));
}
.academic .reward-ribbon { background: rgba(8, 40, 20, 0.55); }

@media (max-width: 700px) {
    .reward-grid .reward-art { height: 230px; }
    .reward-emblem { width: 86px; height: 86px; }
}


/* ==== HOMEPRM.css ==== */
/* HOMEPRM - ana sayfa (public/index.php) premium yeniden duzeni.
   Tum kurallar .hp kokuyle kapsamli: baska sayfalardaki ayni isimli siniflar (eyebrow, section-head ...) etkilenmez.
   Yon: "akademik hassasiyet". Marka yesili + soguk yesil-gri kagit tonlari, Manrope basliklar + DM Sans metin
   (zaten yuklu), kart-icinde-kart yok, tek orkestre hareket (spiral cizimi) ve acik/kapali durum geri bildirimleri.
   Sekil kilidi: kartlar 16px, ic kutular 10px, butonlar 8px (site geneli), etiketler tam yuvarlak.
   Mantiksal ozellikler kullanilir (RTL: ar, fa, ur). */

.hp {
    --hp-tint: #f1f6f2;
    --hp-line: #d6e3d9;
    --hp-ink: var(--dark);
    --hp-text: #4a554e;
    --hp-r: 16px;
    --hp-r-sm: 10px;
    --hp-pad: clamp(64px, 8vw, 104px);
    --hp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --hp-on-dark: #cfe3d5;
    --hp-on-dark-key: #a8dbb7;
    /* Alt bilgi (.ftr) kendi ust bosluguyla geliyor; ana sayfada son bolum koyu alt bilgiye bitisik olsun. */
    margin-bottom: -72px;
}

.hp a:focus-visible,
.hp summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.hp .hero-section a:focus-visible,
.hp .path-section a:focus-visible,
.hp .landing-cta a:focus-visible { outline-color: #fff; }


/* ---------- ortak: eyebrow + bolum basligi ---------- */
.hp .eyebrow {
    display: block; margin: 0 0 14px; gap: 0;
    font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--primary);
}
.hp .eyebrow::before { content: none; }

.hp .overview-section h2,
.hp .section-head h2,
.hp .path-section h2 {
    font-family: var(--hp-display); font-weight: 800; color: var(--hp-ink);
    font-size: clamp(30px, 3.5vw, 46px); line-height: 1.12; letter-spacing: -0.03em;
    text-align: start; margin: 0 0 16px;
}
.hp .section-head { max-width: 780px; margin: 0 0 clamp(36px, 5vw, 56px); text-align: start; }
.hp .section-head p,
.hp .overview-section .lead,
.hp .path-section > .container > p {
    font-size: 18px; line-height: 1.65; color: var(--hp-text); max-width: 62ch; margin: 0; text-align: start;
}

.hp .overview-section,
.hp .journey-section,
.hp .exam-system-section,
.hp .awards-section,
.hp .faq-section { padding-block: var(--hp-pad); }
.hp .overview-section, .hp .exam-system-section, .hp .faq-section { background: #fff; }
.hp .journey-section, .hp .awards-section { background: var(--hp-tint); }

/* ---------- HERO ---------- */
.hp .hero-section { padding: clamp(40px, 6vw, 72px) 0 clamp(96px, 10vw, 128px); min-height: 0; }
.hp .hero-overlay { background: linear-gradient(105deg, rgba(14, 22, 16, 0.94) 0%, rgba(16, 51, 29, 0.84) 62%, rgba(16, 51, 29, 0.7) 100%); }
.hp .hero-content { grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.hp .hero-text { min-width: 0; }
.hp .hero-section .eyebrow { color: var(--hp-on-dark-key); margin-bottom: 18px; }
.hp .hero-section h1 {
    font-family: var(--hp-display); font-weight: 800; color: #fff;
    font-size: clamp(46px, 6vw, 80px); line-height: 1; letter-spacing: -0.035em; margin: 0 0 clamp(18px, 2.4vw, 28px);
    text-align: start;
}
.hp .hero-accent { color: var(--mint); }
.hp .hero-sub {
    margin: 0 0 12px; max-width: 34ch;
    font-family: var(--hp-display); font-weight: 700; font-size: clamp(19px, 2vw, 24px); line-height: 1.3; color: #fff;
}
.hp .hero-section .hero-text > p:not(.hero-sub):not(.hero-note) {
    font-size: 17px; line-height: 1.65; color: rgba(255, 255, 255, 0.84); max-width: 54ch; margin: 0 0 28px;
}
.hp .hero-buttons { gap: 12px; margin: 0; flex-wrap: wrap; }
.hp .hero-buttons .btn-lg,
.hp .hero-buttons .btn-hero-outline { min-height: 52px; padding: 0 26px; font-size: 16px; font-weight: 700; border-radius: var(--radius-sm); }
.hp .hero-buttons .btn-hero-outline { border: 1.5px solid rgba(255, 255, 255, 0.55); color: #fff; }
.hp .hero-buttons .btn-hero-outline:hover { background: rgba(255, 255, 255, 0.12); border-color: #fff; }
.hp .hero-note { margin: 22px 0 0; max-width: 54ch; font-size: 14px; font-weight: 600; line-height: 1.5; color: rgba(255, 255, 255, 0.74); }

/* sag taraf: spiral (dekor) + asama zaman cizelgesi (icerik) */
.hp .hero-art { position: relative; min-height: 500px; display: grid; align-items: end; justify-items: start; color: rgba(255, 255, 255, 0.16); }
.hp .fibonacci-svg {
    position: absolute; top: 0; inset-inline-end: -2%; width: min(500px, 104%); height: auto; aspect-ratio: 1;
    animation: none; pointer-events: none;
}
.hp .fib-line { stroke-dasharray: 1; stroke-dashoffset: 0; }
.hp .hero-stages {
    position: relative; z-index: 1; list-style: none; margin: 0; padding: 6px 24px; width: min(340px, 100%);
    background: rgba(9, 28, 17, 0.78); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--hp-r);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.hp .hero-stages li { position: relative; display: grid; gap: 2px; padding: 16px 0 16px 28px; padding-inline: 28px 0; }
.hp .hero-stages li + li { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.hp .hero-stages li::before {
    content: ""; position: absolute; inset-inline-start: 2px; top: 22px; width: 11px; height: 11px;
    border-radius: 50%; border: 2px solid var(--mint); background: transparent;
}
.hp .hero-stages li:last-child::before { background: var(--mint); }
.hp .hs-k { font-size: 13px; font-weight: 700; color: var(--hp-on-dark-key); }
.hp .hs-t { font-size: 16px; font-weight: 700; line-height: 1.35; color: #fff; }

@media (prefers-reduced-motion: no-preference) {
    .hp .fib-line { stroke-dashoffset: 1; animation: hpDraw 2.6s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s forwards; }
    .hp .fib-line-b { animation-delay: 0.55s; }
    .hp .hero-stages li { opacity: 0; transform: translateY(8px); animation: hpRise 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
    .hp .hero-stages li:nth-child(1) { animation-delay: 0.45s; }
    .hp .hero-stages li:nth-child(2) { animation-delay: 0.7s; }
    .hp .hero-stages li:nth-child(3) { animation-delay: 0.95s; }
}
@keyframes hpDraw { to { stroke-dashoffset: 0; } }
@keyframes hpRise { to { opacity: 1; transform: none; } }

/* ---------- ISTATISTIK SERIDI ---------- */
.hp .stats-section { margin-top: -56px; background: transparent; padding: 0; }
.hp .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
    background: #fff; border: 1px solid var(--hp-line); border-radius: var(--hp-r);
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35); overflow: hidden;
}
.hp .stat-card { text-align: start; padding: 28px 32px; background: transparent; }
.hp .stat-card:hover { background: transparent; }
.hp .stat-card:not(:last-child)::after { content: none; }
.hp .stat-card:not(:last-child) { border-inline-end: 1px solid var(--hp-line); }
.hp .stat-number {
    font-family: var(--hp-display); font-weight: 800; font-size: clamp(34px, 3.6vw, 48px); line-height: 1;
    letter-spacing: -0.03em; color: var(--primary-dark); font-variant-numeric: tabular-nums;
}
.hp .stat-label { margin-top: 10px; font-size: 14px; line-height: 1.4; color: var(--hp-text); max-width: 24ch; }

/* ---------- HAKKINDA ---------- */
.hp .intro-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(36px, 6vw, 88px); align-items: start; }
.hp .quote-block {
    margin: 32px 0; padding: 4px 0; padding-inline: 24px 0; border: 0; border-inline-start: 3px solid var(--primary);
    font-family: var(--hp-display); font-size: clamp(20px, 2.2vw, 25px); font-weight: 700; line-height: 1.4;
    letter-spacing: -0.015em; color: var(--primary-dark);
}
.hp .overview-section p:not(.lead) { font-size: 16.5px; line-height: 1.7; color: var(--hp-text); max-width: 62ch; }
.hp .info-block { background: var(--hp-tint); border: 1px solid var(--hp-line); border-radius: var(--hp-r); padding: clamp(24px, 3.4vw, 40px); }
.hp .info-block h3 { font-family: var(--hp-display); font-size: 22px; line-height: 1.25; color: var(--primary-dark); margin: 0 0 10px; }
.hp .info-block > p { font-size: 15.5px; line-height: 1.65; color: var(--hp-text); margin: 0; }
.hp .checklist { margin: 22px 0 0; gap: 0; }
.hp .checklist li { gap: 14px; padding: 15px 0; border-top: 1px solid var(--hp-line); font-size: 15px; line-height: 1.55; color: var(--hp-text); }
.hp .checklist li::before { content: ""; margin-top: 3px; min-width: 20px; height: 20px; border-radius: 50%; }
.hp .checklist li::before {
    background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.hp .checklist b { display: block; color: var(--hp-ink); font-size: 16px; margin-bottom: 2px; }

/* ---------- UC ASAMA ---------- */
.hp .timeline-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hp .stage-card { border: 1px solid var(--hp-line); border-radius: var(--hp-r); background: #fff; box-shadow: none; transition: none; }
.hp .stage-card:hover { transform: none; box-shadow: none; }
.hp .stage-top, .hp .stage-card:nth-child(2) .stage-top, .hp .stage-card:nth-child(3) .stage-top {
    min-height: 0; padding: 28px 28px 8px; background: transparent; position: static; overflow: visible; color: inherit;
    display: block;
}
.hp .stage-top::after { content: none; }
.hp .stage-count { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--primary-light); font-size: 13.5px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--primary-dark); }
.hp .stage-top h3 { margin: 16px 0 8px; font-family: var(--hp-display); font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; color: var(--hp-ink); }
.hp .stage-top p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--hp-text); }
.hp .stage-body { padding: 16px 28px 28px; }
.hp .stage-body > p { font-size: 15px; line-height: 1.65; color: var(--hp-text); margin: 0; }
.hp .threshold-box { margin: 22px 0 6px; padding: 14px 18px; background: var(--primary-light); border: 0; border-inline-start: 3px solid var(--primary); border-radius: var(--hp-r-sm); }
.hp .threshold-box strong { font-family: var(--hp-display); font-size: 28px; line-height: 1.15; color: var(--primary-dark); }
.hp .threshold-box small { margin-top: 4px; font-size: 13.5px; color: var(--hp-text); }
.hp .stage-body ul { margin: 18px 0; gap: 11px; }
.hp .stage-body li { font-size: 14.5px; line-height: 1.55; color: var(--hp-text); }
.hp .stage-body li::before { background: var(--primary); }
.hp .tag-row { margin: 16px 0 4px; }
.hp .tag-pill { padding: 5px 12px; border-radius: 999px; background: #e3f0e6; color: #1d5a31; font-size: 12.5px; font-weight: 700; }
.hp .stage-foot { border-top: 1px solid var(--hp-line); padding-top: 18px; font-size: 14px; line-height: 1.5; color: var(--primary-dark); }

.hp .stage-card:nth-child(3) { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.hp .stage-card:nth-child(3) .stage-count { background: rgba(255, 255, 255, 0.12); }
.hp .stage-card:nth-child(3) .stage-count { color: #e4f5e9 !important; }
.hp .stage-card:nth-child(3) .stage-top h3 { color: #fff; }
.hp .stage-card:nth-child(3) .stage-top p { color: var(--hp-on-dark) !important; }
.hp .stage-card:nth-child(3) .stage-body > p,
.hp .stage-card:nth-child(3) .stage-body li { color: var(--hp-on-dark); }
.hp .stage-card:nth-child(3) .stage-body li::before { background: var(--mint); }
.hp .stage-card:nth-child(3) .tag-pill { background: rgba(255, 255, 255, 0.12); color: #e4f5e9; }
.hp .stage-card:nth-child(3) .stage-foot { border-top-color: rgba(255, 255, 255, 0.22); color: #fff; }

.hp .journey-notice {
    margin-top: 24px; padding: 18px 22px; background: #fff; border: 1px solid var(--hp-line); border-inline-start: 3px solid var(--primary);
    border-radius: var(--hp-r-sm); font-size: 14.5px; line-height: 1.6; color: var(--hp-text);
}
.hp .journey-notice b { color: var(--hp-ink); }

/* ---------- SINAV SISTEMI ---------- */
.hp .exam-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 5vw, 72px); }
.hp .exam-feature-card { padding: 24px 0 0; border: 0; border-top: 2px solid var(--primary-dark); border-radius: 0; background: transparent; box-shadow: none; }
.hp .exam-feature-card h3 { font-family: var(--hp-display); font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; margin: 0 0 12px; color: var(--hp-ink); }
.hp .exam-feature-card p { font-size: 16.5px; line-height: 1.7; color: var(--hp-text); max-width: 54ch; margin: 0; }

.hp .subjects-head { margin: clamp(48px, 6vw, 80px) 0 28px; }
.hp .subjects-head h3 { font-family: var(--hp-display); font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; letter-spacing: -0.02em; color: var(--hp-ink); margin: 0 0 10px; }
.hp .subjects-head p { font-size: 16.5px; line-height: 1.65; color: var(--hp-text); max-width: 62ch; margin: 0; }
.hp .subjects-grid { padding: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 28px; }
.hp .subject-card { text-align: start; padding: 22px 0 6px; border: 0; border-top: 1px solid var(--hp-line); border-radius: 0; background: transparent; transition: none; }
.hp .subject-card:hover { transform: none; border-color: var(--hp-line); }
.hp .subject-card .subject-icon { width: auto; height: auto; margin: 0 0 14px; font-size: 24px; line-height: 1; color: var(--primary); }
.hp .subject-card h3 { font-family: var(--hp-display); font-size: 17px; line-height: 1.25; letter-spacing: 0; text-transform: none; color: var(--hp-ink); margin: 0 0 8px; }
.hp .subject-card p { font-size: 14px; line-height: 1.55; color: var(--hp-text); }

.hp .formula-bar {
    margin-top: clamp(40px, 5vw, 64px); padding: clamp(24px, 3vw, 34px) clamp(24px, 3.4vw, 44px);
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px;
    background: var(--primary-dark); border: 0; border-radius: var(--hp-r);
}
.hp .formula-bar b { font-family: var(--hp-display); font-size: 19px; color: #fff; }
.hp .formula-bar span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.5; color: var(--hp-on-dark); }
.hp .formula-bar strong { font-family: var(--hp-display); font-weight: 800; font-size: clamp(22px, 3vw, 34px); letter-spacing: -0.02em; color: #fff; white-space: normal; }

/* ---------- ODULLER ---------- */
.hp .reward-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.hp .reward-card { display: flex; flex-direction: column; border: 1px solid var(--hp-line); border-radius: var(--hp-r); background: #fff; box-shadow: none; transition: none; }
.hp .reward-card:hover { transform: none; box-shadow: none; }
.hp .reward-grid .reward-art { height: auto; aspect-ratio: 16 / 9; display: block; background: var(--primary-dark); }
.hp .reward-art.barcelona::after { content: none; }
.hp .reward-art picture { display: block; width: 100%; height: 100%; }
.hp .reward-art.university img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hp .reward-content { flex: 1; padding: 28px clamp(22px, 3vw, 34px) 32px; }
.hp .reward-grade { display: inline-block; margin-bottom: 14px; padding: 5px 13px; border-radius: 999px; background: var(--primary-light); color: var(--primary-dark); font-size: 13.5px; font-weight: 700; line-height: 1.3; }
.hp .reward-content h3 { font-family: var(--hp-display); font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; margin: 0 0 12px; color: var(--hp-ink); }
.hp .reward-content p { font-size: 15.5px; line-height: 1.65; color: var(--hp-text); }
.hp .reward-content p + p { margin-top: 14px; }
.hp .reward-content p b { color: var(--hp-ink); }
.hp .reward-content ul { list-style: none; padding: 0; margin: 14px 0 20px; display: grid; gap: 9px; font-size: 14.5px; line-height: 1.55; color: var(--hp-text); }
.hp .reward-content li { position: relative; padding-inline-start: 24px; }
.hp .reward-content li::before {
    content: ""; position: absolute; inset-inline-start: 0; top: 3px; width: 16px; height: 16px; border-radius: 50%;
    background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.4 8.4l2.4 2.4 4.8-5.2' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.hp .reward-caveat { margin-top: 0; padding: 14px 16px; background: var(--hp-tint); border: 0; border-inline-start: 3px solid #b9d3c0; border-radius: var(--hp-r-sm); font-size: 13.5px; line-height: 1.6; color: var(--hp-text); }
.hp .reward-caveat strong { color: var(--hp-ink); }

.hp .award-mini-grid {
    margin-top: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
    background: #fff; border: 1px solid var(--hp-line); border-radius: var(--hp-r); overflow: hidden;
}
.hp .mini-card { padding: 24px 28px; border: 0; border-radius: 0; background: transparent; transition: none; }
.hp .mini-card:hover { transform: none; }
.hp .mini-card + .mini-card { border-inline-start: 1px solid var(--hp-line); }
.hp .mini-card b { font-family: var(--hp-display); font-size: 17px; color: var(--hp-ink); }
.hp .mini-card small { margin-top: 6px; font-size: 14px; line-height: 1.55; color: var(--hp-text); }

/* ---------- YOL (koyu) ---------- */
.hp .path-section { padding-block: var(--hp-pad); background: var(--primary-dark); }
.hp .path-section > .container { position: relative; z-index: 1; }
.hp .path-section .eyebrow { color: var(--hp-on-dark-key); }
.hp .path-section h2 { color: #fff; }
.hp .path-section > .container > p { color: var(--hp-on-dark); }
.hp .path-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: clamp(40px, 5vw, 64px); align-items: start; }
.hp .path-arrow { display: none; }
.hp .path-box { position: relative; min-height: 0; padding: 30px 36px 0 0; padding-inline: 0 36px; border: 0; border-top: 1px solid rgba(255, 255, 255, 0.3); border-radius: 0; background: transparent; }
.hp .path-box::before { content: ""; position: absolute; top: -6px; inset-inline-start: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--mint); }
.hp .path-box span { font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--hp-on-dark-key); }
.hp .path-box h3 { margin: 8px 0 10px; font-family: var(--hp-display); font-size: 23px; line-height: 1.2; letter-spacing: -0.02em; color: #fff; }
.hp .path-box p { font-size: 15px; line-height: 1.6; color: var(--hp-on-dark); }
.hp .path-mathline {
    position: absolute; inset-inline: auto 3%; bottom: -0.12em; direction: ltr; white-space: nowrap;
    font-family: var(--hp-display); font-weight: 800; font-size: clamp(88px, 14vw, 200px); line-height: 1;
    color: rgba(255, 255, 255, 0.04); opacity: 1;
}

/* ---------- SSS + CAGRILAR ---------- */
.hp .faq-layout { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); column-gap: clamp(32px, 6vw, 88px); row-gap: 0; align-items: start; }
.hp .faq-section .section-head { position: sticky; top: 100px; margin: 0; }
.hp .faq-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.hp .faq-item { padding: 0; background: #fff; border: 1px solid var(--hp-line); border-radius: 12px; transition: background-color 0.2s, border-color 0.2s; }
.hp .faq-item[open] { background: var(--hp-tint); border-color: #b9d3c0; }
.hp .faq-item summary {
    list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    min-height: 56px; padding: 14px 20px; cursor: pointer; font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--hp-ink);
}
.hp .faq-item summary::-webkit-details-marker { display: none; }
.hp .faq-item summary::marker { content: ""; }
.hp .faq-item summary::after {
    content: ""; flex: 0 0 14px; width: 14px; height: 14px; color: var(--primary);
    background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.hp .faq-item[open] summary::after { transform: rotate(45deg); }
.hp .faq-item summary:hover { color: var(--primary-dark); }
.hp .faq-item p { margin: 0; padding: 0 20px 20px; max-width: 64ch; font-size: 15.5px; line-height: 1.7; color: var(--hp-text); }

.hp .cta-duo { margin-top: clamp(48px, 6vw, 80px); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.hp .landing-cta {
    margin: 0; padding: clamp(28px, 4vw, 44px); border-radius: var(--hp-r); background: var(--primary-dark);
    display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 28px;
}
.hp .landing-cta .eyebrow { color: var(--hp-on-dark-key); margin-bottom: 12px; }
.hp .landing-cta h2 { margin: 0 0 12px; font-family: var(--hp-display); font-size: clamp(26px, 3vw, 38px); line-height: 1.15; letter-spacing: -0.025em; color: #fff; }
.hp .landing-cta p { max-width: 52ch; margin: 0; font-size: 16.5px; line-height: 1.65; color: var(--hp-on-dark); }
.hp .landing-cta .btn-primary { background: #fff; border-color: #fff; color: var(--primary-dark); min-height: 52px; font-weight: 700; }
.hp .landing-cta .btn-primary:hover { background: #e3f0e6; border-color: #e3f0e6; color: var(--primary-dark); }

.hp .mentor-band { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(24px, 3.4vw, 40px); background: var(--hp-tint); border: 1px solid var(--hp-line); border-radius: var(--hp-r); }
.hp .mentor-band h2 { margin: 0 0 10px; font-family: var(--hp-display); font-size: clamp(22px, 2.2vw, 26px); line-height: 1.2; letter-spacing: -0.02em; color: var(--hp-ink); }
.hp .mentor-band p { margin: 0 0 24px; font-size: 15.5px; line-height: 1.65; color: var(--hp-text); }
.hp .mentor-band .btn { margin-top: auto; min-height: 52px; font-weight: 700; color: var(--primary-dark); border-color: var(--primary-dark); }
.hp .mentor-band .btn:hover { background: var(--primary-dark); color: #fff; }

/* ---------- RTL ---------- */
[dir="rtl"] .hp h1, [dir="rtl"] .hp h2, [dir="rtl"] .hp h3, [dir="rtl"] .hp .stat-number { letter-spacing: 0; }
[dir="rtl"] .hp .hero-section h1 { text-align: right; }

/* ---------- DUZEN: tablet ---------- */
@media (max-width: 1100px) {
    .hp .timeline-grid { grid-template-columns: minmax(0, 1fr); }
    .hp .stage-top, .hp .stage-card:nth-child(2) .stage-top, .hp .stage-card:nth-child(3) .stage-top { padding: 28px 32px 8px; }
    .hp .stage-body { padding: 16px 32px 32px; }
    .hp .subjects-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
    .hp .reward-grid { grid-template-columns: minmax(0, 1fr); }
    .hp .exam-feature-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .hp .intro-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .hp .hero-content { grid-template-columns: minmax(0, 1fr); }
    .hp .hero-art { min-height: 0; padding-top: 8px; }
    .hp .fibonacci-svg { inset-inline-end: -14%; width: min(360px, 90%); top: 50%; opacity: 0.8; }
    .hp .hero-stages { width: min(420px, 100%); }
    .hp .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hp .stat-card:not(:last-child) { border-inline-end: 0; }
    .hp .stat-card:nth-child(odd) { border-inline-end: 1px solid var(--hp-line); }
    .hp .stat-card:nth-child(-n+2) { border-bottom: 1px solid var(--hp-line); }
    .hp .faq-layout { grid-template-columns: minmax(0, 1fr); }
    .hp .faq-section .section-head { position: static; margin-bottom: 32px; }
    .hp .cta-duo { grid-template-columns: minmax(0, 1fr); }
    .hp .path-row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .hp .path-box { padding: 0 0 0 28px; padding-inline: 28px 0; border-top: 0; border-inline-start: 1px solid rgba(255, 255, 255, 0.3); }
    .hp .path-box::before { top: 4px; inset-inline-start: -6px; }
}
@media (max-width: 700px) {
    .hp .award-mini-grid { grid-template-columns: minmax(0, 1fr); }
    .hp .mini-card + .mini-card { border-inline-start: 0; border-top: 1px solid var(--hp-line); }
    .hp .subjects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hp .subjects-grid .subject-card:last-child { grid-column: 1 / -1; }
    .hp .stat-card { padding: 22px 20px; }
    .hp .stage-top, .hp .stage-card:nth-child(2) .stage-top, .hp .stage-card:nth-child(3) .stage-top { padding: 24px 22px 6px; }
    .hp .stage-body { padding: 14px 22px 24px; }
    .hp .reward-content { padding: 24px 22px 28px; }
}
@media (max-width: 480px) {
    .hp .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hp .hero-buttons { flex-direction: column; align-items: stretch; }
    .hp .hero-buttons .btn { width: 100%; }
    .hp .landing-cta .btn, .hp .mentor-band .btn { width: 100%; }
    .hp .stat-label { font-size: 13px; }
}


/* ==== INT.css ==== */
/* INT — Admin: sinav butunlugu raporu */
.int-muted { color: var(--gray-500, #6b7280); }
.int-mt { margin-top: 16px; }
.int-mb { margin-bottom: 16px; }
.int-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.int-back { color: inherit; margin-right: 6px; }
.int-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.int-filters input[type="search"] { flex: 1 1 220px; min-width: 0; }
.int-filters input[type="number"] { width: 80px; }
.int-filters label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.int-table-wrap { overflow-x: auto; }
.int-table-wrap td { vertical-align: top; }
.int-row-alert td { background: #fff5f5; }
.int-actions { white-space: nowrap; }
.int-break { overflow-wrap: anywhere; max-width: 420px; }
.int-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 16px; align-items: start; }
.int-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0; }
.int-dl dt { color: var(--gray-500, #6b7280); font-size: 13px; }
.int-dl dd { margin: 0; overflow-wrap: anywhere; }
.int-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.int-stat { background: var(--gray-50, #f9fafb); border: 1px solid var(--gray-200, #e5e7eb); border-radius: 10px; padding: 12px; text-align: center; }
.int-stat strong { display: block; font-size: 22px; line-height: 1.2; }
.int-stat span { font-size: 12px; color: var(--gray-600, #4b5563); }
.int-stat.is-alert { border-color: #f5c2c0; background: #fff5f5; color: #b42318; }
@media (max-width: 820px) {
    .int-grid { grid-template-columns: minmax(0, 1fr); }
}


/* ==== KVKK.css ==== */
/* KVKK — Verilerim sayfasi + admin talep listesi */
.kv-wrap { display: flex; flex-direction: column; gap: 20px; }
.kv-card { background: #fff; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 12px; padding: 20px; min-width: 0; }
.kv-card h2 { font-size: 1.15rem; margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
.kv-card p { margin: 0 0 12px; color: var(--gray-700, #374151); overflow-wrap: anywhere; }
.kv-danger { border-color: #f5c2c0; }
.kv-danger h2 { color: #b42318; }
.kv-list { margin: 0 0 16px 18px; padding: 0; color: var(--gray-700, #374151); }
.kv-list li { margin: 4px 0; }
.kv-note { font-size: 13px; color: var(--gray-500, #6b7280); }
.kv-form { display: flex; flex-direction: column; gap: 12px; }
.kv-form .form-group { margin: 0; }
.kv-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.kv-form .form-control { width: 100%; max-width: 100%; box-sizing: border-box; }
.kv-check { display: flex !important; align-items: flex-start; gap: 8px; font-weight: 400 !important; }
.kv-check input { margin-top: 4px; flex: 0 0 auto; }
.kv-form .btn { align-self: flex-start; }
.kv-status { display: flex; gap: 12px; align-items: flex-start; background: #fef7e0; border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }
.kv-status i { color: #8a5a00; margin-top: 3px; }
.kv-status p { margin: 4px 0 0; }
.kv-status-muted { background: var(--gray-100, #f3f4f6); }
.kv-status-muted i { color: var(--gray-600, #4b5563); }

/* Admin */
.kv-muted { color: var(--gray-500, #6b7280); }
.kv-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.kv-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; border-bottom: 1px solid var(--gray-200, #e5e7eb); }
.kv-tab { padding: 10px 14px; font-weight: 600; font-size: 14px; color: var(--gray-600, #6b7280); border-bottom: 2px solid transparent; margin-bottom: -1px; text-decoration: none; }
.kv-tab.active { color: var(--primary, #b91c1c); border-bottom-color: var(--primary, #b91c1c); }
.kv-tab span { background: var(--gray-100, #f3f4f6); border-radius: 10px; padding: 1px 8px; font-size: 12px; margin-left: 4px; }
.kv-table-wrap { overflow-x: auto; }
.kv-table-wrap td { vertical-align: top; }
.kv-break { overflow-wrap: anywhere; max-width: 360px; white-space: pre-line; }
.kv-actions { display: flex; flex-direction: column; gap: 8px; min-width: 220px; }
.kv-actions textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 13px; padding: 6px 8px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; }
.kv-actions .kv-btns { display: flex; gap: 6px; flex-wrap: wrap; }
.kv-warn { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 10px; background: #fef7e0; color: #8a5a00; }
@media (max-width: 600px) {
    .kv-card { padding: 16px; }
    .kv-form .btn { align-self: stretch; }
    .kv-actions { min-width: 0; }
}


/* ==== LACPRM.css ==== */
/* LACPRM - Sozlesme yeniden onay ekrani (public/legal-accept.php). LEGPRM ailesi; kokte .lacprm legprm birlikte.
   Tum kurallar .lacprm ile kapsamli. Kart 16px / ic kutu 10px / buton 8px. Mantiksal ozellikler (RTL). */

.lacprm .lacprm-form, .lacprm .lacprm-error { max-width: 860px; }
.lacprm .lacprm-form { display: flex; flex-direction: column; gap: 20px; }

.lacprm-error {
    display: flex; align-items: flex-start; gap: 12px; margin: 0 0 20px; padding: 14px 16px;
    border: 1px solid #e8b4b4; border-radius: var(--lp-r-sm); background: #fdf0f0; color: #7a1f1f; font-size: 15.5px; line-height: 1.55;
}
.lacprm-error i { flex: 0 0 auto; margin-top: 3px; }
.lacprm-error p { margin: 0; min-width: 0; font-weight: 600; }

.lacprm-item { padding: clamp(18px, 3vw, 28px); border: 1px solid var(--lp-line); border-radius: var(--lp-r); background: #fff; }
.lacprm-item-head { margin: 0 0 14px; }
.lacprm-item-head h2 { margin: 0; font-family: var(--lp-display); font-size: clamp(20px, 2.2vw, 24px); font-weight: 800; line-height: 1.25; letter-spacing: -0.015em; color: var(--lp-ink); overflow-wrap: anywhere; text-align: start; }
.lacprm-item-head p { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--lp-muted); font-variant-numeric: tabular-nums; }

.lacprm .lacprm-changes { margin: 0 0 14px; }
.lacprm .lacprm-changes p { margin: 4px 0 0; }
.lacprm .lacprm-changes > div { min-width: 0; }

/* kaydirilabilir metin: sinirli yukseklik, odaklanabilir */
.lacprm .lacprm-scroll {
    max-width: none; max-height: min(52vh, 380px); overflow: auto; margin: 0 0 16px; padding: 16px 18px;
    border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); background: var(--lp-tint);
    font-size: 16px; line-height: 1.7; scrollbar-width: thin; overscroll-behavior: contain;
}
.lacprm .lacprm-scroll:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.lacprm .lacprm-scroll h3 { font-size: 19px; margin: 1.4em 0 .5em; padding-top: 0; border-top: 0; }
.lacprm .lacprm-scroll h4 { font-size: 17px; }

.lacprm-consent {
    display: flex; align-items: flex-start; gap: 14px; min-height: 48px; padding: 12px 14px; margin: 0; cursor: pointer;
    border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); background: #fff; font-size: 16px; line-height: 1.5; color: var(--lp-ink);
    transition: border-color .2s, background-color .2s;
}
.lacprm-consent:hover { border-color: #9fc4a9; }
.lacprm-consent:has(input:checked) { background: var(--lp-tint); border-color: var(--primary); }
.lacprm-consent input { flex: 0 0 auto; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--primary); cursor: pointer; }
.lacprm-consent:has(input:focus-visible) { outline: 3px solid var(--primary); outline-offset: 2px; }
.lacprm-consent span { min-width: 0; overflow-wrap: anywhere; }
.lacprm-consent a { color: var(--primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.lacprm-foot { display: flex; justify-content: flex-end; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 4px; }
.lacprm .lacprm-foot .btn { min-height: 48px; border-radius: 8px; justify-content: center; }
.lacprm .lacprm-foot a:focus-visible, .lacprm .lacprm-foot button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }

@media (max-width: 520px) {
    .lacprm .lacprm-scroll { max-height: 46vh; padding: 14px; font-size: 15.5px; }
    .lacprm-foot { flex-direction: column-reverse; align-items: stretch; }
    .lacprm .lacprm-foot .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .lacprm * { transition: none !important; } }


/* ==== LBPRM.css ==== */
/* LBPRM - siralama sayfasi (public/leaderboard.php) premium yeniden duzeni.
   Tum kurallar .lbp kokuyle kapsamli (CSS paketi global). Eski LBRD.css'in .lb-* siniflari artik kullanilmaz.
   Yon: ana sayfayla ayni "akademik hassasiyet": koyu yesil baslik, marka yesili, soguk yesil-gri zemin,
   Manrope basliklar + DM Sans metin. Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak.
   Hareket: yalnizca podyum kartlarinin tek seferlik girisi; prefers-reduced-motion'da kapali.
   Mantiksal ozellikler (RTL: ar, fa, ur); sayilar bdi ile LTR. */

.lbp {
    --lbp-tint: #f1f6f2;
    --lbp-line: #d6e3d9;
    --lbp-ink: var(--dark);
    --lbp-text: #4a554e;
    --lbp-r: 16px;
    --lbp-r-sm: 10px;
    --lbp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --lbp-gold: #b8912e;
    --lbp-silver: #8e9aa5;
    --lbp-bronze: #a9703f;
    --lbp-zebra: #f7faf8;
    /* Alt bilgi kendi ust bosluguyla geliyor (ana sayfadaki ayni cozum): son bolum alt bilgiye bitisik. */
    margin-bottom: -72px;
}

.lbp a:focus-visible,
.lbp [tabindex="-1"]:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.lbp .lbp-hero a:focus-visible { outline-color: #fff; }

.lbp .container { max-width: 960px; }
.lbp-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }


/* ---------- BASLIK ---------- */
.lbp .lbp-hero {
    padding: clamp(40px, 6vw, 72px) 0 clamp(88px, 9vw, 112px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%);
    color: #fff;
}
.lbp .lbp-hero h1 {
    font-family: var(--lbp-display); font-weight: 800; color: #fff; margin: 0 0 16px; text-align: start;
    font-size: clamp(40px, 5.2vw, 64px); line-height: 1.02; letter-spacing: -0.035em;
}
.lbp .lbp-hero p { margin: 0; max-width: 52ch; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.6; color: rgba(255, 255, 255, 0.84); }

/* ---------- OZET SERIDI (ana sayfa istatistik seridiyle ayni dil) ---------- */
.lbp .lbp-stats-wrap { margin-top: -48px; position: relative; background: linear-gradient(to bottom, transparent 48px, var(--lbp-tint) 48px); }
.lbp .lbp-stats {
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0;
    background: #fff; border: 1px solid var(--lbp-line); border-radius: var(--lbp-r);
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35); overflow: hidden;
}
.lbp .lbp-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; padding: 24px 28px; min-width: 0; }
.lbp .lbp-stat + .lbp-stat { border-inline-start: 1px solid var(--lbp-line); }
.lbp .lbp-stat dt { margin: 0; font-size: 14px; line-height: 1.35; color: var(--lbp-text); }
.lbp .lbp-stat dd {
    margin: 0; font-family: var(--lbp-display); font-weight: 800; line-height: 1; letter-spacing: -0.03em;
    font-size: clamp(30px, 3.4vw, 44px); color: var(--primary-dark); font-variant-numeric: tabular-nums;
}

/* ---------- GOVDE ---------- */
.lbp .lbp-body { background: var(--lbp-tint); padding: clamp(28px, 4vw, 40px) 0 clamp(56px, 7vw, 88px); }

/* Benim siram */
.lbp .lbp-me {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px clamp(16px, 3vw, 32px);
    background: var(--primary-light); border: 1px solid #bcdbc6;
    border-radius: var(--lbp-r); padding: 20px clamp(18px, 3vw, 28px); margin: 0 0 28px;
}
.lbp .lbp-me-rank { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lbp .lbp-me-label { font-size: 14px; font-weight: 700; color: var(--primary-dark); }
.lbp .lbp-me-num { font-family: var(--lbp-display); font-size: clamp(36px, 4.4vw, 48px); line-height: 1; font-weight: 800; letter-spacing: -0.03em; color: var(--lbp-ink); font-variant-numeric: tabular-nums; }
.lbp .lbp-me-total { font-size: 13.5px; color: var(--lbp-text); }
.lbp .lbp-me-main { display: grid; gap: 4px; min-width: 0; }
.lbp .lbp-me-stats { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; font-size: 15px; color: var(--lbp-text); }
.lbp .lbp-me-stats strong { color: var(--lbp-ink); font-family: var(--lbp-display); font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lbp .lbp-me-gap { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--primary-dark); }
.lbp .btn { min-height: 44px; touch-action: manipulation; }
.lbp a { touch-action: manipulation; }
.lbp #lbp-me-row { scroll-margin-top: 96px; }
.lbp h1, .lbp .lbp-pod-name, .lbp .lbp-cta h2 { text-wrap: balance; }
.lbp .lbp-me-jump { white-space: nowrap; }

/* Misafir / siralamada olmayan / mentor */
.lbp .lbp-cta {
    display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap;
    background: #fff; border: 1px solid var(--lbp-line);
    border-radius: var(--lbp-r); padding: 20px clamp(18px, 3vw, 28px); margin: 0 0 28px;
}
.lbp .lbp-cta h2 { font-family: var(--lbp-display); font-size: 20px; line-height: 1.25; letter-spacing: -0.01em; margin: 0 0 4px; color: var(--lbp-ink); }
.lbp .lbp-cta p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--lbp-text); }
.lbp .lbp-note { margin: 0 0 28px; padding: 14px 18px; background: #fff; border: 1px solid var(--lbp-line); border-radius: var(--lbp-r-sm); font-size: 15px; color: var(--lbp-text); }

/* ---------- PODYUM: DOM sirasi 1-2-3, gorunum 2-1-3 ---------- */
.lbp .lbp-podium {
    list-style: none; margin: 0 0 28px; padding: 0;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: end;
}
.lbp .lbp-pod {
    --metal: var(--lbp-silver);
    position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0;
    background: #fff; border: 1px solid var(--lbp-line); border-top: 3px solid var(--metal); border-radius: var(--lbp-r);
    padding: 22px 14px 20px;
}
.lbp .lbp-pod-1 { --metal: var(--lbp-gold); order: 2; padding-block: 34px 28px; }
.lbp .lbp-pod-2 { order: 1; }
.lbp .lbp-pod-3 { --metal: var(--lbp-bronze); order: 3; }
.lbp .lbp-pod.is-me { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.lbp .lbp-pod-rank {
    font-family: var(--lbp-display); font-weight: 800; font-size: 30px; line-height: 1; letter-spacing: -0.03em;
    color: var(--lbp-ink); font-variant-numeric: tabular-nums; margin-bottom: 14px;
}
.lbp .lbp-pod-1 .lbp-pod-rank { font-size: 38px; }
.lbp .lbp-pod-name { margin-top: 12px; max-width: 100%; font-family: var(--lbp-display); font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--lbp-ink); overflow-wrap: anywhere; }
.lbp .lbp-pod-pts { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--primary-dark); }
.lbp .lbp-pod-pts strong { font-family: var(--lbp-display); font-size: 28px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.lbp .lbp-pod-1 .lbp-pod-pts strong { font-size: 34px; }

/* Avatar (moLbAvatarHtml: .lb-ini + istege bagli img) */
.lbp .lbp-av {
    position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%; overflow: hidden;
    display: grid; place-items: center; background: #dcebe0; color: var(--primary-dark);
    font-family: var(--lbp-display); font-weight: 700; font-size: 14px;
}
.lbp .lbp-av-lg { width: 64px; height: 64px; font-size: 21px; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--metal); }
.lbp .lbp-pod-1 .lbp-av-lg { width: 80px; height: 80px; font-size: 26px; }
.lbp .lbp-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.lbp .lbp-you {
    display: inline-block; vertical-align: 1px; margin-inline-start: 6px; padding: 1px 9px; border-radius: 999px;
    background: var(--primary-dark); color: #fff; font-family: 'DM Sans', system-ui, sans-serif; font-size: 12px; font-weight: 700; line-height: 1.6;
}

@media (prefers-reduced-motion: no-preference) {
    .lbp .lbp-pod { animation: lbpRise 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .lbp .lbp-pod-1 { animation-delay: 0.05s; }
    .lbp .lbp-pod-2 { animation-delay: 0.2s; }
    .lbp .lbp-pod-3 { animation-delay: 0.3s; }
    html:has(.lbp) { scroll-behavior: smooth; }
}
@keyframes lbpRise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ---------- TABLO ---------- */
.lbp .lbp-board { background: #fff; border: 1px solid var(--lbp-line); border-radius: var(--lbp-r); overflow: hidden; }
.lbp .lbp-board-title { margin: 0; padding: 18px 24px 14px; font-family: var(--lbp-display); font-size: 18px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbp-ink); }
.lbp .lbp-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.lbp .lbp-table th, .lbp .lbp-table td { padding: 12px 14px; text-align: start; vertical-align: middle; }
.lbp .lbp-table thead th {
    padding-block: 11px; font-size: 13px; font-weight: 700; color: var(--lbp-text);
    background: var(--lbp-tint); border-block: 1px solid var(--lbp-line);
}
.lbp .lbp-table tr > :first-child { padding-inline-start: 24px; }
.lbp .lbp-table tr > :last-child { padding-inline-end: 24px; }
.lbp .lbp-table tbody .lbp-row { border-bottom: 1px solid #e6eee8; }
.lbp .lbp-table tbody .lbp-row:last-child { border-bottom: 0; }
.lbp .lbp-table tbody .lbp-row:nth-child(even) { background: var(--lbp-zebra); }
.lbp .lbp-c-rank { width: 88px; font-family: var(--lbp-display); font-weight: 800; font-size: 17px; color: var(--lbp-ink); }
.lbp .lbp-c-who { font-weight: 600; color: var(--lbp-ink); }
.lbp th.lbp-c-who { font-size: 15.5px; }
.lbp tbody .lbp-c-who { display: table-cell; }
.lbp .lbp-c-who .lbp-av { display: inline-grid; vertical-align: middle; margin-inline-end: 12px; }
.lbp .lbp-name { vertical-align: middle; }
.lbp .lbp-table .lbp-c-pts { text-align: end; white-space: nowrap; color: var(--lbp-text); }
.lbp .lbp-c-pts strong { font-family: var(--lbp-display); font-size: 19px; font-weight: 800; color: var(--lbp-ink); }
.lbp .lbp-c-pts small { font-size: 12.5px; }
.lbp .lbp-row.is-me, .lbp .lbp-table tbody .lbp-row.is-me:nth-child(even) { background: var(--primary-light); }
.lbp .lbp-row.is-me > :first-child { box-shadow: inset 4px 0 0 var(--primary); }
[dir="rtl"] .lbp .lbp-row.is-me > :first-child { box-shadow: inset -4px 0 0 var(--primary); }
.lbp .lbp-row:target { background: #dff0e4; }
.lbp .lbp-sep th {
    padding-block: 10px; font-size: 13px; font-weight: 700; color: var(--lbp-text);
    background: var(--lbp-tint); border-block: 1px solid var(--lbp-line);
}
.lbp .lbp-table caption + thead + tbody.lbp-near .lbp-sep th { border-top: 0; }

.lbp .lbp-foot { margin: 16px 4px 0; font-size: 14px; line-height: 1.55; color: var(--lbp-text); }

/* Bos durum */
.lbp .lbp-empty { background: #fff; border: 1px solid var(--lbp-line); border-radius: var(--lbp-r); padding: clamp(32px, 6vw, 64px) 24px; text-align: center; }
.lbp .lbp-empty h2 { font-family: var(--lbp-display); font-size: 24px; letter-spacing: -0.02em; margin: 0 0 8px; color: var(--lbp-ink); }
.lbp .lbp-empty p { margin: 0 auto 24px; max-width: 44ch; color: var(--lbp-text); font-size: 16px; line-height: 1.6; }

/* ---------- TABLET ---------- */
@media (max-width: 700px) {
    .lbp .lbp-me { grid-template-columns: auto minmax(0, 1fr); }
    .lbp .lbp-me-jump { grid-column: 1 / -1; justify-self: start; }
}

/* ---------- TELEFON: podyum yatay kartlar, tablo kompakt kartlar ---------- */
@media (max-width: 640px) {
    .lbp .lbp-stat { padding: 16px 12px; gap: 6px; }
    .lbp .lbp-stat dt { font-size: 12.5px; }
    .lbp .lbp-stat dd { font-size: 24px; }
    .lbp .lbp-me { grid-template-columns: minmax(0, 1fr); }
    .lbp .lbp-me-jump { justify-self: stretch; width: 100%; justify-content: center; }
    .lbp .lbp-cta .btn { width: 100%; justify-content: center; }

    .lbp .lbp-podium { grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: stretch; }
    .lbp .lbp-pod, .lbp .lbp-pod-1 {
        order: 0; display: grid; grid-template-columns: 34px 52px minmax(0, 1fr) auto; grid-template-areas: "rank av name pts";
        align-items: center; text-align: start; column-gap: 12px; row-gap: 2px; padding: 14px 16px;
    }
    .lbp .lbp-pod-rank, .lbp .lbp-pod-1 .lbp-pod-rank { grid-area: rank; font-size: 26px; margin: 0; text-align: center; }
    .lbp .lbp-av-lg, .lbp .lbp-pod-1 .lbp-av-lg { grid-area: av; width: 52px; height: 52px; font-size: 17px; box-shadow: none; }
    .lbp .lbp-pod-name { grid-area: name; margin: 0; font-size: 16px; align-self: center; }
    .lbp .lbp-pod-pts, .lbp .lbp-pod-1 .lbp-pod-pts { grid-area: pts; margin: 0; text-align: end; font-size: 12.5px; }
    .lbp .lbp-pod-pts strong, .lbp .lbp-pod-1 .lbp-pod-pts strong { display: block; font-size: 24px; }

    .lbp .lbp-board-title { padding: 16px 16px 12px; }
    .lbp .lbp-table, .lbp .lbp-table tbody, .lbp .lbp-table tr, .lbp .lbp-table td, .lbp .lbp-table th { display: block; }
    .lbp .lbp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
    .lbp .lbp-table tbody { border-top: 1px solid var(--lbp-line); }
    .lbp .lbp-table th, .lbp .lbp-table td { padding: 0; }
    .lbp .lbp-table tr > :first-child, .lbp .lbp-table tr > :last-child { padding-inline: 0; }
    .lbp .lbp-table tbody .lbp-row {
        display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center;
        column-gap: 0; padding: 12px 16px; min-height: 60px;
    }
    .lbp .lbp-row > .lbp-c-rank { grid-column: 1; grid-row: 1; width: auto; font-size: 15px; letter-spacing: -0.02em; padding-inline-end: 6px; }
    .lbp .lbp-row > .lbp-c-who { grid-column: 2; grid-row: 1; min-width: 0; display: flex; align-items: center; }
    .lbp .lbp-c-who .lbp-av { width: 32px; height: 32px; font-size: 12px; margin-inline-end: 10px; }
    .lbp .lbp-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
    .lbp .lbp-row > .lbp-c-pts { grid-column: 3; grid-row: 1; align-self: center; }
    .lbp .lbp-c-pts strong { font-size: 18px; }
    .lbp .lbp-row.is-me > :first-child, [dir="rtl"] .lbp .lbp-row.is-me > :first-child { box-shadow: none; }
    .lbp .lbp-table tbody .lbp-row.is-me { box-shadow: inset 4px 0 0 var(--primary); }
    [dir="rtl"] .lbp .lbp-table tbody .lbp-row.is-me { box-shadow: inset -4px 0 0 var(--primary); }
    .lbp .lbp-sep { display: block; }
    .lbp .lbp-sep th { display: block; padding: 10px 16px; }
}

@media (max-width: 360px) {
    .lbp .lbp-stat dd { font-size: 21px; }
    .lbp .lbp-pod, .lbp .lbp-pod-1 { grid-template-columns: 28px 44px minmax(0, 1fr) auto; column-gap: 10px; padding-inline: 12px; }
    .lbp .lbp-av-lg, .lbp .lbp-pod-1 .lbp-av-lg { width: 44px; height: 44px; font-size: 15px; }
    .lbp .lbp-table tbody .lbp-row { padding-inline: 12px; }
}


/* ==== LBRD.css ==== */
/* LBRD — Siralama tablosu: podyum (2-1-3) + ilk 10 + kendi sira penceresi. Tum secimler .lb altinda (CSS paketi global). */
.lb {
    --lb-gold: #d4a52a;
    --lb-silver: #9aa6b2;
    --lb-bronze: #b8713a;
    --lb-ink: #14261a;
    --lb-line: #e3e9e4;
    padding: 28px 0 56px;
}
.lb-wrap { max-width: 860px; }
.lb-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lb-head { padding-bottom: 40px; }

/* Kendi sira karti */
.lb .lb-me-card {
    display: flex; align-items: stretch; gap: 0;
    background: var(--secondary); color: #fff; border-radius: 18px; overflow: hidden;
    margin: -52px 0 28px; position: relative; box-shadow: 0 14px 40px rgba(16, 51, 29, .22);
}
.lb-me-rank {
    display: flex; flex-direction: column; justify-content: center; gap: 2px;
    padding: 18px 26px; background: var(--primary); min-width: 170px;
}
.lb-me-label { font-size: 13px; font-weight: 600; opacity: .85; }
.lb-me-num { font-size: 44px; line-height: 1; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.lb-me-total { font-size: 13px; opacity: .85; }
.lb-me-body { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 18px 24px; min-width: 0; }
.lb-me-stats { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 15px; color: rgba(255, 255, 255, .8); }
.lb-me-stats strong { color: #fff; font-size: 20px; font-variant-numeric: tabular-nums; }
.lb-me-gap { margin: 0; font-size: 15px; font-weight: 600; color: #bfe8cb; }
.lb-me-gap i { color: var(--lb-gold); margin-inline-end: 6px; }

/* Anonim / puansiz ogrenci / mentor */
.lb .lb-cta {
    display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap;
    background: #fff; border: 1px solid var(--lb-line); border-inline-start: 5px solid var(--primary);
    border-radius: 16px; padding: 18px 22px; margin: -52px 0 28px; position: relative;
    box-shadow: 0 10px 30px rgba(16, 51, 29, .10);
}
.lb-cta h2 { font-size: 18px; margin: 0 0 4px; color: var(--lb-ink); }
.lb-cta p { margin: 0; color: var(--gray-700); font-size: 14px; }
.lb-cta .btn { flex-shrink: 0; }
.lb .lb-note {
    background: #fff; border: 1px solid var(--lb-line); border-radius: 14px; padding: 14px 18px;
    margin: -48px 0 28px; position: relative; color: var(--gray-700); font-size: 14px;
    box-shadow: 0 10px 30px rgba(16, 51, 29, .08);
}
.lb-note i { color: var(--primary); margin-inline-end: 6px; }

/* Podyum: DOM sirasi 1-2-3 (ekran okuyucu), gorunum 2-1-3 */
.lb-podium {
    list-style: none; margin: 8px 0 0; padding: 0;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end;
}
.lb-step { display: flex; flex-direction: column; align-items: center; min-width: 0; position: relative; }
.lb-step-1 { order: 2; }
.lb-step-2 { order: 1; }
.lb-step-3 { order: 3; }
.lb-step-person { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 8px 14px; min-width: 0; max-width: 100%; }
.lb-step-av {
    --ring: var(--lb-silver);
    position: relative; width: 84px; height: 84px; border-radius: 50%;
    display: grid; place-items: center; margin-bottom: 12px;
    background: linear-gradient(145deg, var(--primary), var(--secondary));
    color: #fff; font-weight: 700; font-size: 26px;
    box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--ring);
}
.lb-step-1 .lb-step-av { --ring: var(--lb-gold); width: 108px; height: 108px; font-size: 32px; }
.lb-step-3 .lb-step-av { --ring: var(--lb-bronze); }
.lb-step-av img, .lb-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.lb-medal {
    position: absolute; bottom: -8px; inset-inline-end: -6px;
    width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
    background: var(--ring); color: #fff; font-size: 14px; font-weight: 800;
    border: 3px solid #fff; z-index: 1;
}
.lb-step-1 .lb-medal { width: 36px; height: 36px; font-size: 15px; }
.lb-step-name { font-weight: 700; color: var(--lb-ink); font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.lb-step-pts { margin-top: 4px; color: var(--primary); font-size: 14px; font-weight: 600; }
.lb-step-pts strong { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lb-step-1 .lb-step-pts strong { font-size: 26px; }
.lb-step-meta { margin-top: 2px; color: var(--gray-600); font-size: 12.5px; }
.lb-block {
    width: 100%; display: flex; justify-content: center; align-items: flex-start;
    background: linear-gradient(180deg, #2a6e3e, var(--secondary));
    color: rgba(255, 255, 255, .92); font-weight: 800; font-size: 40px; line-height: 1;
    padding-top: 14px; border-top: 5px solid var(--ring, var(--lb-silver));
}
.lb-step-1 .lb-block { height: 128px; border-top-color: var(--lb-gold); background: linear-gradient(180deg, var(--primary), var(--secondary)); border-radius: 12px 12px 0 0; font-size: 52px; }
.lb-step-2 .lb-block { height: 92px; border-top-color: var(--lb-silver); border-start-start-radius: 12px; }
.lb-step-3 .lb-block { height: 66px; border-top-color: var(--lb-bronze); border-start-end-radius: 12px; }
.lb-step.is-me .lb-step-name { color: var(--primary); }

/* Liste */
.lb-board {
    background: #fff; border: 1px solid var(--lb-line); border-top: 0;
    border-radius: 0 0 18px 18px; overflow: hidden;
}
.lb-cols, .lb-row {
    --lb-rw: 44px;
    display: grid; grid-template-columns: var(--lb-rw) 44px minmax(0, 1fr) auto; align-items: center; gap: 14px;
    padding: 0 20px;
}
/* Sira sutunu genisligi, gosterilen en buyuk siranin basamak sayisina gore (tum satirlar hizali kalir) */
.lb-board[data-digits="4"] { --lb-rw-d: 48px; }
.lb-board[data-digits="5"] { --lb-rw-d: 58px; }
.lb-board[data-digits="6"] { --lb-rw-d: 68px; }
.lb-board[data-digits="7"] { --lb-rw-d: 78px; }
.lb-board[data-digits] .lb-cols, .lb-board[data-digits] .lb-row { --lb-rw: var(--lb-rw-d, 44px); }
.lb-cols { font-size: 12.5px; font-weight: 600; color: var(--gray-600); padding-top: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--lb-line); background: #f6f9f7; }
.lb-cols span:nth-child(1) { text-align: center; }
.lb-cols span:nth-child(2) { grid-column: 2 / 4; }
.lb-col-pts { text-align: end; }
.lb-list { list-style: none; margin: 0; padding: 0; }
.lb-row { min-height: 66px; border-bottom: 1px solid var(--lb-line); position: relative; }
.lb-list:last-child .lb-row:last-child { border-bottom: 0; }
.lb-rank { text-align: center; font-weight: 700; font-size: 17px; color: var(--gray-700); font-variant-numeric: tabular-nums; }
.lb-av {
    position: relative; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
    background: #e3efe6; color: var(--secondary); font-weight: 700; font-size: 15px; overflow: hidden;
}
.lb-who { display: flex; flex-direction: column; min-width: 0; }
.lb-name { font-weight: 600; color: var(--lb-ink); font-size: 15.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-meta { display: flex; flex-wrap: wrap; gap: 2px 14px; color: var(--gray-600); font-size: 13px; margin-top: 2px; }
.lb-avg { color: var(--success); font-weight: 600; }
.lb-pts { text-align: end; white-space: nowrap; color: var(--lb-ink); }
.lb-pts strong { font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lb-pts small { font-size: 12px; color: var(--gray-600); font-weight: 500; }
.lb-you {
    display: inline-block; vertical-align: 2px; margin-inline-start: 6px; padding: 1px 8px;
    border-radius: 999px; background: var(--primary); color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1.6;
}
.lb-row.is-me { background: var(--primary-light); box-shadow: inset 4px 0 0 var(--primary); }
[dir="rtl"] .lb-row.is-me { box-shadow: inset -4px 0 0 var(--primary); }
.lb-row.is-me .lb-rank { color: var(--primary); }
.lb-row.is-me .lb-av { background: var(--primary); color: #fff; }
.lb-gap {
    display: flex; align-items: center; justify-content: center; height: 34px;
    color: var(--gray-500); font-size: 22px; letter-spacing: .2em; line-height: 1;
    background: repeating-linear-gradient(90deg, transparent 0 6px, #f1f4f2 6px 12px);
    border-bottom: 1px solid var(--lb-line);
}
.lb-foot { margin: 14px 4px 0; font-size: 13px; color: var(--gray-600); text-align: center; }

@media (max-width: 640px) {
    .lb { padding-top: 20px; }
    .lb .lb-me-card, .lb .lb-cta, .lb .lb-note { margin-top: -44px; }
    .lb-me-rank { min-width: 0; padding: 14px 16px; }
    .lb-me-num { font-size: 34px; }
    .lb-me-body { padding: 14px 16px; }
    .lb-me-stats { font-size: 13px; gap: 4px 14px; }
    .lb-me-stats strong { font-size: 17px; }
    .lb-me-gap { font-size: 13.5px; }
    .lb .lb-cta { padding: 16px; }
    .lb .lb-cta .btn { width: 100%; justify-content: center; }
    .lb-step-person { padding: 0 3px 10px; }
    .lb-step-av { width: 58px; height: 58px; font-size: 18px; margin-bottom: 10px; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ring); }
    .lb-step-1 .lb-step-av { width: 74px; height: 74px; font-size: 22px; }
    .lb-medal { width: 24px; height: 24px; font-size: 11px; border-width: 2px; bottom: -6px; inset-inline-end: -6px; }
    .lb-step-1 .lb-medal { width: 28px; height: 28px; font-size: 12px; }
    .lb-step-name { font-size: 13.5px; }
    .lb-step-pts { font-size: 12px; }
    .lb-step-pts strong, .lb-step-1 .lb-step-pts strong { font-size: 18px; }
    .lb-step-meta { font-size: 11px; }
    .lb-block { font-size: 28px; padding-top: 10px; }
    .lb-step-1 .lb-block { height: 96px; font-size: 36px; }
    .lb-step-2 .lb-block { height: 70px; }
    .lb-step-3 .lb-block { height: 50px; }
    .lb-cols, .lb-row { grid-template-columns: var(--lb-rw) 38px minmax(0, 1fr) auto; gap: 10px; padding: 0 12px; }
    .lb-board[data-digits] .lb-cols, .lb-board[data-digits] .lb-row { --lb-rw: var(--lb-rw-m, 28px); }
    .lb-board[data-digits="4"] { --lb-rw-m: 38px; }
    .lb-board[data-digits="5"] { --lb-rw-m: 46px; }
    .lb-board[data-digits="6"] { --lb-rw-m: 54px; }
    .lb-board[data-digits="7"] { --lb-rw-m: 62px; }
    .lb-board[data-digits="5"] .lb-rank, .lb-board[data-digits="6"] .lb-rank, .lb-board[data-digits="7"] .lb-rank { font-size: 13.5px; }
    .lb-row { min-height: 60px; }
    .lb-av { width: 38px; height: 38px; font-size: 13px; }
    .lb-rank { font-size: 15px; }
    .lb-name { font-size: 14.5px; }
    .lb-meta { font-size: 12px; gap: 0 10px; }
    .lb-pts strong { font-size: 17px; }
}


/* ==== LEGAL.css ==== */
/* Sozlesmeler (admin + site) */

.lg-muted { color: var(--gray-500, #6b7280); }
.lg-small { font-size: 13px; }
.lg-pre { white-space: pre-line; }
.lg-mt { margin-top: 20px; }
.lg-mt-sm { margin-top: 12px; }
.lg-mb { margin-bottom: 16px; }
.lg-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.lg-back { color: inherit; margin-right: 6px; }
.lg-version-tag { font-size: 14px; background: var(--gray-100, #f3f4f6); border-radius: 6px; padding: 2px 8px; vertical-align: middle; }

/* Admin liste */
.lg-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; border-bottom: 1px solid var(--gray-200, #e5e7eb); }
.lg-tab { padding: 10px 14px; font-weight: 600; font-size: 14px; color: var(--gray-600, #6b7280); border-bottom: 2px solid transparent; margin-bottom: -1px; text-decoration: none; }
.lg-tab.active { color: var(--primary, #b91c1c); border-bottom-color: var(--primary, #b91c1c); }
.lg-tab span { background: var(--gray-100, #f3f4f6); border-radius: 10px; padding: 1px 8px; font-size: 12px; margin-left: 4px; }
.lg-table-wrap { overflow-x: auto; }
.lg-table td { vertical-align: top; }
.lg-muted-row { opacity: .65; }
.lg-actions { white-space: nowrap; }
.lg-chip { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 8px; margin: 2px 4px 2px 0; border-radius: 10px; background: var(--gray-100, #f3f4f6); color: var(--gray-700, #374151); }
.lg-chip-main { background: var(--primary, #b91c1c); color: #fff; }
.lg-chip-warn { background: #fef7e0; color: #8a5a00; }
.status-badge.lg-old { background: var(--gray-100, #f3f4f6); color: var(--gray-600, #6b7280); }
.lg-scheduled { color: #8a5a00; }
.lg-empty { text-align: center; padding: 32px 16px; }
.lg-empty i { font-size: 40px; color: var(--gray-300, #d1d5db); }
.lg-empty p { max-width: 520px; margin: 12px auto 16px; color: var(--gray-600, #6b7280); }
.lg-help { margin-top: 20px; }
.lg-help ol { margin: 8px 0 0 18px; color: var(--gray-700, #374151); font-size: 14px; }
.lg-help li { margin: 4px 0; }

/* Admin duzen */
.lg-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 20px; align-items: start; }
.lg-stack { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.lg-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0; }
.lg-dl dt { color: var(--gray-500, #6b7280); font-size: 13px; }
.lg-dl dd { margin: 0; overflow-wrap: anywhere; }
.lg-checks { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.lg-checks-col { flex-direction: column; }
.lg-check { display: inline-flex !important; align-items: flex-start; gap: 8px; font-weight: 500 !important; cursor: pointer; }
.lg-check input { width: auto !important; margin-top: 3px; }
.lg-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lg-filters select, .lg-filters input { padding: 8px 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; min-width: 0; max-width: 100%; }
.lg-lock { display: flex; gap: 10px; align-items: center; }
.admin-card-header small { font-weight: 400; }

/* Dil sekmeleri */
.lg-langs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.lg-lang { min-width: 38px; text-align: center; padding: 5px 8px; border-radius: 6px; font-size: 12px; font-weight: 700; text-decoration: none;
           border: 1px dashed var(--gray-300, #d1d5db); color: var(--gray-500, #6b7280); }
.lg-lang.has { border-style: solid; color: var(--gray-800, #1f2937); background: #fff; }
.lg-lang.main { border-color: var(--primary, #b91c1c); }
.lg-lang.stale { background: #fef7e0; border-color: #f6d88a; }
.lg-lang.active { background: var(--primary, #b91c1c); border-color: var(--primary, #b91c1c); color: #fff; }

/* Editor */
.lg-editor-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lg-editor-wrap textarea { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.55; min-height: 420px; resize: vertical; }
.lg-preview { border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; padding: 14px 16px; max-height: 620px; overflow: auto; background: #fff; }
.lg-form-foot { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.lg-form-foot [data-lg-dirty] i { color: #e37400; font-size: 8px; vertical-align: middle; }
.lg-warn-list { list-style: none; padding: 0; margin: 0 0 14px; font-size: 13px; color: #8a5a00; }
.lg-warn-list li { margin: 4px 0; }
.lg-hash { margin-top: 16px; font-size: 12px; color: var(--gray-500, #6b7280); overflow-wrap: anywhere; }

/* Fark */
.lg-diff { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; max-height: 520px; overflow: auto; }
.lg-diff > div { padding: 2px 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.lg-diff > div span { display: inline-block; width: 14px; color: var(--gray-400, #9ca3af); user-select: none; }
.lg-diff-add { background: #e6f4ea; }
.lg-diff-del { background: #fce8e6; text-decoration: line-through; text-decoration-color: rgba(163, 38, 27, .4); }
.lg-diff-eq { color: var(--gray-600, #6b7280); }
.lg-diff-note { background: #fef7e0; }
.lg-add { color: #1e6b34; font-weight: 700; }
.lg-del { color: #a3261b; font-weight: 700; }

/* Metin govdesi (admin + site) */
.lg-doc-title { font-size: 22px; margin: 0 0 12px; }
.lg-doc-body { line-height: 1.75; color: var(--gray-800, #1f2937); overflow-wrap: anywhere; }
.lg-doc-body h3 { font-size: 20px; margin: 24px 0 8px; }
.lg-doc-body h4 { font-size: 17px; margin: 20px 0 6px; }
.lg-doc-body h5 { font-size: 15px; margin: 16px 0 6px; }
.lg-doc-body p { margin: 0 0 12px; }
.lg-doc-body ul, .lg-doc-body ol { margin: 0 0 12px 22px; }
.lg-doc-body blockquote { margin: 0 0 12px; padding: 8px 14px; border-left: 3px solid var(--primary, #b91c1c); background: var(--gray-50, #f9fafb); }
.lg-doc-body a { color: var(--primary, #b91c1c); text-decoration: underline; }

/* Kayit formu onay kutulari */
.lg-consents { display: flex; flex-direction: column; gap: 10px; }
.lg-consent { display: flex !important; align-items: flex-start; gap: 10px; line-height: 1.45; }
.lg-consent input { flex-shrink: 0; width: 18px !important; height: 18px; margin-top: 2px; }
.lg-consent a, .lg-consent-info a { color: var(--primary, #b91c1c); font-weight: 600; text-decoration: underline; }
.lg-consent-info { font-size: 13px; color: var(--gray-600, #6b7280); margin: 0; }

/* Site: sozlesme sayfasi */
.lg-public { padding: 32px 0 56px; }
.lg-public-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; align-items: start; }
.lg-article { background: #fff; border-radius: var(--radius, 12px); box-shadow: var(--shadow, 0 1px 3px rgba(0,0,0,.08)); padding: 32px 36px; min-width: 0; }
.lg-aside { position: sticky; top: 90px; background: #fff; border-radius: var(--radius, 12px); box-shadow: var(--shadow, 0 1px 3px rgba(0,0,0,.08)); padding: 20px; }
.lg-aside h4 { font-size: 14px; margin: 18px 0 8px; }
.lg-history { list-style: none; padding: 0; margin: 0; }
.lg-history li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--gray-100, #f3f4f6); font-size: 14px; }
.lg-history li.active a { font-weight: 700; color: var(--primary, #b91c1c); }
.lg-history small { color: var(--gray-500, #6b7280); }
.lg-print { margin-top: 16px; width: 100%; justify-content: center; }
.lg-lang-note { font-size: 13px; color: var(--gray-600, #6b7280); background: var(--gray-50, #f9fafb); padding: 8px 12px; border-radius: 8px; }
.lg-doc-list { list-style: none; padding: 0; margin: 0 auto; max-width: 760px; display: flex; flex-direction: column; gap: 10px; }
.lg-doc-list a { display: flex; gap: 14px; align-items: center; background: #fff; padding: 16px 18px; border-radius: 10px; box-shadow: var(--shadow, 0 1px 3px rgba(0,0,0,.08)); color: inherit; text-decoration: none; }
.lg-doc-list a:hover { box-shadow: 0 4px 14px rgba(0,0,0,.1); }
.lg-doc-list i { font-size: 22px; color: var(--primary, #b91c1c); }
.lg-doc-list span { display: flex; flex-direction: column; }
.lg-doc-list small { color: var(--gray-500, #6b7280); }

/* Yeniden onay */
.lg-narrow { max-width: 820px; }
.lg-reaccept-card { background: #fff; border-radius: var(--radius, 12px); box-shadow: var(--shadow, 0 1px 3px rgba(0,0,0,.08)); padding: 22px 24px; margin-bottom: 18px; }
.lg-reaccept-head h2 { font-size: 20px; margin: 0; }
.lg-reaccept-head small { color: var(--gray-500, #6b7280); }
.lg-changes { background: #fef7e0; border-radius: 8px; padding: 10px 14px; margin: 14px 0; font-size: 14px; }
.lg-changes p { margin: 4px 0 0; }
.lg-scroll { max-height: 320px; overflow: auto; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; padding: 14px 16px; margin: 14px 0; }
.lg-reaccept-foot { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.lg-banner { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.lg-banner > i { font-size: 22px; }
.lg-banner > div { flex: 1 1 240px; }
.lg-banner p { margin: 2px 0 0; }

@media (max-width: 1000px) {
    .lg-grid { grid-template-columns: 1fr; }
    .lg-editor-wrap { grid-template-columns: 1fr; }
    .lg-preview { max-height: 360px; }
}
@media (max-width: 820px) {
    .lg-public-grid { grid-template-columns: 1fr; }
    .lg-aside { position: static; }
    .lg-article { padding: 20px 18px; }
}
@media (max-width: 640px) {
    .lg-dl { grid-template-columns: 1fr; gap: 2px; }
    .lg-dl dd { margin-bottom: 8px; }
    .lg-table thead { display: none; }
    .lg-table, .lg-table tbody, .lg-table tr, .lg-table td { display: block; width: 100%; }
    .lg-table tr { border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; }
    .lg-table td { border: 0 !important; padding: 4px 0 !important; }
    .lg-table td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; color: var(--gray-500, #6b7280); text-transform: uppercase; }
    .lg-filters > * { flex: 1 1 140px; }
    .lg-reaccept-foot .btn { flex: 1 1 auto; justify-content: center; }
}
@media print {
    .main-header, .main-footer, footer, .lg-aside, .page-header-section, .alert { display: none !important; }
    .lg-public { padding: 0; }
    .lg-public-grid { display: block; }
    .lg-article { box-shadow: none; padding: 0; }
}


/* ==== LEGPRM.css ==== */
/* LEGPRM - Sozlesmeler / hukuki metinler (public/legal.php) premium yeniden duzeni.
   Tum kurallar .legprm kokuyle kapsamli (admin ve LEGAL.css'teki .lg-* kurallari bozulmaz).
   Yon: "akademik hassasiyet" - marka yesili, soguk yesil-gri kagit tonu, Manrope basliklar + DM Sans metin.
   Uzun metin okunabilirligi: ~68 karakterlik sutun, rahat satir araligi, yapiskan icindekiler (mobilde
   acilir panel), CSS ile okuma ilerleme cubugu, temiz yazdirma. Sekil kilidi: kart 16px, ic kutu 10px, buton 8px.
   Mantiksal ozellikler kullanilir (RTL: ar, fa, ur). */

.legprm {
    --lp-tint: #f1f6f2;
    --lp-line: #d6e3d9;
    --lp-ink: var(--dark);
    --lp-text: #3f4a43;
    --lp-muted: #5b675f;
    --lp-r: 16px;
    --lp-r-sm: 10px;
    --lp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --lp-stick: 96px;
    --lp-anchor: 104px;
    color: var(--lp-text);
    margin-bottom: -72px; /* alt bilgi (.ftr) kendi ust bosluguyla geliyor; koyu alana bitisik olsun */
}
.legprm a, .legprm button, .legprm summary { touch-action: manipulation; }
.legprm a:focus-visible,
.legprm button:focus-visible,
.legprm summary:focus-visible,
.legprm .legprm-tablewrap:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }

/* ---------- baslik ---------- */
.legprm-head { background: var(--lp-tint); border-bottom: 1px solid var(--lp-line); padding-block: clamp(32px, 5vw, 60px) clamp(28px, 4vw, 44px); }
.legprm-head h1 {
    margin: 0; font-family: var(--lp-display); font-weight: 800; color: var(--lp-ink); text-align: start;
    font-size: clamp(32px, 4.2vw, 52px); line-height: 1.1; letter-spacing: -0.03em; overflow-wrap: anywhere; text-wrap: balance;
}
.legprm-lead { margin: 14px 0 0; max-width: 58ch; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.65; text-align: start; }
.legprm-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: -8px 0 6px;
    font-size: 15px; font-weight: 600; color: var(--primary-dark); text-decoration: none;
}
.legprm-back:hover { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.legprm-back i { font-size: 12px; }
[dir="rtl"] .legprm-back i, [dir="rtl"] .legprm-card-go { transform: scaleX(-1); }
.legprm-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; }
.legprm-version { margin: 0; font-size: 16px; line-height: 1.5; color: var(--lp-muted); }
.legprm .legprm-print { margin-inline-start: auto; min-height: 44px; border-radius: 8px; background: #fff; }
.legprm .legprm-print:hover { background: var(--primary); }

/* ---------- govde ---------- */
.legprm-body { background: #fff; padding-block: clamp(32px, 5vw, 72px); }
.legprm-empty, .legprm-missing {
    max-width: 640px; padding: clamp(24px, 4vw, 40px); border: 1px solid var(--lp-line); border-radius: var(--lp-r);
    background: var(--lp-tint); font-size: 16.5px; line-height: 1.65;
}
.legprm-empty { margin: 0; }
.legprm-missing p { margin: 0 0 20px; }
.legprm .legprm-missing .btn { min-height: 46px; border-radius: 8px; }

/* belge listesi */
.legprm-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 980px; }
.legprm-card {
    display: flex; align-items: center; gap: 16px; height: 100%; min-height: 92px; padding: 20px 22px;
    border: 1px solid var(--lp-line); border-radius: var(--lp-r); background: #fff; color: inherit; text-decoration: none;
    transition: border-color .2s, background-color .2s;
}
.legprm-card:hover { border-color: #9fc4a9; background: var(--lp-tint); color: inherit; }
.legprm-card-icon {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px;
    border-radius: var(--lp-r-sm); background: var(--lp-tint); color: var(--primary); font-size: 19px;
    transition: background-color .2s;
}
.legprm-card:hover .legprm-card-icon { background: #fff; }
.legprm-card-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.legprm-card-title { font-family: var(--lp-display); font-size: 18px; font-weight: 800; line-height: 1.3; letter-spacing: -0.01em; color: var(--lp-ink); overflow-wrap: anywhere; }
.legprm-card-meta { font-size: 14px; line-height: 1.45; color: var(--lp-muted); }
.legprm-card-go { flex: 0 0 auto; font-size: 13px; color: var(--primary); transition: transform .25s cubic-bezier(.16, 1, .3, 1); }
.legprm-card:hover .legprm-card-go { transform: translateX(4px); }
[dir="rtl"] .legprm-card:hover .legprm-card-go { transform: scaleX(-1) translateX(4px); }

/* belge gorunumu: yapiskan icindekiler + okuma sutunu */
.legprm-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); column-gap: clamp(32px, 6vw, 88px); align-items: start; }
.legprm-layout.legprm-no-toc { grid-template-columns: minmax(0, 1fr); }
.legprm-main { max-width: 760px; min-width: 0; }
.legprm-no-toc .legprm-main { margin-inline: auto; }

.legprm-toc { position: sticky; top: var(--lp-stick); align-self: start; max-height: calc(100vh - var(--lp-stick) - 24px); overflow-y: auto; scrollbar-width: thin; }
.legprm-toc[hidden] { display: none; }
.legprm-toc summary {
    list-style: none; margin: 0 0 12px; font-family: var(--lp-display); font-size: 15px; font-weight: 800; color: var(--lp-ink);
    pointer-events: none; cursor: default;
}
.legprm-toc summary::-webkit-details-marker { display: none; }
.legprm-toc summary::marker { content: ""; }
.legprm-toc-list { list-style: none; margin: 0; padding: 0; }
.legprm-toc-list a {
    display: flex; align-items: center; min-height: 40px; padding-block: 7px; padding-inline: 14px 8px;
    border-inline-start: 2px solid var(--lp-line); color: var(--lp-text); font-size: 14.5px; font-weight: 500; line-height: 1.35;
    text-decoration: none; overflow-wrap: anywhere; transition: color .2s, border-color .2s, background-color .2s;
}
.legprm-toc-l1 a { padding-inline-start: 28px; font-size: 14px; }
.legprm-toc-l2 a { padding-inline-start: 42px; font-size: 14px; }
.legprm-toc-list a:hover { color: var(--primary-dark); border-inline-start-color: #9fc4a9; }
.legprm-toc-list a[aria-current="true"] {
    color: var(--primary-dark); font-weight: 700; border-inline-start-color: var(--primary); background: var(--lp-tint);
    border-start-end-radius: 8px; border-end-end-radius: 8px;
}

/* uyari kutulari (eski surum, dil yedegi) */
.legprm-note {
    display: flex; align-items: flex-start; gap: 12px; margin: 0 0 24px; padding: 14px 16px;
    border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); background: var(--lp-tint); font-size: 15px; line-height: 1.55;
}
.legprm-note i { flex: 0 0 auto; margin-top: 3px; color: var(--primary); }
.legprm-note p { margin: 0; min-width: 0; }
.legprm-note a { color: var(--primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.legprm-note-warn { background: #fdf6e3; border-color: #ecd9a0; }
.legprm-note-warn i { color: #8a5a00; }

/* ---------- metin ---------- */
.legprm .legprm-doc { max-width: 70ch; font-size: 17px; line-height: 1.78; color: var(--lp-text); overflow-wrap: anywhere; hyphens: auto; }
.legprm .legprm-doc > :first-child { margin-top: 0; }
.legprm .legprm-doc h2,
.legprm .legprm-doc h3,
.legprm .legprm-doc h4,
.legprm .legprm-doc h5 {
    font-family: var(--lp-display); color: var(--lp-ink); text-align: start; scroll-margin-top: var(--lp-anchor);
    letter-spacing: -0.015em; hyphens: manual;
}
.legprm .legprm-doc h2 { font-size: clamp(25px, 2.8vw, 31px); font-weight: 800; line-height: 1.2; margin: 2.2em 0 .6em; }
.legprm .legprm-doc h3 { font-size: clamp(22px, 2.4vw, 27px); font-weight: 800; line-height: 1.25; margin: 2.1em 0 .55em; padding-top: 1.1em; border-top: 1px solid var(--lp-line); }
.legprm .legprm-doc > h3:first-child { padding-top: 0; border-top: 0; }
.legprm .legprm-doc h4 { font-size: 19px; font-weight: 700; line-height: 1.35; margin: 1.8em 0 .45em; }
.legprm .legprm-doc h5 { font-size: 16.5px; font-weight: 700; line-height: 1.4; margin: 1.5em 0 .4em; }
.legprm .legprm-doc p { margin: 0 0 1.05em; }
.legprm .legprm-doc ul,
.legprm .legprm-doc ol { margin: 0 0 1.2em; padding: 0; padding-inline-start: 1.5em; }
.legprm .legprm-doc li { margin: 0 0 .5em; padding-inline-start: .25em; }
.legprm .legprm-doc li::marker { color: var(--primary); font-weight: 700; }
.legprm .legprm-doc li > ul, .legprm .legprm-doc li > ol { margin-top: .5em; margin-bottom: .2em; }
.legprm .legprm-doc strong, .legprm .legprm-doc b { color: var(--lp-ink); font-weight: 700; }
.legprm .legprm-doc a { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #9fc4a9; }
.legprm .legprm-doc a:hover { color: var(--primary); text-decoration-color: currentColor; }
.legprm .legprm-doc blockquote {
    margin: 0 0 1.2em; padding: 14px 18px; border: 0; border-inline-start: 3px solid var(--primary);
    border-radius: 0 var(--lp-r-sm) var(--lp-r-sm) 0; background: var(--lp-tint); color: var(--lp-ink);
}
[dir="rtl"] .legprm .legprm-doc blockquote { border-radius: var(--lp-r-sm) 0 0 var(--lp-r-sm); }
.legprm .legprm-doc blockquote > :last-child { margin-bottom: 0; }
.legprm .legprm-doc hr { border: 0; border-top: 1px solid var(--lp-line); margin: 2em 0; }
.legprm .legprm-doc code { font-size: .9em; padding: 2px 6px; border-radius: 6px; background: var(--lp-tint); }
.legprm .legprm-doc img { max-width: 100%; height: auto; border-radius: var(--lp-r-sm); }
.legprm-tablewrap { margin: 0 0 1.3em; overflow-x: auto; border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); }
.legprm .legprm-doc table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 15px; line-height: 1.55; }
.legprm .legprm-doc th,
.legprm .legprm-doc td { padding: 10px 14px; text-align: start; vertical-align: top; border-bottom: 1px solid var(--lp-line); }
.legprm .legprm-doc th { background: var(--lp-tint); color: var(--lp-ink); font-weight: 700; }
.legprm .legprm-doc tr:last-child td { border-bottom: 0; }

/* belge bilgileri (sonda, tek kart) */
.legprm-info { max-width: 70ch; margin-top: clamp(40px, 5vw, 64px); padding: clamp(20px, 3vw, 28px); border: 1px solid var(--lp-line); border-radius: var(--lp-r); background: var(--lp-tint); }
.legprm-info h2 { margin: 0 0 14px; font-family: var(--lp-display); font-size: 18px; font-weight: 800; color: var(--lp-ink); }
.legprm-info h3 { margin: 22px 0 8px; font-family: var(--lp-display); font-size: 15px; font-weight: 800; color: var(--lp-ink); }
.legprm-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 24px; margin: 0; font-size: 15px; line-height: 1.5; }
.legprm-dl dt { color: var(--lp-muted); }
.legprm-dl dd { margin: 0; color: var(--lp-ink); font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.legprm-changes { margin: 0; font-size: 15px; line-height: 1.65; white-space: pre-line; }
.legprm-history { list-style: none; margin: 0; padding: 0; }
.legprm-history li { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; min-height: 44px; padding-block: 6px; border-bottom: 1px solid var(--lp-line); font-size: 15px; }
.legprm-history li:last-child { border-bottom: 0; }
.legprm-history a { color: var(--primary-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.legprm-history a[aria-current="page"] { color: var(--lp-ink); font-weight: 800; text-decoration: none; }
.legprm-history small { color: var(--lp-muted); font-size: 14px; font-variant-numeric: tabular-nums; }

/* ---------- okuma ilerlemesi (yalniz CSS, kaydirma olayi yok) + basa don ---------- */
.legprm-progress { display: none; }
@supports (animation-timeline: scroll()) {
    .legprm-progress {
        display: block; position: fixed; top: 0; inset-inline: 0; z-index: 1002; height: 3px; background: var(--primary);
        transform: scaleX(0); transform-origin: 0 50%;
        animation: legprm-grow linear both; animation-timeline: scroll(root);
    }
    [dir="rtl"] .legprm-progress { transform-origin: 100% 50%; }
}
@keyframes legprm-grow { to { transform: scaleX(1); } }

.legprm-top {
    position: fixed; inset-inline-end: 20px; bottom: 20px; z-index: 900; width: 48px; height: 48px;
    display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px;
    background: var(--primary-dark); color: #fff; font-size: 15px; cursor: pointer;
    box-shadow: 0 6px 20px rgba(16, 51, 29, .22); transition: background-color .2s, transform .2s;
}
.legprm-top[hidden] { display: none; }
.legprm-top:hover { background: var(--primary); }
.legprm-top:active { transform: translateY(1px); }
.legprm .legprm-top:focus-visible { outline-color: var(--primary); outline-offset: 3px; }

/* ---------- dar ekran ---------- */
@media (max-width: 900px) {
    .legprm { --lp-anchor: 140px; }
    .legprm-layout { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
    .legprm-toc {
        top: 60px; z-index: 5; max-height: none; overflow: visible; margin-inline: -16px; padding: 8px 16px;
        background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--lp-line);
    }
    .legprm-toc summary {
        position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; margin: 0;
        padding-inline: 16px; border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); background: #fff;
        pointer-events: auto; cursor: pointer;
    }
    .legprm-toc summary::after {
        content: ""; flex: 0 0 9px; width: 9px; height: 9px; margin-inline-end: 3px;
        border-inline-end: 2px solid var(--primary); border-bottom: 2px solid var(--primary); transform: rotate(45deg) translate(-2px, -2px);
        transition: transform .25s cubic-bezier(.16, 1, .3, 1);
    }
    .legprm-toc details[open] summary::after { transform: rotate(225deg) translate(-2px, -2px); }
    .legprm-toc-list {
        position: absolute; inset-inline: 16px; top: calc(100% - 4px); z-index: 6; max-height: 60vh; overflow-y: auto;
        padding: 8px; border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); background: #fff; box-shadow: 0 14px 36px rgba(16, 51, 29, .16);
    }
    .legprm-toc-list a { min-height: 44px; }
    .legprm-main { max-width: none; }
    .legprm-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
    .legprm .legprm-doc { font-size: 16.5px; line-height: 1.75; hyphens: manual; }
    .legprm-card { padding: 16px; gap: 14px; }
    .legprm-dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .legprm-dl dd { margin-bottom: 10px; }
    .legprm-top { inset-inline-end: 14px; bottom: 14px; }
    .legprm .legprm-print { margin-inline-start: 0; }
}

@media (prefers-reduced-motion: no-preference) {
    html:has(.legprm) { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
    .legprm *, .legprm *::before, .legprm *::after { transition: none !important; }
}

/* ---------- yazdir / PDF ---------- */
@media print {
    body > :not(main) { display: none !important; }
    .legprm { margin: 0; color: #000; }
    .legprm-head { background: none; border: 0; padding: 0 0 12px; border-bottom: 1px solid #999; }
    .legprm-body { padding: 16px 0 0; }
    .legprm-back, .legprm-print, .legprm-toc, .legprm-top, .legprm-progress { display: none !important; }
    .legprm-head h1 { font-size: 24pt; color: #000; letter-spacing: 0; }
    .legprm-version { color: #000; }
    .legprm-layout { display: block; }
    .legprm-main, .legprm .legprm-doc, .legprm-info { max-width: none; }
    .legprm .legprm-doc { font-size: 11.5pt; line-height: 1.55; color: #000; hyphens: manual; }
    .legprm .legprm-doc * { color: #000 !important; }
    .legprm .legprm-doc h2, .legprm .legprm-doc h3, .legprm .legprm-doc h4, .legprm .legprm-doc h5 { break-after: avoid; }
    .legprm .legprm-doc h3 { border-top: 0; padding-top: 0; font-size: 15pt; margin-top: 1.4em; }
    .legprm .legprm-doc h4 { font-size: 12.5pt; }
    .legprm .legprm-doc p, .legprm .legprm-doc li, .legprm .legprm-doc blockquote, .legprm .legprm-doc tr { break-inside: avoid; }
    .legprm .legprm-doc a { text-decoration: underline; }
    .legprm .legprm-doc li::marker { color: #000; }
    .legprm .legprm-doc blockquote { background: none; border-inline-start-color: #000; }
    .legprm-tablewrap { overflow: visible; border-color: #999; }
    .legprm .legprm-doc table { min-width: 0; }
    .legprm .legprm-doc th { background: none; border-bottom: 1px solid #000; }
    .legprm-note { display: none; }
    .legprm-info { margin-top: 24px; padding: 12px 0 0; border: 0; border-top: 1px solid #999; border-radius: 0; background: none; break-inside: avoid; }
    .legprm-info * { color: #000 !important; }
}


/* ==== LGADM.css ==== */
/* LEGAL-ADMIN — admin/legal-version.php tek sayfa calisma alani (belge bilgisi, dil listesi, kaynak/ceviri
   yan yana, Gemini ceviri cubugu). Tum kurallar .lgadm ile kapsamli. Onizleme LEGPRM'in .legprm .legprm-doc
   kurallarini kullanir; burada yalniz admin icin olcu ve bosluk duzeltilir. Mantiksal ozellikler (RTL). */

.lgadm {
    --la-line: #d6e3d9;
    --la-tint: #f1f6f2;
    --la-ink: var(--dark, #141a15);
    --la-muted: #5b675f;
    --la-ok: #1e6b34;
    --la-ready: #1d5fa8;
    --la-stale: #9a5b00;
    --la-err: #b42318;
    display: flex; flex-direction: column; gap: 16px; min-width: 0;
}
.lgadm .admin-card { border: 1px solid var(--la-line); box-shadow: none; min-width: 0; }

/* ---------- ust bilgi ---------- */
.lgadm-head { display: flex; flex-wrap: wrap; gap: 16px 24px; justify-content: space-between; align-items: flex-start; padding: 20px 22px; }
.lgadm-head-main { min-width: 0; flex: 1 1 420px; }
.lgadm-back { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--primary-dark); text-decoration: none; min-height: 32px; }
.lgadm-back:hover { text-decoration: underline; text-underline-offset: 3px; }
[dir="rtl"] .lgadm-back i { transform: scaleX(-1); }
.lgadm-title { margin: 2px 0 8px; font-size: clamp(20px, 2.2vw, 26px); font-weight: 800; line-height: 1.2; color: var(--la-ink); overflow-wrap: anywhere; letter-spacing: -0.01em; }
.lgadm-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 14px; }
.lgadm-ver { font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--la-tint); border: 1px solid var(--la-line); color: var(--la-ink); font-variant-numeric: tabular-nums; }
.lgadm-meta { display: flex; flex-wrap: wrap; gap: 10px 36px; margin: 0 0 12px; }
.lgadm-meta div { min-width: 0; }
.lgadm-meta dt { font-size: 12px; color: var(--la-muted); margin-bottom: 2px; }
.lgadm-meta dd { margin: 0; font-size: 14px; font-weight: 600; color: var(--la-ink); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.lgadm-meta code { font-size: 13px; }
.lgadm-num { font-size: 16px; }
.lgadm-places { display: flex; flex-wrap: wrap; gap: 2px; }
.lgadm-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lgadm-inline { display: inline; margin: 0; }
.lgadm-note { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.lgadm-note > i { margin-top: 3px; }

/* ---------- ceviri cubugu ---------- */
.lgadm-tr { padding: 14px 18px; display: flex; flex-direction: column; gap: 10px; }
.lgadm-tr-row { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; }
.lgadm-tr-title { display: flex; gap: 10px; align-items: flex-start; min-width: 0; flex: 1 1 280px; }
.lgadm-tr-title > i { color: var(--primary); font-size: 18px; margin-top: 2px; }
.lgadm-tr-title strong { display: block; color: var(--la-ink); }
.lgadm-tr-title small { display: block; line-height: 1.4; }
.lgadm-tr-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.lgadm-tr-btns .btn[disabled] { opacity: .5; cursor: not-allowed; }
.lgadm-count { font-variant-numeric: tabular-nums; opacity: .85; }
.lgadm-tr-off { margin: 0; font-size: 13px; line-height: 1.6; color: var(--la-muted); }
.lgadm-tr-off i { margin-inline-end: 4px; }
.lgadm-tr-off a { font-weight: 600; color: var(--primary-dark); }
.lgadm-progress { display: flex; align-items: center; gap: 12px; }
.lgadm-progress[hidden] { display: none; }
.lgadm-bar { flex: 1 1 auto; height: 8px; border: 0; border-radius: 999px; background: var(--la-tint); overflow: hidden; appearance: none; -webkit-appearance: none; }
.lgadm-bar::-webkit-progress-bar { background: var(--la-tint); border-radius: 999px; }
.lgadm-bar::-webkit-progress-value { background: var(--primary); border-radius: 999px; transition: width .3s ease; }
.lgadm-bar::-moz-progress-bar { background: var(--primary); border-radius: 999px; }
.lgadm-progress-text { font-size: 13px; font-weight: 600; color: var(--la-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ---------- dil listesi ---------- */
.lgadm-langs { display: flex; flex-wrap: wrap; gap: 6px; }
.lgadm-lang {
    position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 4px 10px;
    border: 1px solid var(--la-line); border-radius: 8px; background: #fff; color: var(--la-ink);
    font-size: 12.5px; font-weight: 700; text-decoration: none; letter-spacing: .02em;
}
.lgadm-lang:hover { border-color: var(--primary); }
.lgadm-lang:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.lgadm-lang[aria-current="true"] { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.lgadm-lang.is-none { color: var(--la-muted); border-style: dashed; }
.lgadm-lang[aria-current="true"].is-none { color: #fff; }
.lgadm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gray-400, #bdc1c6); flex: none; }
.is-source .lgadm-dot { background: var(--primary-dark); border-radius: 2px; }
.is-saved .lgadm-dot { background: var(--la-ok); }
.is-ready .lgadm-dot { background: var(--la-ready); }
.is-stale .lgadm-dot { background: #e0a100; }
.is-error .lgadm-dot { background: var(--la-err); }
.is-none .lgadm-dot { background: transparent; border: 1.5px solid var(--gray-400, #bdc1c6); }
.is-running .lgadm-dot, .is-queued .lgadm-dot, .is-saving .lgadm-dot { background: var(--la-ready); animation: lgadm-pulse 1s ease-in-out infinite; }
.lgadm-lang[aria-current="true"] .lgadm-dot { box-shadow: 0 0 0 2px #fff; }
.lgadm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lgadm-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: -8px 0 0; font-size: 12px; color: var(--la-muted); }
.lgadm-legend > span { display: inline-flex; align-items: center; gap: 5px; }

/* ---------- calisma alani ---------- */
.lgadm-work-head { gap: 10px; flex-wrap: wrap; }
.lgadm-work-head h2 { margin: 0; font-size: 16px; font-weight: 700; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--la-ink); }
.lgadm-code { display: inline-block; min-width: 34px; padding: 2px 7px; border-radius: 6px; background: var(--la-tint); border: 1px solid var(--la-line); font-size: 12px; font-weight: 800; text-align: center; }
.lgadm-seg { display: inline-flex; border: 1px solid var(--la-line); border-radius: 8px; overflow: hidden; }
.lgadm-seg-btn { border: 0; background: #fff; padding: 7px 12px; font: inherit; font-size: 13px; font-weight: 600; color: var(--la-muted); cursor: pointer; min-height: 36px; }
.lgadm-seg-btn + .lgadm-seg-btn { border-inline-start: 1px solid var(--la-line); }
.lgadm-seg-btn[aria-selected="true"] { background: var(--primary-light, #eef7f0); color: var(--primary-dark); }
.lgadm-seg-btn:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }
.lgadm [hidden] { display: none !important; }

/* Onizleme: LEGPRM metin stili, admin olcusu */
.lgadm .lgadm-legprm { margin: 0; color: var(--lp-text, #3f4a43); }
.lgadm .lgadm-legprm .legprm-doc { max-width: 76ch; font-size: 15.5px; line-height: 1.7; }
.lgadm .lgadm-legprm .legprm-doc h3 { font-size: 19px; margin: 1.6em 0 .5em; padding-top: .9em; }
.lgadm .lgadm-legprm .legprm-doc h4 { font-size: 16.5px; }
.lgadm .lgadm-legprm .legprm-doc h2 { font-size: 21px; }
.lgadm-doc-title { margin: 0 0 14px; font-size: 22px; font-weight: 800; line-height: 1.25; color: var(--la-ink); overflow-wrap: anywhere; }
.lgadm-hash { margin: 14px 0 0; font-size: 12px; color: var(--la-muted); overflow-wrap: anywhere; }
.lgadm-hash code { font-size: 11px; }
.lgadm-empty { text-align: center; padding: 28px 12px; color: var(--la-muted); }
.lgadm-empty i { font-size: 32px; color: var(--gray-300, #dadce0); }
.lgadm-empty p { margin: 10px auto 0; max-width: 46ch; }

/* Ana dil duzenleyici */
.lgadm-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.lgadm-editor textarea, .lgadm-ta {
    width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.55;
    min-height: 460px; resize: vertical; border: 1px solid var(--la-line); border-radius: 10px; padding: 12px;
}
.lgadm-ta { min-height: 160px; }
.lgadm-live { border: 1px solid var(--la-line); border-radius: 10px; padding: 14px 16px; max-height: 640px; overflow: auto; background: #fff; }
.lgadm-help { display: block; margin-top: 8px; color: var(--la-muted); line-height: 1.8; }
.lgadm-foot { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 14px; }

/* Kaynak / ceviri yan yana */
.lgadm-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.lgadm-col-body { min-width: 0; }
.lgadm-raw { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; line-height: 1.55; color: var(--la-ink); }
.lgadm-state { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--la-tint); color: var(--la-muted); white-space: nowrap; }
.lgadm-state.is-saved { background: #e6f4ea; color: var(--la-ok); }
.lgadm-state.is-ready, .lgadm-state.is-running, .lgadm-state.is-queued, .lgadm-state.is-saving { background: #e8f0fb; color: var(--la-ready); }
.lgadm-state.is-stale { background: #fef7e0; color: var(--la-stale); }
.lgadm-state.is-error { background: #fdecea; color: var(--la-err); }
.lgadm-livebox { margin-top: 4px; border: 1px solid var(--la-line); border-radius: 10px; padding: 12px 14px; background: var(--la-tint); }
.lgadm-livebox .lgadm-legprm { background: #fff; border-radius: 8px; padding: 12px 14px; }
.lgadm-live-h { font-size: 12px; font-weight: 700; color: var(--la-muted); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .04em; }
.lgadm-warn, .lgadm-err { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; font-size: 13.5px; line-height: 1.5; }
.lgadm-warn { background: #fef7e0; color: #6b4300; }
.lgadm-err { background: #fdecea; color: #8a1c12; }
.lgadm-warn ul, .lgadm-err ul { margin: 6px 0 0; padding-inline-start: 18px; }
.lgadm-wait { display: flex; align-items: center; gap: 10px; padding: 14px 0; color: var(--la-ink); font-weight: 600; }
.lgadm-spin { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid var(--la-line); border-top-color: var(--primary); animation: lgadm-rot .8s linear infinite; flex: none; }

/* Alt kartlar */
.lgadm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; align-items: start; }
.lgadm-diffcard summary { cursor: pointer; font-weight: 600; margin-bottom: 10px; }

@keyframes lgadm-rot { to { transform: rotate(360deg); } }
@keyframes lgadm-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) {
    .lgadm-spin, .lgadm .lgadm-dot { animation: none !important; }
    .lgadm-bar::-webkit-progress-value { transition: none; }
}

@media (max-width: 1100px) {
    .lgadm-pair, .lgadm-editor { grid-template-columns: minmax(0, 1fr); }
    .lgadm-live { max-height: 420px; }
}
@media (max-width: 600px) {
    .lgadm-head { padding: 16px; }
    .lgadm-tr { padding: 12px; }
    .lgadm-tr-btns .btn { flex: 1 1 auto; }
    .lgadm-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
    .lgadm .lgadm-legprm .legprm-doc { font-size: 15px; }
    .lgadm-editor textarea { min-height: 320px; }
}

/* LEGAL-ADMIN: admin/legal.php "Metni gor / Cevir" kisayolu ve dil kapsami */
.lgadm-cov { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-700, #5f6368); font-variant-numeric: tabular-nums; }
.lgadm-cov progress { width: 56px; height: 6px; border: 0; border-radius: 999px; background: #f1f6f2; appearance: none; -webkit-appearance: none; overflow: hidden; }
.lgadm-cov progress::-webkit-progress-bar { background: #f1f6f2; }
.lgadm-cov progress::-webkit-progress-value { background: var(--primary); }
.lgadm-cov progress::-moz-progress-bar { background: var(--primary); }
.lgadm-golink { margin-top: 6px; white-space: nowrap; }


/* ==== LGPL.css ==== */
/* LEGAL-CORE: sozlesme onay bileseni (includes/mo/legal-consent.php), belge modali, profil izinleri, admin yerlesim ayarlari. */

.lgpl {
    --lgpl-line: #d6e3d9;
    --lgpl-tint: #f1f6f2;
    --lgpl-text: #4a554e;
    --lgpl-muted: #566259;
    display: flex; flex-direction: column; gap: 4px; margin: 0 0 16px; min-width: 0;
    text-align: start;
}
.lgpl + .lgpl { margin-top: 4px; padding-top: 14px; border-top: 1px dashed var(--lgpl-line); }
.lgpl-head { margin: 0 0 6px; display: flex; flex-direction: column; gap: 2px; line-height: 1.4; }
.lgpl-head strong { font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-size: 15px; font-weight: 800; color: var(--dark, #14231a); }
.lgpl-head small { font-size: 13px; color: var(--lgpl-muted); }

.lgpl-item { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 8px 0; }
.lgpl-item input[type="checkbox"] {
    width: 22px !important; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--primary, #32834a); cursor: pointer;
}
.lgpl-item input[type="checkbox"]:focus-visible { outline: 3px solid var(--primary, #32834a); outline-offset: 3px; }
.lgpl-item label { margin: 0; font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--lgpl-text); cursor: pointer; overflow-wrap: anywhere; }
.lgpl a { color: var(--primary-dark, #1f5c33); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.lgpl a:hover { color: var(--primary, #32834a); text-decoration-thickness: 2px; }

.lgpl-info {
    display: flex; align-items: flex-start; gap: 10px; margin: 4px 0; padding: 10px 12px;
    background: var(--lgpl-tint); border-radius: 10px; font-size: 14px; line-height: 1.5; color: var(--lgpl-text);
}
.lgpl-info > i { color: var(--primary, #32834a); margin-top: 3px; flex-shrink: 0; }

.lgpl-guardian { display: flex; flex-direction: column; gap: 6px; margin: 0 0 6px; }
.lgpl-guardian label { font-size: 14px; font-weight: 700; color: var(--dark, #14231a); }
.lgpl-guardian input {
    width: 100%; min-height: 46px; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--dark, #14231a);
    background: #fff; border: 1.5px solid #7a9281; border-radius: 8px;
}
.lgpl-guardian input:focus { border-color: var(--primary, #32834a); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22); outline: none; }

/* Isteğe bagli rizalar: zorunlu onaylardan gorsel olarak ayri (Hukuki Metinler, Bolum 18) */
.lgpl-optional { margin: 10px 0 0; padding: 12px 14px 4px; border: 1px solid var(--lgpl-line); border-radius: 10px; min-width: 0; }
.lgpl-optional legend { padding: 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--lgpl-muted); }
.lgpl-optional-hint { margin: 0 0 4px; font-size: 13px; line-height: 1.5; color: var(--lgpl-muted); }

.has-error .lgpl-item--req label { color: #7f1d1d; }

/* Belge modali */
html.lgpl-lock { overflow: hidden; }
.lgpl-modal {
    width: min(760px, calc(100vw - 24px)); max-height: min(86vh, 900px); padding: 0; border: 1px solid #d6e3d9; border-radius: 16px;
    background: #fff; color: var(--dark, #14231a); box-shadow: 0 30px 60px -20px rgba(16, 51, 29, .45);
    display: none; flex-direction: column; overflow: hidden;
}
.lgpl-modal[open] { display: flex; }
.lgpl-modal::backdrop { background: rgba(10, 25, 15, .55); }
.lgpl-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 4px; }
.lgpl-modal-title { margin: 0; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.lgpl-modal-x {
    flex-shrink: 0; width: 40px; height: 40px; border: 1px solid #d6e3d9; border-radius: 8px; background: #fff;
    font-size: 24px; line-height: 1; color: #4a554e; cursor: pointer;
}
.lgpl-modal-x:hover { background: #f1f6f2; }
.lgpl-modal-x:focus-visible, .lgpl-modal-ok:focus-visible { outline: 3px solid var(--primary, #32834a); outline-offset: 2px; }
.lgpl-modal-meta { margin: 0; padding: 0 20px 12px; font-size: 13px; color: #566259; font-variant-numeric: tabular-nums; border-bottom: 1px solid #d6e3d9; }
.lgpl-modal-meta:empty { padding-bottom: 8px; }
.lgpl-modal-body { flex: 1 1 auto; overflow: auto; padding: 16px 20px; font-size: 15px; line-height: 1.65; overscroll-behavior: contain; }
.lgpl-modal-body:focus-visible { outline: 2px solid var(--primary, #32834a); outline-offset: -2px; }
.lgpl-modal-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    padding: 12px 20px; border-top: 1px solid #d6e3d9; background: #f1f6f2;
}
.lgpl-modal-tab { font-size: 14px; font-weight: 600; color: var(--primary-dark, #1f5c33); }
.lgpl-modal-ok { min-height: 44px; border-radius: 8px; }
@media (max-width: 520px) {
    .lgpl-modal { width: 100vw; max-width: 100vw; max-height: 92vh; border-radius: 16px 16px 0 0; margin: auto 0 0; }
    .lgpl-modal-ok { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: no-preference) {
    .lgpl-modal[open] { animation: lgpl-in .18s ease-out; }
    @keyframes lgpl-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

/* Sinav baslangici: bilesen form icinde, dugmenin ustunde */
.exst-form .lgpl, .f7-entry-form .lgpl { margin: 4px 0 14px; padding: 12px 14px 4px; background: #f1f6f2; border: 1px solid #d6e3d9; border-radius: 10px; }
.exst-form .lgpl { grid-column: 1 / -1; margin: 0; background: #fff; }

/* Profil > Izinlerim (profile_top slotu, hesap kartinin sonunda) */
.lgpl-prof { margin-top: 18px; padding-top: 18px; border-top: 1px solid #d6e3d9; }
.lgpl-prof-title { margin: 0 0 4px; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-size: 16px; font-weight: 800; }
.lgpl-prof-desc { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: #566259; }
.lgpl-prof .lgpl-item { border-bottom: 1px solid #edf3ef; }
.lgpl-prof-state { display: block; margin-top: 2px; font-size: 12.5px; color: #566259; font-variant-numeric: tabular-nums; }
.lgpl-prof-state.is-on { color: var(--primary-dark, #1f5c33); font-weight: 600; }
.lgpl-prof-actions { margin-top: 12px; }
.lgpl-prof .alert { margin: 0 0 10px; }

/* Admin: belge duzenleme > yerlesim tablosu, yerlesim haritasi */
.lgpl-adm-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lgpl-adm-table th, .lgpl-adm-table td { padding: 8px 6px; border-bottom: 1px solid var(--gray-200, #e5e7eb); text-align: start; vertical-align: middle; }
.lgpl-adm-table th { font-size: 12px; font-weight: 700; color: var(--gray-600, #6b7280); }
.lgpl-adm-table select, .lgpl-adm-table input[type="number"] { padding: 6px 8px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; max-width: 100%; }
.lgpl-adm-table input[type="number"] { width: 84px; }
.lgpl-adm-table small { display: block; color: var(--gray-500, #6b7280); font-size: 12px; }
.lgpl-adm-table tr.is-off select, .lgpl-adm-table tr.is-off input[type="number"] { opacity: .45; }
.lgpl-adm-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.lgpl-adm-map .admin-card { margin: 0; min-width: 0; }
.lgpl-adm-map ol { margin: 0; padding-inline-start: 20px; }
.lgpl-adm-map li { margin: 6px 0; overflow-wrap: anywhere; }
.lgpl-adm-warn { list-style: none; margin: 10px 0 0; padding: 8px 10px; background: #fef7e0; border-radius: 6px; font-size: 13px; color: #6b4600; }
.lgpl-adm-warn li { margin: 3px 0; }
.lgpl-adm-ok { margin: 10px 0 0; font-size: 13px; color: #1e6b34; }
.lgpl-adm-wired { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px; background: #e6f4ea; color: #1e6b34; white-space: nowrap; }
.lgpl-adm-wired.is-no { background: var(--gray-100, #f3f4f6); color: var(--gray-600, #6b7280); }
@media (max-width: 640px) {
    .lgpl-adm-map { grid-template-columns: minmax(0, 1fr); }
    .lgpl-adm-table thead { display: none; }
    .lgpl-adm-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--gray-200, #e5e7eb); }
    .lgpl-adm-table td { border: 0; padding: 2px 0; }
    .lgpl-adm-table td:first-child { grid-column: 1 / -1; }
}

/* Odeme sayfasi: siparis ozeti (opts['order']) */
.lgpl-order { margin: 0 0 8px; padding: 10px 12px; border: 1px solid #d6e3d9; border-radius: 10px; background: #fff; }
.lgpl-order-title { margin: 0 0 6px; font-size: 13px; font-weight: 700; color: #566259; }
.lgpl-order dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 14px; margin: 0; font-size: 14px; }
.lgpl-order dt { color: #566259; }
.lgpl-order dd { margin: 0; color: var(--dark, #14231a); font-weight: 600; overflow-wrap: anywhere; }
.lgpl-num { font-variant-numeric: tabular-nums; }
.f7-entry-form .lgpl-item label, .exst-form .lgpl-item label { font-weight: 400; font-size: 15px; }


/* ==== LGPRM.css ==== */
/* LGPRM - giris sayfasi (public/login.php) premium duzeni.
   Tum kurallar .lgprm kokuyle kapsamli: AUTH.css'i kullanan register.php ve diger auth sayfalari etkilenmez.
   AUTH.css'e dokunulmaz; ayni ozelligi ezmek icin `.lgprm .x` (daha yuksek ozgullukte) yazilir.
   Yon: ana sayfa (HOMEPRM.css) ile ayni "akademik hassasiyet" dili: marka yesili + beyaz + soguk yesil-gri zemin,
   Manrope basliklar + DM Sans metin, sekil kilidi (kart 16px, ic kutu 10px, buton/alan 8px).
   Gradient yazi yok, kart icinde kart yok, tek hareket: panel spirali bir kez cizilir (prefers-reduced-motion'a uyar).
   Mantiksal ozellikler (inline-start/end) kullanilir: RTL (ar, fa, ur) kendiliginden aynalanir.

   YENIDEN KULLANIM (register.php vb.): asagidaki bolumler sinifa bagli degil, bilesen kalibidir:
     [A] Degiskenler (.lgprm)            [B] Sayfa + kabuk (.lgprm-shell)     [C] Form paneli (.lgprm-head, .lgprm-form-panel)
     [D] Mentor seridi                   [E] Alan/etiket/hata (.lgprm-field)  [F] Gonder dugmesi + alt satir (.lgprm-foot)
     [G] Marka paneli (.lgprm-panel, .lgprm-spiral, .lgprm-list, .lgprm-stats)   [H] Mobil   [I] Hareket
   Baska sayfa kullanacaksa kok sinifi degistirip bu dosyayi ortak AUTHPRM.css'e tasimak yeterli. */

/* ---------- [A] degiskenler ---------- */
.lgprm {
    --lg-tint: #f1f6f2;          /* soguk yesil-gri zemin (sayfa) */
    --lg-line: #d6e3d9;          /* ince cizgi */
    --lg-field-line: #7a9281;    /* alan kenari: beyazda >= 3:1 (WCAG 1.4.11) */
    --lg-ink: var(--dark);
    --lg-text: #4a554e;          /* beyazda ~7.9:1 */
    --lg-r: 16px;
    --lg-r-sm: 10px;
    --lg-r-btn: 8px;
    --lg-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --lg-panel: #10331d;
    --lg-on-dark: #cfe3d5;
    --lg-on-dark-key: #a8dbb7;
    --lg-danger: #b3261e;        /* beyazda ~6.5:1 */
}

/* dokunmatik: cift dokunma yakinlastirma gecikmesi yok; basliklarda dengeli satir kirilimi */
.lgprm a, .lgprm button, .lgprm label, .lgprm input { touch-action: manipulation; }
.lgprm .lgprm-title, .lgprm .lgprm-panel h2 { text-wrap: balance; }

/* ---------- [B] sayfa + kabuk ---------- */
.lgprm.auth-section {
    background: var(--lg-tint);
    padding: clamp(24px, 4vw, 56px) 0;
    box-shadow: 0 72px 0 0 var(--lg-tint); /* alt bilgi (.ftr) 72px ust bosluk koyar; zemin rengi ona kadar uzansin */
    min-height: calc(100vh - 200px);
}
.lgprm .lgprm-shell {
    display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); align-items: stretch;
    max-width: 1080px; margin-inline: auto;
    background: #fff; border: 1px solid var(--lg-line); border-radius: var(--lg-r); overflow: hidden;
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35);
}

/* ---------- [C] form paneli ---------- */
.lgprm .lgprm-form-panel {
    display: flex; flex-direction: column; justify-content: center;
    padding: clamp(28px, 4vw, 56px) clamp(22px, 4vw, 52px);
}
.lgprm .lgprm-head { text-align: start; margin: 0 0 24px; }
.lgprm .lgprm-title {
    margin: 0; font-family: var(--lg-display); font-weight: 800; color: var(--lg-ink);
    font-size: clamp(28px, 3vw, 36px); line-height: 1.12; letter-spacing: -0.03em;
}
.lgprm .lgprm-lead { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--lg-text); }

/* ---------- [D] "Mentor olarak kaydol" seridi (formun ustunde, belirgin) ---------- */
.lgprm .mo-mentor-register-link {
    display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding: 12px 16px; min-height: 56px;
    background: var(--lg-tint); border: 1px solid var(--lg-line); border-inline-start: 3px solid var(--primary);
    border-radius: var(--lg-r-sm); color: var(--lg-ink); font-size: 14.5px; line-height: 1.45;
}
.lgprm .mo-mentor-register-link > i { font-size: 20px; color: var(--primary); }
.lgprm .mo-mentor-register-link a {
    display: inline-block; padding-block: 8px; margin-block: -8px; /* dokunma alani >= 44px, satir yuksekligi sabit */
    font-weight: 700; color: var(--primary-dark); text-underline-offset: 3px;
}
.lgprm .mo-mentor-register-link a::after { content: "\2192"; display: inline-block; margin-inline-start: 6px; transition: transform 0.2s ease; }
[dir="rtl"] .lgprm .mo-mentor-register-link a::after { content: "\2190"; }
.lgprm .mo-mentor-register-link a:hover::after { transform: translateX(3px); }
[dir="rtl"] .lgprm .mo-mentor-register-link a:hover::after { transform: translateX(-3px); }

/* hata kutusu */
.lgprm .alert-danger {
    display: flex; gap: 10px; align-items: flex-start; margin: 0 0 20px; padding: 12px 14px;
    background: #fdf0ee; color: #8c1d18; border: 1px solid #f0c4bf; border-inline-start: 3px solid var(--lg-danger);
    border-radius: var(--lg-r-sm); font-size: 14.5px; line-height: 1.45;
}
.lgprm .alert-danger i { margin-top: 2px; color: var(--lg-danger); }

/* ---------- [E] alan / etiket / hata ---------- */
.lgprm .lgprm-form { margin: 0; }
.lgprm .lgprm-field { margin-bottom: 20px; }
.lgprm .lgprm-field label {
    display: block; margin: 0 0 8px; font-size: 14px; font-weight: 700; color: var(--lg-ink);
}
.lgprm .lgprm-field input {
    width: 100%; min-height: 48px; padding: 0 14px; font-size: 16px; /* 16px: iOS yakinlastirmasi olmaz */
    color: var(--lg-ink); background: #fff; border: 1.5px solid var(--lg-field-line); border-radius: var(--lg-r-btn);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.lgprm .lgprm-field input::placeholder { color: #66716a; opacity: 1; }
.lgprm .lgprm-field input:hover { border-color: var(--primary-dark); }
.lgprm .lgprm-field input:focus,
.lgprm .lgprm-field input:focus-visible {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22);
}
.lgprm .lgprm-field.has-error input { border-color: var(--lg-danger); }
.lgprm .lgprm-field.has-error input:focus,
.lgprm .lgprm-field.has-error input:focus-visible { box-shadow: 0 0 0 4px rgba(179, 38, 30, 0.2); }
.lgprm .authx-field-error { margin-top: 8px; font-size: 14px; font-weight: 600; color: var(--lg-danger); }

/* sifre goster/gizle: 44x44 dokunma alani, satir sonunda */
.lgprm .password-input input { padding-inline-end: 52px; }
.lgprm .password-toggle {
    position: absolute; top: 50%; transform: translateY(-50%);
    right: auto; left: auto; inset-inline-end: 2px;
    width: 44px; height: 44px; border-radius: var(--lg-r-btn); color: var(--lg-text);
}
.lgprm .password-toggle:hover { background: var(--lg-tint); color: var(--lg-ink); }
.lgprm .password-toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; box-shadow: none; }

/* beni hatirla + sifremi unuttum */
.lgprm .lgprm-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 16px; margin: -4px 0 20px; }
.lgprm .lgprm-row .checkbox-label {
    align-items: center; gap: 10px; min-height: 44px; padding: 0; font-size: 15px; color: var(--lg-text);
}
.lgprm .lgprm-row .checkbox-label input { width: 20px; height: 20px; margin: 0; }
.lgprm .lgprm-row .form-link {
    min-height: 44px; padding: 0; font-size: 15px; font-weight: 600; color: var(--primary-dark);
    text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.lgprm .lgprm-row .form-link:hover { color: var(--primary); text-decoration-thickness: 2px; }
.lgprm .lgprm-row input:focus-visible,
.lgprm .lgprm-row a:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; box-shadow: none; border-radius: 4px; }

/* ---------- [F] gonder dugmesi + alt satir ---------- */
.lgprm .authx-submit {
    min-height: 52px; padding: 0 24px; border-radius: var(--lg-r-btn);
    font-size: 16px; font-weight: 700; letter-spacing: 0;
    transition: background-color 0.15s ease, transform 0.1s ease, opacity 0.15s ease;
}
.lgprm .authx-submit:active { transform: translateY(1px); }
.lgprm .authx-submit:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; box-shadow: none; }
.lgprm .authx-submit.is-loading { opacity: 0.9; cursor: progress; }

.lgprm .lgprm-foot {
    margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--lg-line);
    display: block; text-align: start; font-size: 15px; color: var(--lg-text);
}
.lgprm .lgprm-foot p { margin: 0; }
.lgprm .lgprm-foot a {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; margin-inline-start: 4px;
    font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.lgprm .lgprm-foot a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.lgprm .lgprm-foot a:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; box-shadow: none; border-radius: 4px; }

/* ---------- [G] marka paneli ---------- */
.lgprm .lgprm-panel {
    position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center;
    padding: clamp(36px, 5vw, 68px); background: var(--lg-panel); color: #fff;
}
.lgprm .lgprm-panel-body { position: relative; z-index: 1; width: 100%; max-width: 440px; padding-inline-end: 0; text-align: start; }
.lgprm .lgprm-panel h2 {
    margin: 0 0 16px; font-family: var(--lg-display); font-weight: 800; color: #fff;
    font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: -0.03em;
}
.lgprm .lgprm-panel p { margin: 0; max-width: 40ch; font-size: 17px; line-height: 1.6; color: var(--lg-on-dark); }

/* Fibonacci spirali: ana sayfa hero'sundaki cizim, burada soluk dekor (icerik uzerinde okunurlugu bozmaz) */
.lgprm .lgprm-spiral {
    position: absolute; z-index: 0; pointer-events: none; color: rgba(255, 255, 255, 0.11);
    width: min(520px, 110%); height: auto; aspect-ratio: 1;
    inset-inline-end: -30%; bottom: -34%;
}
[dir="rtl"] .lgprm .lgprm-spiral { transform: scaleX(-1); }
.lgprm .lgprm-spiral path { stroke-dasharray: 1; stroke-dashoffset: 0; }

.lgprm .lgprm-list { margin: 28px 0 0; padding: 0; list-style: none; display: block; text-align: start; }
.lgprm .lgprm-list li {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px 0;
    font-size: 16px; line-height: 1.4; font-weight: 600; color: #fff;
}
.lgprm .lgprm-list li + li { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.lgprm .lgprm-list i { margin-top: 2px; font-size: 16px; color: var(--mint); }

.lgprm .lgprm-stats {
    display: flex; gap: 0; margin: 28px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.lgprm .lgprm-stats .auth-stat { padding-inline: 0 24px; text-align: start; }
.lgprm .lgprm-stats .auth-stat + .auth-stat { padding-inline: 24px; border-inline-start: 1px solid rgba(255, 255, 255, 0.18); }
.lgprm .lgprm-stats strong {
    display: block; font-family: var(--lg-display); font-weight: 800; font-size: clamp(26px, 2.6vw, 34px);
    line-height: 1; letter-spacing: -0.03em; color: #fff; font-variant-numeric: tabular-nums;
}
.lgprm .lgprm-stats span { display: block; margin-top: 8px; font-size: 14px; line-height: 1.3; color: var(--lg-on-dark-key); }

/* ---------- [H] mobil: form ustte, tanitim paneli formdan sonra ---------- */
@media (max-width: 900px) {
    .lgprm.auth-section { padding: 16px 0 40px; min-height: 0; }
    .lgprm .lgprm-shell {
        grid-template-columns: minmax(0, 1fr); grid-template-areas: "card" "side";
        width: calc(100% - 24px); max-width: 560px; margin-inline: auto;
        box-shadow: 0 18px 36px -24px rgba(16, 51, 29, 0.32);
    }
    .lgprm .lgprm-form-panel { grid-area: card; justify-content: flex-start; padding: 28px 20px 24px; }
    .lgprm .lgprm-panel { grid-area: side; padding: 32px 20px 28px; }
    .lgprm .lgprm-panel-body { max-width: none; padding-inline-end: 0; }
    .lgprm .lgprm-panel h2 { font-size: 26px; margin-bottom: 12px; }
    .lgprm .lgprm-panel p { display: block; font-size: 16px; }
    .lgprm .lgprm-list { display: block; margin-top: 20px; }
    .lgprm .lgprm-list li { padding: 12px 0; }
    .lgprm .lgprm-stats { display: flex; margin-top: 20px; padding-top: 20px; }
    .lgprm .lgprm-spiral { width: 380px; inset-inline-end: -34%; bottom: -26%; }
    .lgprm .lgprm-head { margin-bottom: 20px; }
}
@media (max-width: 640px) {
    .lgprm.auth-section { box-shadow: 0 48px 0 0 var(--lg-tint); }
}
@media (max-width: 480px) {
    .lgprm .lgprm-stats .auth-stat { padding-inline: 0 14px; }
    .lgprm .lgprm-stats .auth-stat + .auth-stat { padding-inline: 14px; }
    .lgprm .lgprm-stats strong { font-size: 24px; }
    .lgprm .lgprm-stats span { font-size: 13px; }
}

/* ---------- [I] hareket: tek orkestre an (spiral cizimi), azaltilmis harekette statik ---------- */
@media (prefers-reduced-motion: no-preference) {
    .lgprm .lgprm-spiral path { stroke-dashoffset: 1; animation: lgprmDraw 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s forwards; }
    .lgprm .lgprm-spiral .lgprm-spiral-b { animation-delay: 0.6s; }
}
@keyframes lgprmDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
    .lgprm .authx-submit, .lgprm .lgprm-field input, .lgprm .mo-mentor-register-link a::after { transition: none; }
    .lgprm .authx-submit .fa-spinner { animation-duration: 1.6s; }
}


/* ==== LGTR.css ==== */
/* LGTR — sozlesme yapay zeka cevirisi (admin/legal-version.php) */
.lgtr { margin-top: 20px; }
.lgtr .admin-card-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.lgtr-warn { display: flex; gap: 10px; align-items: flex-start; }
.lgtr-warn > i { margin-top: 3px; }
.lgtr-note { font-size: 13px; color: var(--gray-600, #4b5563); margin: 0 0 12px; }
.lgtr-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 14px; }
.lgtr-progress { font-size: 13px; color: var(--gray-600, #4b5563); font-variant-numeric: tabular-nums; }

.lgtr-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 8px; }
.lgtr-row { border-top: 1px solid var(--gray-200, #e5e7eb); padding: 10px 12px; min-width: 0; }
.lgtr-row:first-child { border-top: 0; }
.lgtr-row-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.lgtr-code { font-weight: 700; font-size: 12px; min-width: 30px; text-align: center; padding: 2px 6px; border-radius: 5px; background: var(--gray-100, #f3f4f6); color: var(--gray-700, #374151); }
.lgtr-name { font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.lgtr-meta { font-size: 12px; color: var(--gray-500, #6b7280); }
.lgtr-actions { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }

.lgtr-badge { font-size: 12px; font-weight: 600; padding: 2px 9px; border-radius: 10px; background: var(--gray-100, #f3f4f6); color: var(--gray-600, #4b5563); white-space: nowrap; }
.lgtr-b-queued { background: #eef2ff; color: #3730a3; }
.lgtr-b-running, .lgtr-b-saving { background: #e0f2fe; color: #075985; }
.lgtr-b-running::before, .lgtr-b-saving::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; vertical-align: -1px; animation: lgtr-spin .8s linear infinite; }
.lgtr-b-ready { background: #fef7e0; color: #8a5a00; }
.lgtr-b-error { background: #fdecec; color: #b42318; }
.lgtr-b-saved { background: #e7f6ec; color: #1e7a3c; }
@keyframes lgtr-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lgtr-b-running::before, .lgtr-b-saving::before { animation: none; } }

.lgtr-err { margin-top: 8px; padding: 8px 10px; border-radius: 6px; background: #fdecec; color: #8f1d14; font-size: 13px; overflow-wrap: anywhere; }
.lgtr-err ul { margin: 4px 0 0 18px; padding: 0; }
.lgtr-okwarn { margin-top: 8px; padding: 8px 10px; border-radius: 6px; background: #fef7e0; color: #6b4600; font-size: 13px; overflow-wrap: anywhere; }

.lgtr-review { margin-top: 10px; }
.lgtr-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.lgtr-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lgtr-col-h { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--gray-500, #6b7280); }
.lgtr-in, .lgtr-ta { width: 100%; box-sizing: border-box; font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 6px; background: #fff; color: inherit; }
.lgtr-ta { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.5; resize: vertical; min-height: 220px; white-space: pre-wrap; }
.lgtr-col:first-child .lgtr-in, .lgtr-col:first-child .lgtr-ta { background: var(--gray-50, #f9fafb); color: var(--gray-700, #374151); }
.lgtr-review-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 10px; }

@media (max-width: 760px) {
    .lgtr-cols { grid-template-columns: minmax(0, 1fr); }
    .lgtr-actions { margin-left: 0; width: 100%; }
    .lgtr-actions .btn { flex: 1 1 auto; }
    .lgtr-toolbar .btn { flex: 1 1 auto; }
    .lgtr-progress { width: 100%; }
}


/* ==== MAILAUTH.css ==== */
/* MAILAUTH — mail baglantisindan giris onay sayfasi (public/mail-go.php) */
.ma-section .auth-container.ma-box { grid-template-columns: 1fr; max-width: 480px; width: 100%; }
.ma-section .ma-box .auth-card { padding: 36px 32px; }
.ma-who { text-align: center; margin: 0 0 24px; color: var(--gray-600); font-size: 15px; overflow-wrap: anywhere; }
.ma-who strong { display: block; color: var(--dark); font-size: 18px; margin-bottom: 4px; }
.ma-note { text-align: center; font-size: 13px; color: var(--gray-600); margin-top: 16px; }
@media (max-width: 520px) {
    .ma-section { padding: 16px 0; }
    .ma-section .ma-box .auth-card { padding: 24px 18px; }
}


/* ==== MAS.css ==== */
/* MAS — Mentor odevleri, ogrenci odev listesi, sinav x ogrenci basari tablosu */

.mas-page .card-body { padding: 20px 24px; }
.mas-muted { color: var(--gray-600); font-size: 13px; }
.mas-t-bad { color: var(--danger); }
.mas-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.mas-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--gray-700); }
.mas-meta i { color: var(--primary); margin-right: 3px; }
.mas-note { margin-top: 12px; padding: 10px 12px; background: var(--gray-50); border-left: 3px solid var(--primary); border-radius: var(--radius-sm); font-size: 14px; color: var(--gray-800); overflow-wrap: anywhere; }

/* Rozetler */
.mas-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; vertical-align: middle; }
.mas-b-ok { background: #dcfce7; color: #166534; }
.mas-b-warn { background: #fef3c7; color: #92400e; }
.mas-b-bad { background: #fee2e2; color: #991b1b; }
.mas-b-info { background: #dbeafe; color: #1e40af; }
.mas-b-muted { background: var(--gray-100); color: var(--gray-700); }

/* Puan renkleri */
.mas-score { font-size: 15px; }
.mas-s-high { color: #166534; }
.mas-s-mid { color: #92400e; }
.mas-s-low { color: #991b1b; }

/* Ilerleme */
.mas-progress { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 8px; border: 0; border-radius: 4px; background: var(--gray-100); overflow: hidden; }
.mas-progress::-webkit-progress-bar { background: var(--gray-100); border-radius: 4px; }
.mas-progress::-webkit-progress-value { background: var(--primary); border-radius: 4px; }
.mas-progress::-moz-progress-bar { background: var(--primary); border-radius: 4px; }

/* Sayac kutulari */
.mas-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0 12px; }
.mas-stats > div { background: var(--gray-50); border-radius: var(--radius-sm); padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mas-stats span { font-size: 12px; color: var(--gray-600); overflow-wrap: anywhere; }
.mas-stats strong { font-size: 18px; color: var(--dark); }

/* Yeni odev (acilir kart) */
.mas-new { display: block; }
.mas-new > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mas-new > summary::-webkit-details-marker { display: none; }
.mas-new > summary h3 { margin: 0; }
.mas-chevron { color: var(--gray-600); transition: transform .2s; }
.mas-new[open] .mas-chevron { transform: rotate(180deg); }
.mas-form select, .mas-form input[type="datetime-local"], .mas-form textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.mas-target { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.mas-target legend { font-weight: 600; font-size: 14px; margin-bottom: 8px; color: var(--gray-800); }
.mas-radio { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 14px; cursor: pointer; }
.mas-pick { margin-top: 10px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); padding: 10px; }
.mas-pick[hidden] { display: none; }
.mas-pick-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.mas-pick-search { flex: 1 1 180px; min-width: 0; padding: 7px 10px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-size: 14px; }
.mas-pick-list { max-height: 280px; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 2px 12px; }
.mas-check { display: flex; align-items: center; gap: 8px; padding: 6px 4px; border-radius: 6px; font-size: 14px; cursor: pointer; min-width: 0; }
.mas-check:hover { background: var(--gray-50); }
.mas-check[hidden] { display: none; }
.mas-check span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Sekmeler + liste */
.mas-tabs { display: flex; gap: 6px; margin: 24px 0 12px; border-bottom: 1px solid var(--gray-200); }
.mas-tab { padding: 8px 14px; font-size: 14px; font-weight: 600; color: var(--gray-700); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.mas-tab.active { color: var(--primary); border-bottom-color: var(--primary); }
.mas-list { display: flex; flex-direction: column; gap: 10px; }
.mas-item { display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); color: inherit; text-decoration: none; transition: var(--transition); }
.mas-item:hover { border-color: var(--primary); box-shadow: var(--shadow-md); }
.mas-item-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.mas-item-main strong { color: var(--dark); font-size: 15px; overflow-wrap: anywhere; }
.mas-item-side { flex: 0 0 200px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.mas-item-count { font-size: 13px; font-weight: 600; color: var(--gray-800); }

/* Detay */
.mas-detail-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.mas-detail-title { min-width: 0; }
.mas-detail-title h2 { font-size: 20px; margin: 0 0 6px; color: var(--dark); overflow-wrap: anywhere; }
.mas-detail-title h2 i { color: var(--primary); }
.mas-inline-form { margin: 0; flex: 0 0 auto; }
.mas-buy .card-body { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: #fffbeb; border-radius: var(--radius); }
.mas-buy-text { display: flex; gap: 12px; align-items: flex-start; min-width: 0; flex: 1 1 260px; }
.mas-buy-text > i { color: var(--warning); font-size: 20px; margin-top: 2px; }
.mas-buy-text p { margin: 4px 0 0; font-size: 14px; color: var(--gray-700); }
.mas-buy form { margin: 0; }

/* Tablolar */
.mas-table-body { padding: 0 !important; }
.mas-table-wrap { overflow-x: auto; }
.mas-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mas-table th, .mas-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--gray-100); vertical-align: middle; }
.mas-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--gray-600); background: var(--gray-50); }
.mas-table td a { color: var(--dark); font-weight: 600; text-decoration: none; margin-right: 6px; }
.mas-table td a:hover { color: var(--primary); }
.mas-table small { display: block; }
.mas-num { text-align: right !important; white-space: nowrap; }

/* Ogrenci listesi */
.mas-sitem { display: flex; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--gray-100); }
.mas-sitem:last-child { border-bottom: 0; }
.mas-sitem.is-new { background: linear-gradient(90deg, var(--primary-light), transparent 60%); margin: 0 -24px; padding: 14px 24px; }
.mas-sitem-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.mas-sitem-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.mas-sitem-title strong { color: var(--dark); font-size: 15px; overflow-wrap: anywhere; }
.mas-sitem-side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; max-width: 45%; }
.mas-waiting { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #92400e; background: #fef3c7; padding: 6px 10px; border-radius: var(--radius-sm); }

/* Panel slotlari */
.mas-slot-list { list-style: none; margin: 0; padding: 0; }
.mas-slot-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--gray-100); }
.mas-slot-list li:last-child { border-bottom: 0; }
.mas-slot-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mas-slot-main strong { overflow-wrap: anywhere; color: var(--dark); }
.mas-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; }

/* Basari tablosu */
.mas-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-bottom: 16px; padding: 14px 16px; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); }
.mas-filter-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 0 1 170px; }
.mas-filter-field label { font-size: 12px; font-weight: 600; color: var(--gray-700); }
.mas-filter-field input, .mas-filter-field select { padding: 8px 10px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-size: 14px; min-width: 0; width: 100%; box-sizing: border-box; background: var(--white); }
.mas-filter-exam { flex: 1 1 220px; }
.mas-filter-actions { display: flex; gap: 8px; }
.mas-legend { padding: 12px 16px 0; margin: 0 0 8px; }
.mas-matrix-wrap { overflow: auto; max-height: 75vh; min-height: 3em; }
.mas-matrix { border-collapse: separate; border-spacing: 0; font-size: 13px; min-width: 100%; }
.mas-matrix th, .mas-matrix td { padding: 8px 10px; border-bottom: 1px solid var(--gray-100); border-right: 1px solid var(--gray-100); text-align: center; white-space: nowrap; }
.mas-matrix thead th { position: sticky; top: 0; z-index: 2; background: var(--gray-50); font-size: 12px; color: var(--gray-700); vertical-align: bottom; }
.mas-exam-h { display: inline-block; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.mas-matrix .mas-sticky { position: sticky; left: 0; z-index: 1; background: var(--white); text-align: left; max-width: 200px; overflow: hidden; text-overflow: ellipsis; box-shadow: 1px 0 0 var(--gray-200); }
.mas-matrix thead .mas-sticky { z-index: 3; background: var(--gray-50); }
.mas-matrix tbody th a { color: var(--dark); text-decoration: none; font-weight: 600; }
.mas-matrix tbody th a:hover { color: var(--primary); }
.mas-cell strong { display: block; font-size: 14px; }
.mas-cell small { display: block; color: var(--gray-600); font-size: 11px; }
.mas-cell.mas-s-high { background: #f0fdf4; }
.mas-cell.mas-s-mid { background: #fffbeb; }
.mas-cell.mas-s-low { background: #fef2f2; }
.mas-empty { color: var(--gray-400); }

@media (max-width: 768px) {
    .mas-page .card-body { padding: 16px; }
    .mas-item { flex-direction: column; align-items: stretch; gap: 10px; }
    .mas-item-side { flex: 1 1 auto; align-items: flex-start; }
    .mas-detail-top { flex-direction: column; }
    .mas-sitem { flex-direction: column; align-items: stretch; gap: 10px; }
    .mas-sitem-side { align-items: flex-start; text-align: left; max-width: none; }
    .mas-sitem.is-new { margin: 0 -16px; padding: 14px 16px; }
    .mas-slot-list li { flex-wrap: wrap; }
    .mas-filter-field { flex: 1 1 140px; }
    .mas-filter-actions { width: 100%; }
    .mas-pick-list { grid-template-columns: 1fr; }

    /* Detay tablosu kart gorunumu */
    .mas-table thead { display: none; }
    .mas-table, .mas-table tbody, .mas-table tr, .mas-table td { display: block; width: 100%; box-sizing: border-box; }
    .mas-table tr { padding: 10px 16px; border-bottom: 1px solid var(--gray-100); }
    .mas-table td { border: 0; padding: 3px 0; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
    .mas-table td::before { content: attr(data-label); font-size: 12px; color: var(--gray-600); text-align: left; flex: 0 0 auto; }
    .mas-table td:first-child { display: block; text-align: left; font-size: 15px; padding-bottom: 6px; }
    .mas-table td:first-child::before { content: none; }
    .mas-table .mas-num { text-align: right !important; }
    .mas-table small { display: inline; margin-left: 6px; }
}
@media (max-width: 420px) {
    .mas-stats { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
    .mas-stats > div { padding: 8px; }
    .mas-stats strong { font-size: 16px; }
}

/* ASGBUY: ogrencinin odev sinavini kendisi satin almasi */
.mas-buy-hint { display: block; max-width: 260px; line-height: 1.4; }
.mas-sitem-side .btn[disabled] { opacity: .6; cursor: not-allowed; }
@media (max-width: 768px) {
    .mas-buy-hint { max-width: none; }
    .mas-sitem-side .btn { white-space: normal; }
}


/* ==== MASPRM.css ==== */
/* MASPRM - mentor odevleri (mentor-assignments) premium duzeni.
   MNPRM ailesi: sayfa .mnprm ile baslik/dugme/kart temelini alir, burada yalniz odev sayfasina ozgu parcalar var.
   Tum kurallar .masprm ile kapsamli; MAS.css'in ustune yazar (dosya sirasi: MAS.css < MASPRM.css).
   Sekil kilidi: kart 16px, ic kutu 10px, dugme 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */

.masprm .mas-meta { gap: 6px 18px; font-size: 13.5px; line-height: 1.45; color: var(--mn-muted); font-variant-numeric: tabular-nums; }
.masprm .mas-meta i { margin-right: 0; margin-inline-end: 6px; color: var(--primary); }
.masprm .mas-muted { color: var(--mn-muted); font-size: 13.5px; }
.masprm .mas-t-bad { color: #991b1b; }

/* rozetler */
.masprm .mas-badge { padding: 3px 10px; font-size: 12px; font-weight: 700; line-height: 1.5; }
.masprm .mas-b-ok { background: #e3f3e8; color: #166534; }
.masprm .mas-b-info { background: #e0ecf8; color: #1e3a8a; }
.masprm .mas-b-muted { background: var(--gray-100); color: var(--mn-text); }
.masprm .mas-s-high { color: #166534; }
.masprm .mas-s-mid { color: #92400e; }
.masprm .mas-s-low { color: #991b1b; }
.masprm .mas-score { font-family: var(--mn-display); font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }

/* ilerleme */
.masprm .mas-progress { height: 8px; border-radius: 999px; background: #e4ede7; }
.masprm .mas-progress::-webkit-progress-bar { background: #e4ede7; border-radius: 999px; }
.masprm .mas-progress::-webkit-progress-value { background: var(--primary); border-radius: 999px; }
.masprm .mas-progress::-moz-progress-bar { background: var(--primary); border-radius: 999px; }

/* ---------- ayrinti basligi ---------- */
.masprm .mas-detail-head { margin: 0 0 20px; }
.masprm .mas-detail-top { gap: 12px 20px; }
.masprm .mas-detail-title h2 { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 8px; font-family: var(--mn-display); font-size: clamp(19px, 2.2vw, 22px); font-weight: 800; letter-spacing: -0.015em; line-height: 1.3; color: var(--mn-ink); }
.masprm .mas-detail-title h2 i { margin-top: 4px; font-size: 18px; }
.masprm .mas-note { margin-top: 14px; padding: 12px 14px; background: var(--mn-tint); border: 1px solid var(--mn-line); border-inline-start: 3px solid var(--primary); border-left-width: 1px; border-inline-start-width: 3px; border-radius: var(--mn-r-sm); font-size: 14.5px; line-height: 1.55; color: var(--mn-text); }
.masprm .mexam-self { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.masprm .mexam-self:hover { color: var(--primary); }

/* sayac seridi: tek cizgili, hucre-icinde-kutu yok */
.masprm .masprm-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 18px 0 14px; border: 1px solid var(--mn-line); border-radius: var(--mn-r-sm); overflow: hidden; }
.masprm .masprm-stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; min-width: 0; margin: 0; padding: 14px 18px; background: var(--white); border-radius: 0; }
.masprm .masprm-stats > div + div { border-inline-start: 1px solid var(--mn-line); }
.masprm .masprm-stats dt { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--mn-muted); overflow-wrap: anywhere; }
.masprm .masprm-stats dd { margin: 0; font-family: var(--mn-display); font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--mn-ink); }
.masprm .masprm-stats .is-attn dd { color: #92400e; }

/* satin alma uyarisi */
.masprm .mas-buy { margin: 0 0 20px; }
.masprm .mas-buy .card-body { border-radius: var(--mn-r); background: #fffbeb; gap: 14px 20px; }
.masprm .mas-buy-text > i { color: #92400e; margin-top: 3px; }
.masprm .mas-buy-text strong { color: var(--mn-ink); font-size: 15px; }
.masprm .mas-buy-text p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--mn-text); }

/* ---------- ogrenci tablosu ---------- */
.masprm .mas-table-body { padding: 0 !important; }
.masprm .masprm-tbl { font-size: 14.5px; }
.masprm .masprm-tbl th, .masprm .masprm-tbl td { padding: 13px 16px; text-align: start; border-bottom: 1px solid var(--mn-line); font-variant-numeric: tabular-nums; }
.masprm .masprm-tbl thead th { padding-block: 10px; background: var(--mn-tint); font-size: 12.5px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--mn-text); }
.masprm .masprm-tbl th:first-child, .masprm .masprm-tbl td:first-child { padding-inline-start: 22px; padding-inline-end: 16px; }
.masprm .masprm-tbl th:last-child, .masprm .masprm-tbl td:last-child { padding-inline-end: 22px; }
.masprm .masprm-tbl tbody tr:last-child td { border-bottom: 0; }
.masprm .masprm-tbl tbody tr:hover { background: #f8fbf9; }
.masprm .masprm-tbl td a { display: inline-block; padding-block: 10px; margin-block: -10px; margin-right: 0; margin-inline-end: 8px; font-size: 15px; font-weight: 700; color: var(--mn-ink); text-decoration: none; overflow-wrap: anywhere; }
.masprm .masprm-tbl td a:hover { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.masprm .masprm-tbl .mas-num { text-align: end !important; }
.masprm .masprm-tbl small { display: block; margin-top: 2px; }

/* ---------- yeni odev formu ---------- */
.masprm .mas-new { margin: 0 0 24px; }
.masprm .mas-new > summary.card-header { min-height: 56px; border-bottom: 0; border-radius: var(--mn-r); }
.masprm .mas-new[open] > summary.card-header { border-bottom: 1px solid var(--mn-line); border-end-start-radius: 0; border-end-end-radius: 0; }
.masprm .mas-new > summary:hover { background: var(--mn-tint); }
.masprm .mas-new > summary:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }
.masprm .mas-chevron { color: var(--mn-muted); }
.masprm .mas-form { display: grid; gap: 18px; max-width: 760px; }
.masprm .mas-form .form-group { margin: 0; }
.masprm .mas-form .form-row-2 { display: grid; grid-template-columns: minmax(0, 340px); gap: 18px; margin: 0; }
.masprm .mas-form label:not(.mas-radio):not(.mas-check), .masprm .mas-target legend { display: block; margin: 0 0 6px; padding: 0; font-size: 13.5px; font-weight: 700; color: var(--mn-ink); }
.masprm .mas-form select, .masprm .mas-form input[type="datetime-local"], .masprm .mas-form textarea, .masprm .mas-pick-search {
    width: 100%; min-height: 44px; padding: 0 14px; border: 1px solid var(--mn-field); border-radius: var(--radius-sm);
    background-color: var(--white); color: var(--mn-ink); font-size: 15px; line-height: 1.4;
}
.masprm .mas-form textarea { min-height: 96px; padding: 10px 14px; resize: vertical; }
.masprm .mas-form select:focus, .masprm .mas-form input:focus, .masprm .mas-form textarea:focus { outline: 3px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.masprm .mas-form small { display: block; margin-top: 6px; line-height: 1.45; }
.masprm .mas-form .mexam-self { margin-top: 2px; }
.masprm .mas-form > .btn { justify-self: start; }

.masprm .mas-target { display: grid; gap: 8px; margin: 0; }
.masprm .mas-form .mas-radio { display: flex; margin: 0; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--mn-line); border-radius: var(--mn-r-sm); font-size: 14.5px; font-weight: 600; color: var(--mn-text); cursor: pointer; }
.masprm .mas-radio:hover { background: var(--mn-tint); }
.masprm .mas-radio:has(input:checked) { border-color: var(--primary); background: var(--primary-light); color: var(--primary-dark); }
.masprm .mas-radio:has(input:focus-visible) { outline: 3px solid var(--primary); outline-offset: 2px; }
.masprm .mas-form .mas-radio input, .masprm .mas-form .mas-check input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; padding: 0; margin: 0; accent-color: var(--primary); }
.masprm .mas-pick { margin-top: 2px; padding: 12px; border: 1px solid var(--mn-line); border-radius: var(--mn-r-sm); background: var(--mn-tint); }
.masprm .mas-pick-tools { gap: 8px; margin-bottom: 10px; }
.masprm .mas-pick-search { flex: 1 1 200px; width: auto; }
.masprm .mas-pick-tools .btn { min-height: 44px; }
.masprm .mas-pick-list { gap: 0 12px; max-height: 300px; }
.masprm .mas-form .mas-check { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; min-height: 44px; padding: 4px 8px; border-radius: var(--radius-sm); font-size: 14.5px; }
.masprm .mas-form .mas-check:hover { background: var(--white); }
.masprm .mas-check span { color: var(--mn-ink); font-weight: 600; }

/* ---------- sekmeler + liste ---------- */
.masprm .mas-tabs { gap: 4px; margin: 0 0 16px; border-bottom: 1px solid var(--mn-line); }
.masprm .mas-tab { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; font-size: 14.5px; font-weight: 700; color: var(--mn-muted); border-bottom: 3px solid transparent; margin-bottom: -1px; }
.masprm .mas-tab:hover { color: var(--primary-dark); }
.masprm .mas-tab.active { color: var(--primary-dark); border-bottom-color: var(--primary); }
.masprm .mas-tab:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; border-radius: var(--radius-sm); }

.masprm .mas-list { gap: 0; background: var(--white); border: 1px solid var(--mn-line); border-radius: var(--mn-r); overflow: hidden; }
.masprm .mas-item { gap: 16px 28px; padding: 16px 22px; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.masprm .mas-item + .mas-item { border-top: 1px solid var(--mn-line); }
.masprm .mas-item:hover { background: #f8fbf9; border-color: var(--mn-line); box-shadow: none; }
.masprm .mas-item:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }
.masprm .mas-item-main { gap: 6px; }
.masprm .mas-item-main strong { font-size: 15.5px; font-weight: 700; line-height: 1.35; color: var(--mn-ink); }
.masprm .mas-item-side { flex: 0 0 220px; gap: 8px; }
.masprm .mas-item-count { font-size: 13.5px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--mn-text); }

.masprm .empty-state { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 12px 0; text-align: start; }
.masprm .empty-state i { margin: 0; font-size: 22px; color: var(--primary); }
.masprm .empty-state p { margin: 0; max-width: 56ch; font-size: 15px; line-height: 1.55; color: var(--mn-text); }
.masprm .mas-page .card-body, .masprm.mas-page .card-body { padding: 18px 22px; }
.masprm.mas-page .mas-table-body { padding: 0 !important; }

/* ---------- tablet ---------- */
@media (max-width: 768px) {
    .masprm.mas-page .card-body { padding: 16px; }
    .masprm .mas-item { flex-direction: column; align-items: stretch; gap: 10px; padding: 16px; }
    .masprm .mas-item-side { flex: 1 1 auto; align-items: stretch; }
    .masprm .mas-item-side .mas-badge { align-self: flex-start; }
    .masprm .mas-detail-top { flex-direction: column; }
    .masprm .mas-form .form-row-2 { grid-template-columns: minmax(0, 1fr); }
    .masprm .mas-pick-list { grid-template-columns: minmax(0, 1fr); }

    /* tablo -> kart: her satir bir kart, etiket + deger */
    .masprm .masprm-tbl thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; display: block; }
    .masprm .masprm-tbl, .masprm .masprm-tbl tbody { display: block; }
    .masprm .masprm-tbl tr { display: block; padding: 14px 16px; border-bottom: 1px solid var(--mn-line); }
    .masprm .masprm-tbl tbody tr:last-child { border-bottom: 0; }
    .masprm .masprm-tbl td, .masprm .masprm-tbl td:first-child, .masprm .masprm-tbl td:last-child {
        display: flex; align-items: baseline; justify-content: space-between; gap: 6px 16px; width: auto;
        padding: 5px 0; border: 0; text-align: end;
    }
    .masprm .masprm-tbl td::before { content: attr(data-label); flex: 0 0 auto; font-size: 12.5px; font-weight: 600; color: var(--mn-muted); text-align: start; }
    .masprm .masprm-tbl td:first-child { display: block; padding: 0 0 8px; text-align: start; }
    .masprm .masprm-tbl td:first-child::before { content: none; }
    .masprm .masprm-tbl td a { margin-block: 0; padding-block: 8px; }
    .masprm .masprm-tbl .mas-num { text-align: end !important; }
    .masprm .masprm-tbl td small { display: inline; margin: 0 0 0 8px; margin-inline-start: 8px; }
}

/* ---------- telefon ---------- */
@media (max-width: 600px) {
    .masprm .masprm-stats { grid-template-columns: minmax(0, 1fr); }
    .masprm .masprm-stats > div { flex-direction: row-reverse; align-items: center; justify-content: space-between; padding: 12px 16px; }
    .masprm .masprm-stats > div + div { border-inline-start: 0; border-top: 1px solid var(--mn-line); }
    .masprm .masprm-stats dd { font-size: 22px; }
    .masprm .mas-form > .btn, .masprm .mas-inline-form .btn, .masprm .mas-buy form .btn { width: 100%; justify-content: center; }
    .masprm .mas-inline-form { width: 100%; }
    .masprm .mas-pick-tools .btn { flex: 1 1 auto; justify-content: center; }
    .masprm .mas-tabs { overflow-x: auto; }
    .masprm .mas-buy form { width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
    .masprm .mas-item, .masprm .mas-radio, .masprm .mas-tab, .masprm .mas-check { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
    .masprm .mas-chevron { transition: transform .2s ease; }
}
@media (prefers-reduced-motion: reduce) {
    .masprm .mas-chevron { transition: none; }
}


/* ==== MCPN.css ==== */
/* MCPN — mentor sinav satin alma sayfasinda kupon: ara toplam + indirim satirlari */
.mcpn-line { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 8px 0 0; font-size: 14px; color: var(--gray-700); }
.mcpn-line > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.mcpn-line > span:last-child { white-space: nowrap; }
.mcpn-line-discount > span:last-child { color: var(--success); font-weight: 700; }
.mcpn-code { display: inline-block; font-weight: 700; letter-spacing: .04em; color: var(--primary-dark); background: var(--primary-light); border-radius: 6px; padding: 1px 6px; margin-inline-start: 4px; font-size: 12px; }
.mas-page .com-free { margin-bottom: 4px; }


/* ==== MDREG.css ==== */
/* MDREG — Mentor paneli ustu: "Ogrencilerimi kaydet" kisayolu */
.mdreg {
    background: var(--primary-light, #eef7f0);
    border: 1px solid rgba(50, 131, 74, .28);
    border-left: 5px solid var(--primary, #32834a);
    border-radius: var(--radius, 12px);
    box-shadow: var(--shadow-md);
    padding: 20px 24px;
    margin: 0 0 24px;
    min-width: 0;
}
.mdreg-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 14px; }
.mdreg-icon {
    flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--primary, #32834a); color: var(--white, #fff); font-size: 18px;
}
.mdreg-head-text { min-width: 0; }
.mdreg-head-text h2 { font-size: 19px; font-weight: 700; color: var(--dark, #141a15); margin: 0 0 4px; line-height: 1.3; }
.mdreg-head-text p { margin: 0; color: var(--gray-800, #3c4043); font-size: 14px; line-height: 1.5; }

.mdreg-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mdreg-item {
    display: flex; align-items: center; justify-content: space-between; gap: 12px 16px;
    background: var(--white, #fff); border: 1px solid var(--gray-200, #e8eaed);
    border-radius: var(--radius-sm, 8px); padding: 12px 14px; min-width: 0;
}
.mdreg-info { min-width: 0; flex: 1 1 auto; }
.mdreg-name { display: block; font-size: 15px; color: var(--dark, #141a15); overflow-wrap: anywhere; }
.mdreg-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; font-size: 13px; color: var(--gray-700, #5f6368); }
.mdreg-meta i { margin-right: 3px; }
.mdreg-count.is-some { color: var(--primary-dark, #183f23); font-weight: 600; }
.mdreg-btn { flex: 0 0 auto; white-space: nowrap; }

.mdreg-empty { margin: 12px 0 0; font-size: 14px; color: var(--gray-800, #3c4043); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.mdreg-empty > i { color: var(--primary, #32834a); }
.mdreg-add-link { color: var(--primary, #32834a); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.mdreg-add-link:hover, .mdreg-add-link:focus-visible { color: var(--primary-dark, #183f23); }

@media (max-width: 600px) {
    .mdreg { padding: 16px; border-left-width: 4px; }
    .mdreg-head { gap: 10px; }
    .mdreg-icon { width: 38px; height: 38px; font-size: 16px; }
    .mdreg-head-text h2 { font-size: 17px; }
    .mdreg-item { flex-direction: column; align-items: stretch; }
    .mdreg-btn { width: 100%; justify-content: center; white-space: normal; text-align: center; }
}


/* ==== MEXAM.css ==== */
/* MEXAM — Mentor: deneme sinavlari (kendin satin al / coz / sonuc / odev ver) */

.mexam-muted { color: var(--gray-700, #5f6368); font-size: 14px; margin: 0 0 12px; }
.mexam-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* Bilgi notu: hak ayrimi + siralamaya katilmama */
.mexam-note {
    display: flex; gap: 12px; align-items: flex-start;
    background: var(--primary-light, #eef7f0); border: 1px solid #cfe6d6; color: var(--primary-dark, #183f23);
    border-radius: var(--radius, 12px); padding: 14px 16px; margin: 0 0 20px; font-size: 14px; line-height: 1.5;
}
.mexam-note > i { color: var(--primary, #32834a); margin-top: 3px; }
.mexam-note ul { margin: 0; padding-inline-start: 18px; display: grid; gap: 4px; }

.mexam-filter { margin-bottom: 20px; }

/* Kart izgarasi */
.mexam-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 20px; }
.mexam-card {
    display: flex; flex-direction: column; min-width: 0;
    background: var(--white, #fff); border: 1px solid var(--gray-200, #e8eaed); border-radius: var(--radius, 12px);
    box-shadow: var(--shadow); overflow: hidden; scroll-margin-top: 90px;
}
.mexam-card.is-focus { border-color: var(--primary, #32834a); box-shadow: 0 0 0 3px rgba(50, 131, 74, .25); }
.mexam-cover { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; background: var(--gray-100, #f1f3f4); }
.mexam-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; flex: 1; }
.mexam-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mexam-tag {
    display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 600; background: var(--primary-light, #eef7f0); color: var(--primary-dark, #183f23);
    max-width: 100%; overflow-wrap: anywhere;
}
.mexam-tag-soft { background: var(--gray-100, #f1f3f4); color: var(--gray-800, #3c4043); }
.mexam-tag-free { background: #e0f2fe; color: #075985; }
.mexam-tag-ok { background: #dcfce7; color: #14532d; }
.mexam-tag-price { background: #fef3c7; color: #78350f; }
.mexam-name { font-size: 17px; line-height: 1.35; margin: 0; color: var(--dark, #141a15); overflow-wrap: anywhere; }
.mexam-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 0; margin: 0; font-size: 13px; color: var(--gray-700, #5f6368); }
.mexam-meta i { color: var(--gray-500, #9aa0a6); margin-inline-end: 4px; }
.mexam-mine {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0;
    padding: 8px 12px; border-radius: var(--radius-sm, 8px); background: var(--gray-50, #f8f9fa); font-size: 13px; color: var(--gray-700, #5f6368);
}
.mexam-mine strong { font-size: 16px; color: var(--primary-dark, #183f23); }
.mexam-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 4px; }
.mexam-btns .btn { flex: 1 1 auto; justify-content: center; min-height: 40px; }

/* Odev ekraninda "Once kendin coz" */
.mexam-self { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--primary, #32834a); margin-top: 6px; }
.mas-meta .mexam-self { margin-top: 0; }
.mexam-self:hover, .mexam-self:focus-visible { text-decoration: underline; }
.form-group .mexam-self { display: flex; width: fit-content; }

@media (max-width: 600px) {
    .mexam-page .dashboard-welcome { flex-direction: column; align-items: stretch; gap: 12px; }
    .mexam-actions .btn { flex: 1 1 auto; justify-content: center; }
    .mexam-grid { grid-template-columns: 1fr; gap: 14px; }
    .mexam-body { padding: 14px; }
}


/* ==== MINPRM.css ==== */
/* MINPRM - mentor davet sayfasi (public/mentor-invite.php). Tum kurallar .minprm ile kapsamli.
   LGPRM/RGPRM ailesi: soguk yesil-gri zemin, tek beyaz kart, Manrope baslik, kart 16 / ic kutu 10 / buton 8. */
.minprm {
    --mi-tint: #f1f6f2; --mi-line: #d6e3d9; --mi-ink: var(--dark); --mi-text: #4a554e;
    --mi-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--mi-tint);
    padding: clamp(24px, 5vw, 64px) 0;
    box-shadow: 0 72px 0 0 var(--mi-tint);
    min-height: calc(100vh - 200px);
}
.minprm a, .minprm button { touch-action: manipulation; }
.minprm .minprm-wrap { max-width: 600px; }
.minprm .minprm-card {
    background: #fff; border: 1px solid var(--mi-line); border-radius: 16px;
    padding: clamp(22px, 4vw, 40px);
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35);
}
.minprm .minprm-head { display: flex; align-items: center; gap: 18px; }
.minprm .minprm-avatar { flex: 0 0 auto; width: 72px; height: 72px; margin: 0; font-size: 24px; }
.minprm .minprm-id { min-width: 0; }
.minprm .minprm-kicker {
    display: inline-block; margin: 0 0 8px; padding: 3px 10px; border-radius: 999px;
    background: var(--mi-tint); border: 1px solid var(--mi-line);
    font-size: 13px; font-weight: 600; color: var(--primary-dark);
}
.minprm .minprm-title {
    margin: 0; font-family: var(--mi-display); font-weight: 800; color: var(--mi-ink);
    font-size: clamp(24px, 3vw, 30px); line-height: 1.15; letter-spacing: -0.03em;
    overflow-wrap: anywhere; text-wrap: balance;
}
.minprm .minprm-meta { display: block; margin: 6px 0 0; font-size: 14.5px; line-height: 1.45; color: var(--mi-text); overflow-wrap: anywhere; }
.minprm .minprm-bio { margin: 20px 0 0; font-size: 16px; line-height: 1.6; color: var(--mi-text); max-width: 60ch; overflow-wrap: anywhere; }
.minprm .minprm-actionbar { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--mi-line); }
.minprm .minprm-note { margin: 0 0 16px; font-size: 15.5px; line-height: 1.55; color: var(--mi-text); }
.minprm .minprm-note > i { margin-inline-end: 6px; }
.minprm .minprm-ok { color: #1e6b3a; font-weight: 600; }
.minprm .minprm-warn { color: #8a5300; padding: 10px 14px; background: #fdf6e8; border: 1px solid #f0dcb0; border-radius: 10px; }
.minprm .minprm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.minprm .minprm-actions .btn {
    min-height: 48px; padding-inline: 22px; border-radius: 8px; font-weight: 700; font-size: 16px;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-align: center;
}
.minprm .minprm-actions .btn:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; box-shadow: none; }
.minprm .minprm-actions .btn:active { transform: translateY(1px); }
.minprm .minprm-icon { font-size: 28px; color: #b3261e; margin-bottom: 12px; }
.minprm .minprm-bad .minprm-title { margin-bottom: 10px; }
.minprm .minprm-bad .minprm-actions { margin-top: 20px; }

@media (max-width: 520px) {
    .minprm .minprm-head { flex-direction: column; align-items: flex-start; }
    .minprm .minprm-actions { flex-direction: column; }
    .minprm .minprm-actions .btn { width: 100%; }
}


/* ==== MNPRM.css ==== */
/* MNPRM - mentor paneli (mentor-dashboard, mentor-students, mentor-requests) premium yeniden duzeni.
   Tum kurallar .mnprm kokuyle kapsamli; F2/F3/F4/MDREG kurallarinin ustune yazar (dosya adi sirasi: F* < M*).
   Yon: HOMEPRM ile ayni "akademik hassasiyet" dili. Panel bir uygulama ekrani: sakin yuzeyler, tek cizgi rengi,
   yogun ama okunur satirlar, tabular rakamlar. Kart-icinde-kart yok, gradient yok, dekoratif sus yok.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak.
   Mantiksal ozellikler (RTL: ar, fa, ur). Hareket yalniz renk gecisi ve prefers-reduced-motion'a saygili. */

.mnprm {
    --mn-line: #d6e3d9;
    --mn-tint: #f1f6f2;
    --mn-ink: var(--dark);
    --mn-text: #3f4a43;
    --mn-muted: #56615a;
    --mn-field: #7d8e83;
    --mn-r: 16px;
    --mn-r-sm: 10px;
    --mn-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --mn-stats: 340px;
    --mn-act: 292px;
    padding-block: clamp(24px, 4vw, 44px) 80px;
    color: var(--mn-text);
}
.mnprm button, .mnprm input, .mnprm select { font-family: inherit; }
.mnprm [hidden] { display: none !important; }

.mnprm-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[dir="rtl"] .mnprm .mnprm-flip, [dir="rtl"] .mnprm .mnprm-chev { transform: scaleX(-1); }

.mnprm a, .mnprm button, .mnprm select, .mnprm input { touch-action: manipulation; }
.mnprm [id] { scroll-margin-top: 96px; }
.mnprm h1, .mnprm h2 { text-wrap: balance; }

/* ---------- odak ---------- */
.mnprm a:focus-visible,
.mnprm button:focus-visible,
.mnprm input:focus-visible,
.mnprm select:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- sayfa basligi ---------- */
.mnprm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin: 0 0 28px; }
.mnprm-head-text { flex: 1 1 320px; min-width: 0; }
.mnprm-head h1 {
    margin: 0 0 6px; font-family: var(--mn-display); font-weight: 800; color: var(--mn-ink);
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere; text-align: start;
}
.mnprm-head p { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--mn-muted); }
.mnprm-head-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- butonlar (>= 44px dokunma hedefi) ---------- */
.mnprm .btn { min-height: 44px; padding: 0 18px; border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; }
.mnprm .btn-sm { min-height: 44px; padding: 0 14px; font-size: 13.5px; }
.mnprm .btn:hover { transform: none; box-shadow: none; }
.mnprm .btn[disabled] { opacity: .55; cursor: not-allowed; }
.mnprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }
.mnprm .btn-primary:hover { background: var(--primary-dark); }
.mnprm .f2-btn-danger { color: #991b1b !important; border-color: #d9a3a3 !important; }
.mnprm .f2-btn-danger:hover { background: #fee2e2 !important; }

/* ---------- yuzeyler ---------- */
.mnprm .dashboard-card, .mnprm .f2-card, .mnprm .mnprm-stats {
    background: var(--white); border: 1px solid var(--mn-line); border-radius: var(--mn-r); box-shadow: none; min-width: 0;
}
.mnprm .dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.mnprm .dashboard-main, .mnprm .dashboard-sidebar { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.mnprm .dashboard-main > *, .mnprm .dashboard-sidebar > * { margin-block: 0; }
.mnprm .card-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 16px 22px; border-bottom: 1px solid var(--mn-line); }
.mnprm .card-header h2, .mnprm .card-header h3 {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 0;
    font-family: var(--mn-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; color: var(--mn-ink);
}
.mnprm .card-link { display: inline-flex; align-items: center; min-height: 44px; margin-block: -10px; padding-inline: 6px; min-width: 44px; justify-content: center; margin-inline-start: auto; font-size: 14px; font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.mnprm .card-header > a.card-link { margin-left: 0; margin-inline-start: auto; }
.mnprm .card-link:hover { color: var(--primary); }
.mnprm .card-body { padding: 18px 22px; }
.mnprm .f2-card { padding: 22px; }
.mnprm .f2-card-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; font-family: var(--mn-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; color: var(--mn-ink); }

/* ---------- ozet sayaclari ---------- */
.mnprm-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 24px; overflow: hidden; }
.mnprm-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; min-width: 0; padding: 20px 24px; margin: 0; }
.mnprm-stat + .mnprm-stat { border-inline-start: 1px solid var(--mn-line); }
.mnprm-stat dt { font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--mn-muted); }
.mnprm-stat dd { margin: 0; font-family: var(--mn-display); font-size: clamp(30px, 3vw, 38px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--mn-ink); }
.mnprm-stat.is-attn dd { color: #92400e; }

.mnprm-count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--mn-tint); color: var(--mn-text); border: 1px solid var(--mn-line); font-family: var(--font); font-size: 12.5px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: 0; }
.mnprm-count.is-attn { background: #fef3c7; color: #92400e; border-color: #fde68a; }

/* ---------- satirlar (bekleyen istek, son sonuc) ---------- */
.mnprm-rows { list-style: none; margin: 0; padding: 0; }
.mnprm-row { display: flex; align-items: center; gap: 8px 14px; padding: 14px 0; border-top: 1px solid var(--mn-line); }
.mnprm-row:first-child { padding-top: 0; border-top: 0; }
.mnprm-row:last-child { padding-bottom: 0; }
.mnprm-row-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mnprm-row-main strong { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--mn-ink); overflow-wrap: anywhere; }
.mnprm-muted { color: var(--mn-muted); font-size: 13.5px; line-height: 1.45; overflow-wrap: anywhere; }
.mnprm-when { white-space: nowrap; font-variant-numeric: tabular-nums; }
.mnprm-when-line i { margin-inline-end: 4px; }
.mnprm-when-line .f2-tag { margin-inline-start: 6px; }
.mnprm-empty { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--mn-muted); }
.mnprm-empty i { flex: 0 0 auto; color: var(--primary); }

/* bas harf dairesi: MOLYD ile ayni */
.mnprm .mnprm-av {
    flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; overflow: hidden;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--primary-light); color: var(--primary-dark); border: 1px solid #bfe0c8;
    font-size: 13.5px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase;
}

/* sonuc rozeti */
.mnprm-score { flex: 0 0 auto; min-width: 66px; padding: 4px 10px; border-radius: 999px; text-align: center; font-family: var(--mn-display); font-size: 14.5px; font-weight: 800; font-variant-numeric: tabular-nums; background: var(--gray-100); color: var(--mn-text); }
.mnprm-score.high { background: #e3f3e8; color: #166534; }
.mnprm-score.medium { background: #fef3c7; color: #92400e; }
.mnprm-score.low { background: #fee2e2; color: #991b1b; }
.mnprm-avg.high { color: #166534; }
.mnprm-avg.medium { color: #92400e; }
.mnprm-avg.low { color: #991b1b; }
.mnprm-none { color: var(--mn-muted); font-weight: 600; }

/* ---------- acik olimpiyatlar ---------- */
.mnprm-events { list-style: none; margin: 0; padding: 0; }
.mnprm-events li + li { border-top: 1px solid var(--mn-line); }
.mnprm-event { display: flex; align-items: center; gap: 16px; padding: 14px 10px; margin-inline: -10px; border-radius: var(--mn-r-sm); color: inherit; text-decoration: none; }
.mnprm-events li:first-child .mnprm-event { margin-top: -4px; }
.mnprm-events li:last-child .mnprm-event { margin-bottom: -4px; }
a.mnprm-event[href]:hover { background: var(--mn-tint); }
.mnprm-event-cover { flex: 0 0 auto; width: 92px; aspect-ratio: 16 / 10; border-radius: var(--mn-r-sm); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--primary-light); border: 1px solid var(--mn-line); color: var(--primary); font-size: 22px; }
.mnprm-event-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mnprm-event-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mnprm-event-body strong { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--mn-ink); overflow-wrap: anywhere; }
.mnprm-event-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 4px; font-size: 13px; line-height: 1.4; color: var(--mn-muted); font-variant-numeric: tabular-nums; }
.mnprm-event-meta i { margin-inline-end: 5px; color: var(--primary); }
.mnprm-chev { flex: 0 0 auto; color: var(--mn-muted); font-size: 13px; }

/* ---------- davet kutusu + kopyalama ---------- */
.mnprm-note { margin: 0 0 4px; }
.mnprm-label, .mnprm .f2-label { display: block; margin: 14px 0 6px; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--mn-text); }
.mnprm-copy, .mnprm .f2-copy { display: flex; gap: 8px; align-items: stretch; }
.mnprm-copy input, .mnprm .f2-copy input {
    flex: 1 1 auto; min-width: 0; min-height: 44px; padding: 0 12px; border: 1px solid var(--mn-field); border-radius: var(--radius-sm);
    background: var(--mn-tint); color: var(--mn-ink); font-size: 13.5px;
}
.mnprm .mnprm-copy input.mnprm-code, .mnprm .f2-copy input.f2-code-text {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 18px; font-weight: 700; letter-spacing: .12em; text-align: center; text-transform: none;
}
.mnprm-copy .btn, .mnprm .f2-copy .btn { flex: 0 0 auto; white-space: nowrap; }
.mnprm .f2-note { margin: 0 0 4px; font-size: 14px; line-height: 1.55; color: var(--mn-muted); }

.mnprm .quick-links { display: flex; flex-direction: column; gap: 2px; }
.mnprm .quick-link { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; margin-inline: -12px; border-radius: var(--mn-r-sm); font-size: 14.5px; font-weight: 600; color: var(--mn-text); }
.mnprm .quick-link i { width: 18px; text-align: center; color: var(--primary); }
.mnprm .quick-link:hover { background: var(--mn-tint); color: var(--primary-dark); }

/* onaysiz mentor durum karti */
.mnprm .f4-status .card-body { display: flex; gap: 16px; align-items: flex-start; padding: 22px; }
.mnprm .f4-status .card-body > i { margin-top: 3px; font-size: 22px; color: var(--warning); }
.mnprm .f4-status-rejected .card-body > i, .mnprm .f4-status-suspended .card-body > i { color: var(--danger); }
.mnprm .f4-status h3 { margin: 0 0 6px; font-family: var(--mn-display); font-size: 18px; font-weight: 800; color: var(--mn-ink); }
.mnprm .f4-status p { margin: 0 0 12px; line-height: 1.55; color: var(--mn-text); }
.mnprm .f4-muted { color: var(--mn-muted); font-size: 13.5px; }

/* ---------- ust slot: MDREG "ogrencilerini kaydet" ---------- */
.mnprm .mdreg { background: var(--mn-tint); border: 1px solid var(--mn-line); border-inline-start: 4px solid var(--primary); border-radius: var(--mn-r); box-shadow: none; padding: 20px 22px; margin: 0 0 24px; }
.mnprm .mdreg-icon { width: 36px; height: 36px; font-size: 15px; }
.mnprm .mdreg-head { align-items: center; margin-bottom: 14px; }
.mnprm .mdreg-head-text h2 { font-family: var(--mn-display); font-size: 18px; font-weight: 800; letter-spacing: -0.01em; }
.mnprm .mdreg-head-text p { color: var(--mn-text); }
.mnprm .mdreg-item { border-color: var(--mn-line); border-radius: var(--mn-r-sm); }
.mnprm .mdreg-meta { color: var(--mn-muted); font-variant-numeric: tabular-nums; }
.mnprm .mdreg-meta i, .mnprm .mdreg-empty i { margin-right: 0; margin-inline-end: 4px; }
.mnprm .mdreg-count.is-some { color: var(--primary-dark); }
.mnprm .mdreg-add-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }

/* ---------- diger slot kartlari (F3 ekleme, odev, sinav, rapor) ---------- */
.mnprm .f3-add-card { padding: 22px; border: 1px solid var(--mn-line); border-radius: var(--mn-r); box-shadow: none; margin: 0; }
.mnprm .f3-add-head h3 { font-family: var(--mn-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; color: var(--mn-ink); }
.mnprm .f3-muted { color: var(--mn-muted); }
.mnprm .f3-chip { background: var(--mn-tint); border: 1px solid var(--mn-line); color: var(--mn-text); font-variant-numeric: tabular-nums; }
.mnprm .f3-tab { min-height: 44px; color: var(--mn-muted); }
.mnprm .f3-tab.active { color: var(--primary-dark); border-bottom-color: var(--primary); }
.mnprm .f3-row input, .mnprm .f3-paste { min-height: 44px; border-color: var(--mn-field); border-radius: var(--radius-sm); }
.mnprm .f3-row-remove { width: 44px; height: 44px; border-radius: var(--radius-sm); }
.mnprm .f3-badge { background: #fef3c7; border-color: #fde68a; color: #92400e; }

/* ---------- ogrenci tablosu ---------- */
.mnprm-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto; gap: 10px; align-items: center; margin: 0 0 20px; }
.mnprm-search { position: relative; min-width: 0; }
.mnprm-search i { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); color: var(--mn-muted); pointer-events: none; }
.mnprm-search input, .mnprm-toolbar select {
    width: 100%; min-width: 0; min-height: 44px; padding: 0 14px; border: 1px solid var(--mn-field); border-radius: var(--radius-sm);
    background-color: var(--white); color: var(--mn-ink); font-size: 15px;
}
.mnprm-search input { padding-inline-start: 40px; }
.mnprm-search input::placeholder { color: var(--mn-muted); opacity: 1; }

.mnprm-table { overflow: hidden; margin: 0; }
/* F4 kart izgarasini (.f4-students / .f4-student) satir tablosuna cevir */
.mnprm .f4-students { display: block; }
.mnprm .f4-student { background: none; box-shadow: none; border-radius: 0; flex-direction: initial; }
.mnprm .f4-student-stats > div { background: none; padding: 0; border-radius: 0; text-align: start; }
.mnprm .f4-student-stats strong { font-size: 15px; }
.mnprm-tr {
    display: grid; grid-template-columns: minmax(0, 1fr) var(--mn-stats) var(--mn-act);
    grid-template-areas: "person stats actions" "slot slot slot";
    gap: 10px 24px; align-items: center; padding: 14px 22px;
}
.mnprm-thead .mnprm-tr { grid-template-areas: none; padding-block: 10px; background: var(--mn-tint); border-bottom: 1px solid var(--mn-line); }
.mnprm-th { font-size: 12.5px; font-weight: 700; line-height: 1.3; color: var(--mn-text); }
.mnprm-th-stats, .f4-student-stats { display: grid; grid-template-columns: 72px 92px minmax(0, 1fr); gap: 12px; min-width: 0; }
.f4-students .mnprm-tr + .mnprm-tr { border-top: 1px solid var(--mn-line); }
.mnprm-person { grid-area: person; display: flex; align-items: center; gap: 12px; min-width: 0; }
.mnprm-person-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mnprm-person-text a { padding-block: 10px; margin-block: -10px; font-size: 15.5px; font-weight: 700; line-height: 1.35; color: var(--mn-ink); text-decoration: none; overflow-wrap: anywhere; }
.mnprm-person-text a:hover { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.f4-student-stats { grid-area: stats; }
.mnprm-cell { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-variant-numeric: tabular-nums; }
.mnprm-cell strong { font-size: 15px; font-weight: 700; color: var(--mn-ink); overflow-wrap: anywhere; }
.mnprm .mnprm-k { display: none; font-size: 12px; font-weight: 600; line-height: 1.3; color: var(--mn-muted); white-space: normal; overflow: visible; text-overflow: clip; }
.mnprm .f4-student-actions { grid-area: actions; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 0; }
.f4-student-row-slot { grid-area: slot; padding-inline-start: 52px; min-width: 0; }
.f4-student-row-slot:empty { display: none; }
.f4-student-row-slot .f3-inactive { gap: 8px 10px; }
.f4-student-row-slot .f3-resend-msg { font-size: 13px; }

.mnprm-emptycard .card-body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 28px 24px; }
.mnprm-emptycard i { font-size: 22px; color: var(--primary); }
.mnprm-emptycard p { margin: 0; max-width: 56ch; font-size: 15.5px; line-height: 1.55; color: var(--mn-text); }

/* ---------- istekler sayfasi ---------- */
.mnprm .f2-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.mnprm .f2-main, .mnprm .f2-side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.mnprm .f2-card-info { background: var(--mn-tint); }
.mnprm .f2-steps { margin: 0; padding: 0; padding-inline-start: 18px; font-size: 14px; line-height: 1.6; color: var(--mn-text); }
.mnprm .f2-steps li + li { margin-top: 8px; }
.mnprm-actions { display: flex; flex-wrap: wrap; gap: 8px; flex: 0 0 auto; }
.mnprm-actions form { margin: 0; }
.mnprm-alert { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px 16px; border: 1px solid #fde68a; border-radius: var(--mn-r-sm); background: #fffbeb; color: #92400e; font-size: 14.5px; line-height: 1.5; font-weight: 600; }
.mnprm-alert i { margin-top: 3px; }
.mnprm .f2-tag { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: 12px; font-weight: 700; line-height: 1.5; }
.mnprm .f2-tag-accepted { background: #e3f3e8; color: #166534; }
.mnprm .f2-tag-rejected { background: #fee2e2; color: #991b1b; }
.mnprm .f2-tag-ended { background: var(--gray-100); color: var(--mn-text); }

.mnprm-tbl-wrap { overflow-x: auto; }
.mnprm-tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.mnprm-tbl th, .mnprm-tbl td { padding: 10px 12px; text-align: start; vertical-align: middle; border-top: 1px solid var(--mn-line); }
.mnprm-tbl th:first-child, .mnprm-tbl td:first-child { padding-inline-start: 0; }
.mnprm-tbl th:last-child, .mnprm-tbl td:last-child { padding-inline-end: 0; }
.mnprm-tbl thead th { border-top: 0; padding-top: 0; font-size: 12.5px; font-weight: 700; color: var(--mn-muted); }
.mnprm-tbl tbody th { font-size: 14.5px; font-weight: 600; color: var(--mn-ink); overflow-wrap: anywhere; }
.mnprm-num { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--mn-muted); }

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
    .mnprm .dashboard-grid, .mnprm .f2-grid { grid-template-columns: minmax(0, 1fr); }
    .mnprm-tr { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "person actions" "stats stats" "slot slot"; }
    .mnprm-thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mnprm .f4-student-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 10px 14px; background: var(--mn-tint); border-radius: var(--mn-r-sm); }
    .mnprm .mnprm-k { display: block; }
    .mnprm .f4-student-stats > div { gap: 2px; }
}

/* ---------- telefon ---------- */
@media (max-width: 600px) {
    .mnprm .card-header { padding: 14px 16px; }
    .mnprm .card-body { padding: 16px; }
    .mnprm .f2-card { padding: 16px; }
    .mnprm-head-actions { width: 100%; }
    .mnprm-head-actions .btn { flex: 1 1 auto; justify-content: center; }
    .mnprm .mdreg { padding: 16px; }
    .mnprm .f3-add-card { padding: 16px; }

    /* sayaclar: etiket solda, sayi sagda */
    .mnprm-stats { grid-template-columns: minmax(0, 1fr); }
    .mnprm-stat { flex-direction: row-reverse; align-items: center; justify-content: space-between; padding: 14px 16px; }
    .mnprm-stat + .mnprm-stat { border-inline-start: 0; border-top: 1px solid var(--mn-line); }
    .mnprm-stat dd { font-size: 26px; }

    /* satirlar: ad tum genisligi alir, eylemler alt satira iner */
    .mnprm-row { flex-wrap: wrap; }
    .mnprm-row-main { flex: 1 1 calc(100% - 56px); }
    .mnprm-result .mnprm-row-main { flex-basis: 100%; }
    .mnprm-row > .mnprm-when { margin-inline-start: 54px; }
    .mnprm-row > .btn { margin-inline-start: auto; }
    .mnprm-request .mnprm-actions { flex: 1 1 100%; margin-inline-start: 54px; }
    .mnprm-request .mnprm-actions form { flex: 1 1 0; }
    .mnprm-request .mnprm-actions .btn { width: 100%; }

    .mnprm-event { gap: 12px; }
    .mnprm-event-cover { width: 72px; }
    .mnprm-chev { display: none; }

    .mnprm-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
    .mnprm-search { grid-column: 1 / -1; }

    .mnprm-tr { grid-template-columns: minmax(0, 1fr); grid-template-areas: "person" "stats" "actions" "slot"; padding: 16px; gap: 12px; }
    .f4-student-actions { justify-content: stretch; }
    .f4-student-actions .btn { flex: 1 1 0; padding-inline: 10px; }
    .f4-student-row-slot { padding-inline-start: 0; }

    /* son yanitlananlar: ad ust satirda, durum + tarih altta */
    .mnprm-tbl thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mnprm-tbl, .mnprm-tbl tbody { display: block; }
    .mnprm-tbl tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 12px 0; border-top: 1px solid var(--mn-line); }
    .mnprm-tbl tbody tr:first-child { border-top: 0; padding-top: 0; }
    .mnprm-tbl th, .mnprm-tbl td { display: block; padding: 0; border-top: 0; }
    .mnprm-tbl tbody th { grid-column: 1 / -1; }
    .mnprm-tbl td:last-child { text-align: end; }
}
@media (max-width: 380px) {
    .mnprm-copy, .mnprm .f2-copy { flex-direction: column; }
    .mnprm .f4-student-stats { padding: 10px; }
}
@media (max-width: 330px) {
    .mnprm-toolbar { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .mnprm *, .mnprm *::before, .mnprm *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) {
    .mnprm .btn, .mnprm .quick-link, .mnprm-event, .f4-students .mnprm-tr { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
}
.f4-students .mnprm-tr:hover { background: #f8fbf9; }


/* ==== MOBA.css ==== */
/* MOBA — admin paneli icin QA taramasinda bulunan, ADM.css'te henuz kapsanmamis mobil (360/820)
 * gorsel duzeltmeler. Tum kurallar .admin-body altinda; kullanici/mentor sayfalarini etkilemez.
 * Sadece @media (max-width) kurallari icerir, masaustu (>=1280px) gorunumu degismez. */

@media (max-width: 1024px) {
    /* Genis tablolar (Sinav/Kategori/Odeme/Kupon/Destek listeleri vb.) admin.js tarafindan
       .adm-table-scroll icine sarilip yatay kaydirilabilir yapiliyor, ama kutunun kaydirilabilir
       oldugunu gosteren hicbir gorsel ipucu yoktu; kullanici veri kesilmis saniyordu. Sag kenarda
       hafif bir golge ile "daha fazla sutun var" ipucu eklenir (arka plan rengine bagli degil). */
    .admin-body .adm-table-scroll {
        position: relative;
        border-radius: var(--radius-sm, 6px);
        box-shadow: inset -14px 0 10px -12px rgba(15, 23, 20, .16);
    }

    /* Tablo hucreleri icindeki simge-yalnizca eylem dugmeleri (goruntule/duzenle/sil vb.)
       ~28px yuksekliginde kaliyordu; satir basina en sik dokunulan kontroller. */
    .admin-body .admin-table td .btn.btn-sm {
        min-height: 38px;
        min-width: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .admin-body .admin-table td > .btn + .btn,
    .admin-body .admin-table td > form + .btn,
    .admin-body .admin-table td > .btn + form { margin-left: 6px; }
}


/* ==== MOBM.css ==== */
/* MOBM — ziyaretci (girissiz) ve mentor sayfalari icin QA taramasinda bulunan, henuz kapsanmamis
 * mobil (360/820) duzeltmeler. Sadece @media (max-width) kurallari icerir, masaustu (>=1280px)
 * gorunumu degismez. Ogrenci sayfalari MOBS.css'te (bu dosyada ele alinmaz); admin MOBA.css'te.
 * Cakismayi onlemek icin sayfaya ozgu kapsayici siniflar kullanilir (orn. .f4-page yalnizca
 * mentor-dashboard.php), genel/ortak sinif adlari tek basina KULLANILMAZ. */

@media (max-width: 480px) {
    /* Mentor paneli: "Son sonuclar" listesinde ogrenci detayina giden tek eylem dugmesi
       (.result-item .btn, public/mentor-dashboard.php) btn-sm oldugu icin ~33px yuksekliginde
       kaliyordu; satirin tek dokunma hedefi >=44px olmali. */
    .f4-page .result-item .btn {
        min-height: 44px;
        padding-top: 12px;
        padding-bottom: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}



/* ==== MOBS.css ==== */
/* MOBS — ogrenci (girisli) sayfalari icin ek mobil duzeltmeler.
 * Mevcut RWD.css ve Z-responsive.css genis capta mobil duzeltmeleri zaten kapsiyor (tablo->kart, ust bilgi
 * bandi, ozet kartlari, sinav ekrani vb.); bu dosya QA taramasinda bulunan, henuz kapsanmamis noktalari
 * ekler. Cakismayi onlemek icin sadece OGRENCIYE OZGU, tek sayfada kullanilan kapsayici siniflarla
 * (ornegin .exams-section sadece public/exams.php, .rt-cards sadece public/my-results.php) sinirlandirilir;
 * genel/ortak sinif adlari (.page-header-section, .mo-section, .dashboard-card, .filter-btn tek basina vb.)
 * KULLANILMAZ ki mentor/admin/ziyaretci sayfalarina sizmasin. Sadece @media (max-width) kurallari icerir,
 * masaustu (>820px) gorunumu degistirmez. */

@media (max-width: 820px) {
    /* public/exams.php: .exams-section 80px ust/alt bosluk (style.css) telefonda ust bilgi bandiyla
       filtre cipleri arasinda ~150px bos alan birakiyor, gereksiz kaydirma yaratiyordu. */
    .exams-section { padding: 24px 0 40px; }

    /* Kategori filtre cipleri (Tumu / Kategori 1 / Kategori 2): dokunma hedefi 40px -> 44px */
    .exams-section .filter-btn { min-height: 44px; padding: 12px 20px; }
}

@media (max-width: 480px) {
    /* public/my-results.php (.rt-cards): "Detay" dugmesi btn-sm oldugu icin ~33px yuksekliginde kaliyordu;
       tam genislik listede tek basina dokunulan tek eylem, >=44px olmali. */
    .rt-cards td.rt-action .btn {
        min-height: 44px;
        padding-top: 12px;
        padding-bottom: 12px;
        font-size: 14px;
    }
}


/* ==== MOLYD.css ==== */
/* MOLYD — mentor "Ogrencilerimi kaydet" sayfasi. Tum kurallar .molyd-page ile kapsamlidir (OXAPP / OXNOCTR / F6 ile cakismaz). */

.molyd-page [hidden] { display: none !important; }
.molyd-page .molyd-muted { color: var(--gray-700); font-size: 13px; }
.molyd-page .card-body { padding: 18px 20px; }

/* ---- Ust ozet bandi ---- */
.molyd-hero { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px 24px 20px; margin-bottom: 20px; border-top: 4px solid var(--primary); }
.molyd-hero h1 { margin: 0 0 6px; font-size: 26px; line-height: 1.25; color: var(--dark); overflow-wrap: anywhere; }
.molyd-hero-event { margin: 0; color: var(--gray-800); font-size: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; overflow-wrap: anywhere; }
.molyd-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px 24px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--gray-200); }
.molyd-fact { min-width: 0; }
.molyd-fact dt { font-size: 12.5px; font-weight: 600; color: var(--gray-700); margin: 0 0 4px; display: flex; align-items: center; gap: 6px; }
.molyd-fact dt i { color: var(--primary); width: 16px; text-align: center; }
.molyd-fact dd { margin: 0; font-size: 15px; font-weight: 700; color: var(--dark); overflow-wrap: anywhere; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.molyd-fact-wide { grid-column: 1 / -1; }
.molyd-chip { display: inline-block; padding: 2px 9px; border-radius: 20px; font-size: 12px; font-weight: 700; background: var(--primary-light); color: var(--primary-dark); border: 1px solid #bfe0c8; }
.molyd-chip.is-soon { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.molyd-chip.is-late { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.molyd-exams { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px; width: 100%; }
.molyd-exams li { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); padding: 8px 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.molyd-exam-t { font-weight: 700; font-size: 14px; overflow-wrap: anywhere; }
.molyd-exam-d { font-weight: 500; font-size: 13px; color: var(--gray-700); }
.molyd-exams .molyd-exam-more { background: transparent; border-style: dashed; justify-content: center; font-weight: 700; color: var(--gray-700); }

/* ---- Adim gostergesi ---- */
.molyd-steps { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: none; }
.molyd-steps li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 13px; font-weight: 600; color: var(--gray-700); padding: 0 4px; }
.molyd-steps li::before { content: ''; position: absolute; top: 15px; inset-inline-start: -50%; width: 100%; height: 2px; background: var(--gray-300); z-index: 0; }
.molyd-steps li:first-child::before { display: none; }
.molyd-steps li.is-done::before, .molyd-steps li.is-current::before { background: var(--primary); }
.molyd-step-n { position: relative; z-index: 1; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; background: var(--white); border: 2px solid var(--gray-300); color: var(--gray-700); }
.molyd-steps li.is-current { color: var(--dark); }
.molyd-steps li.is-current .molyd-step-n { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 0 0 4px rgba(50, 131, 74, .18); }
.molyd-steps li.is-done .molyd-step-n { background: var(--primary-light); border-color: var(--primary); color: var(--primary-dark); }
.molyd-steps li.is-done .molyd-step-n::after { content: '\2713'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: var(--primary-light); border-radius: 50%; font-weight: 800; }
.molyd-step-t { line-height: 1.25; overflow-wrap: anywhere; }

/* ---- Ozet sayaclar ---- */
.molyd-counts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; }
.molyd-count { background: var(--white); border-radius: var(--radius-sm); box-shadow: var(--shadow); padding: 12px 14px; display: flex; flex-direction: column-reverse; gap: 2px; border-inline-start: 4px solid var(--gray-300); min-width: 0; }
.molyd-count dt { font-size: 12.5px; font-weight: 600; color: var(--gray-700); margin: 0; line-height: 1.3; }
.molyd-count dd { margin: 0; font-size: 26px; font-weight: 800; color: var(--dark); line-height: 1.1; font-variant-numeric: tabular-nums; }
.molyd-count.is-paid { border-inline-start-color: var(--success); }
.molyd-count.is-proc { border-inline-start-color: var(--info); }
.molyd-count.is-ok { border-inline-start-color: var(--primary); }
.molyd-count.is-grade { border-inline-start-color: var(--warning); }
.molyd-pending { color: #92400e; margin-bottom: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }

/* ---- Ana yerlesim: liste + yapiskan ozet ---- */
.molyd-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; margin-bottom: 24px; }
.molyd-grid.has-rail { grid-template-columns: minmax(0, 1fr) 320px; }
.molyd-main { min-width: 0; }
.molyd-main > .dashboard-card { margin-bottom: 0; }
.molyd-rail { position: sticky; top: 90px; align-self: start; }

/* ---- Odeme ozeti: fis bicimi ---- */
.molyd-sum { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-md); border: 1px solid var(--gray-200); padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.molyd-sum-title { margin: 0; font-size: 15px; font-weight: 700; color: var(--dark); display: flex; align-items: center; gap: 8px; }
.molyd-sum-title i { color: var(--primary); }
.molyd-sum-eq { display: flex; flex-direction: column; gap: 6px; padding: 12px 0; border-block: 2px dashed var(--gray-300); }
.molyd-sum-calc { font-size: 14px; color: var(--gray-800); }
.molyd-sum-calc b { font-size: 16px; color: var(--dark); }
.molyd-sum-total { font-size: 28px; line-height: 1.1; color: var(--dark); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.molyd-sum-split { margin: 0; font-size: 13.5px; color: var(--gray-700); }
.molyd-sum.has-picks .molyd-sum-split { color: var(--gray-900); font-weight: 600; }
.molyd-sum-msg { margin: 0; padding: 8px 10px; border-radius: var(--radius-sm); background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; font-size: 13.5px; font-weight: 600; }
.molyd-pay { min-height: 46px; font-size: 15px; justify-content: center; }
.molyd-pay[disabled] { opacity: .55; cursor: not-allowed; }

/* ---- Arac cubugu ---- */
.molyd-page .oxapp-mdefaults { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); padding: 14px; margin-bottom: 16px; }
.molyd-page .oxapp-mdefaults > label { font-size: 12.5px; font-weight: 600; color: var(--gray-700); }
.molyd-toolbar { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 10px 14px; margin-bottom: 8px; align-items: end; }
.molyd-search, .molyd-filter, .molyd-fld { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.molyd-fld-l { font-size: 12.5px; font-weight: 600; color: var(--gray-700); line-height: 1.3; }
.molyd-page .molyd-search input, .molyd-page .molyd-filter select, .molyd-page .molyd-fld select, .molyd-page .molyd-fld input[type="text"] {
    width: 100%; min-width: 0; min-height: 40px; font: inherit; font-size: 14px; padding: 8px 10px;
    border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background-color: var(--white); color: var(--dark); }
.molyd-page .molyd-search input:focus-visible, .molyd-page .molyd-filter select:focus-visible, .molyd-page .molyd-fld select:focus-visible, .molyd-page .molyd-fld input:focus-visible {
    outline: 3px solid rgba(50, 131, 74, .3); outline-offset: 1px; border-color: var(--primary); }
.molyd-shown { grid-column: 1 / -1; margin: 0; font-size: 13px; color: var(--gray-700); min-height: 0; }
.molyd-shown:empty { display: none; }
.molyd-nomatch { margin: 12px 0 0; padding: 14px; text-align: center; background: var(--gray-50); border-radius: var(--radius-sm); color: var(--gray-700); }

/* ---- Ogrenci satiri ---- */
.molyd-students { margin: 0; }
.molyd-page .f6-st.molyd-st { display: block; padding: 16px 10px; border-bottom: 1px solid var(--gray-200); border-inline-start: 4px solid transparent; }
.molyd-page .f6-st.molyd-st:last-child { border-bottom: 0; }
.molyd-page .f6-st.molyd-st.is-picked { background: var(--primary-light); border-inline-start-color: var(--primary); }
.molyd-page .f6-st.molyd-st.is-error { background: #fef2f2; border-inline-start-color: var(--danger); }
.molyd-st-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap; }
.molyd-page .molyd-st-main { display: flex; align-items: center; gap: 12px; flex: 1 1 260px; min-width: 0; }
.molyd-page .molyd-st-main input { width: 20px; height: 20px; margin: 0; }
.molyd-page .f6-st-name strong { font-size: 16px; color: var(--dark); }
.molyd-page .f6-st-name small { font-size: 13.5px; color: var(--gray-700); }
.molyd-page .f6-st.is-disabled .f6-st-name { opacity: 1; }
.molyd-page .f6-st.is-disabled:not(.f6-st-paid) .molyd-av { opacity: .75; }
.molyd-page .f6-st-tags { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.molyd-page .f6-st-tags:empty { display: none; }
.molyd-av { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--primary-light); color: var(--primary-dark); border: 1px solid #bfe0c8; font-weight: 700; font-size: 13.5px; letter-spacing: .02em; }
.molyd-page .f6-badge i { font-size: 11px; }
.molyd-badge-pick { background: var(--primary-light); color: var(--primary-dark); border: 1px solid #bfe0c8; }
.molyd-badge-off { background: var(--gray-100); color: var(--gray-800); border: 1px solid var(--gray-300); }

/* Alanlar: etiketli, secili satirda goze carpan panel (avatar hizasindan baslar) */
.molyd-page .molyd-st .molyd-flds { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 12px 0 0; margin-inline-start: 70px; padding: 12px; background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); width: auto; align-items: start; }
.molyd-page .molyd-st.is-picked .molyd-flds { background: var(--white); border-color: #bfe0c8; }
.molyd-page .molyd-flds .oxapp-mcat { grid-column: 1 / -1; margin: 0; font-size: 13px; color: var(--primary-dark); font-weight: 600; min-height: 0; }
.molyd-page .molyd-flds .oxapp-mcat:empty { display: none; }
.molyd-page .molyd-flds .oxapp-mcat.is-none { display: block; padding: 6px 10px; border-radius: var(--radius-sm); background: #fef3c7; border: 1px solid #fde68a; color: #92400e; font-weight: 500; }
.molyd-page .molyd-flds .is-invalid { border-color: var(--danger); box-shadow: 0 0 0 2px rgba(220, 38, 38, .2); }
.molyd-st-hint { margin: 10px 0 0; margin-inline-start: 70px; display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: var(--radius-sm); padding: 8px 10px; }
.molyd-st-hint i { margin-top: 3px; }
.molyd-st-msg { margin: 10px 0 0; margin-inline-start: 70px; font-size: 14px; font-weight: 600; color: #991b1b; }
.molyd-st-msg::before { content: '\26A0\FE0E'; margin-inline-end: 6px; }
.molyd-ro { margin: 10px 0 0; margin-inline-start: 70px; display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 13.5px; }
.molyd-ro > div { display: flex; flex-direction: column; min-width: 0; }
.molyd-ro dt { font-size: 12px; color: var(--gray-700); font-weight: 600; }
.molyd-ro dd { margin: 0; font-weight: 700; color: var(--dark); overflow-wrap: anywhere; }
.molyd-ro .molyd-ro-link { justify-content: flex-end; }
.molyd-ro-link a { color: var(--primary-dark); font-weight: 600; text-decoration: underline; }
.molyd-empty { padding: 20px 8px; }

/* ---- Kayitli ogrenciler ---- */
.molyd-registered { margin-bottom: 24px; }
.molyd-reg-list { list-style: none; margin: 0; padding: 0; }
.molyd-reg-head, .molyd-reg-row { display: grid; grid-template-columns: minmax(200px, 1.7fr) 130px minmax(140px, 1.3fr) 100px 150px 150px; gap: 12px; align-items: center; }
.molyd-reg-head { padding: 0 8px 8px; font-size: 12.5px; font-weight: 700; color: var(--gray-700); border-bottom: 2px solid var(--gray-200); }
.molyd-reg { border-bottom: 1px solid var(--gray-200); padding: 12px 8px 6px; }
.molyd-reg:last-child { border-bottom: 0; }
.molyd-cell { min-width: 0; font-size: 14px; display: flex; flex-direction: column; gap: 3px; align-items: flex-start; overflow-wrap: anywhere; }
.molyd-cell::before { display: none; }
.molyd-cell-name { flex-direction: row; align-items: center; gap: 12px; }
.molyd-reg-name { display: flex; flex-direction: column; min-width: 0; }
.molyd-reg-name strong { font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
.molyd-reg-name small { color: var(--gray-700); font-size: 13px; overflow-wrap: anywhere; }
.molyd-mode-online { background: #dbeafe; color: #1e40af; }
.molyd-mode-onsite { background: #ede9fe; color: #5b21b6; }
.molyd-cell .f6-code { white-space: nowrap; }
.molyd-reg .f6-reg { border: 0; margin: 4px 0 0; }
.molyd-reg .f6-reg summary { padding: 6px 0; justify-content: flex-start; }
.molyd-reg .f6-reg-body { padding: 8px 0 8px; }
.molyd-reg .f6-reg[open] { background: var(--gray-50); border-radius: var(--radius-sm); padding: 0 12px; }
.molyd-reg .f6-reg-actions .molyd-flds { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; width: 100%; align-items: end; }
.molyd-reg .f6-reg-actions .molyd-flds .btn { min-height: 40px; }

/* ---- Alt bilgi kartlari ---- */
.molyd-extras { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: start; }
.molyd-extras > * { margin: 0; min-width: 0; }
.molyd-extras .f6-cover { max-height: 200px; }

/* ---- Tablet / telefon ---- */
@media (max-width: 960px) {
    .molyd-grid.has-rail { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    /* Telefonda ozet alta yapisir; liste bitince normal akisa doner (son satiri ortmez) */
    .molyd-rail { position: sticky; top: auto; bottom: 0; z-index: 40; margin-inline: -16px; }
    .molyd-sum { border-radius: var(--radius) var(--radius) 0 0; border-width: 1px 0 0; box-shadow: 0 -4px 16px rgba(0, 0, 0, .12); padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; align-items: center; }
    .molyd-sum-title { display: none; }
    .molyd-sum-eq { padding: 0; border: 0; gap: 2px; }
    .molyd-sum-total { font-size: 22px; }
    .molyd-sum-split { grid-column: 1; font-size: 12.5px; }
    .molyd-sum-msg { grid-column: 1 / -1; }
    .molyd-pay { grid-column: 2; grid-row: 1 / span 2; width: auto; padding-inline: 18px; }

    .molyd-reg-head { display: none; }
    .molyd-reg-row { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 16px; }
    .molyd-cell-name { grid-column: 1 / -1; }
    .molyd-cell::before { display: block; content: attr(data-label); font-size: 12px; font-weight: 600; color: var(--gray-700); }
    .molyd-cell-name::before { display: none; }
}
@media (max-width: 900px) {
    .molyd-counts { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
}
@media (max-width: 600px) {
    .molyd-hero { padding: 16px 16px 16px; }
    .molyd-hero h1 { font-size: 22px; }
    .molyd-page .card-body { padding: 14px 12px; }
    .molyd-steps li { font-size: 12px; }
    .molyd-step-n { width: 28px; height: 28px; font-size: 13px; }
    .molyd-steps li::before { top: 13px; }
    .molyd-toolbar { grid-template-columns: minmax(0, 1fr); }
    .molyd-page .molyd-st .molyd-flds, .molyd-st-hint, .molyd-st-msg, .molyd-ro { margin-inline-start: 0; }
    .molyd-page .molyd-st .molyd-flds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .molyd-page .f6-st.molyd-st { padding: 14px 6px; }
    .molyd-count dd { font-size: 22px; }
}
@media (max-width: 380px) {
    .molyd-page .molyd-st .molyd-flds { grid-template-columns: minmax(0, 1fr); }
    .molyd-steps .molyd-step-t { font-size: 11px; }
}
@media (prefers-reduced-motion: no-preference) {
    .molyd-page .f6-st.molyd-st, .molyd-step-n { transition: background-color .15s, border-color .15s; }
}


/* ==== MOSPRM.css ==== */
/* MOSPRM - mentor: ogrencilerimin olimpiyat sonuclari (public/mentor-olympiad-results.php) premium duzeni.
   Tum kurallar .mosprm kapsamli (ozgulluk kok sinifla artirildi). MNPRM ailesi tablo dili: tek cizgi rengi,
   16px kart, 10px ic kutu, 8px buton, tam yuvarlak etiket, gradient yok. Mantiksal ozellikler (RTL). */

.mosprm {
    --ms-line: #d6e3d9; --ms-ink: var(--dark); --ms-text: #3f4a43; --ms-muted: #56615a;
    --ms-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    padding-block: clamp(24px, 4vw, 44px) 80px; color: var(--ms-text);
}
.mosprm a, .mosprm button, .mosprm select { touch-action: manipulation; }
.mosprm a:focus-visible, .mosprm select:focus-visible, .mosprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.mosprm h1, .mosprm h2 { text-wrap: balance; }
[dir="rtl"] .mosprm .mosprm-flip { transform: scaleX(-1); }

.mosprm .mosprm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 24px; }
.mosprm .mosprm-head h1 {
    flex: 1 1 320px; min-width: 0; margin: 0; font-family: var(--ms-display); font-weight: 800; color: var(--ms-ink); text-align: start;
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere;
}
.mosprm .btn { min-height: 44px; padding: 0 18px; border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; }
.mosprm .btn:hover { transform: none; box-shadow: none; }
.mosprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }

.mosprm .mosprm-muted { color: var(--ms-muted); font-size: 13.5px; line-height: 1.45; overflow-wrap: anywhere; }
.mosprm .mosprm-none { color: var(--ms-muted); font-weight: 600; text-align: center; }

/* Olimpiyat secici */
.mosprm .mosprm-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 20px; }
.mosprm .mosprm-toolbar label { font-size: 14px; font-weight: 700; color: var(--ms-ink); }
.mosprm .mosprm-toolbar select {
    flex: 0 1 420px; min-width: 0; max-width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid #7d8e83;
    border-radius: var(--radius-sm); background: #fff; font: inherit; font-size: 15px; color: var(--ms-ink);
}

/* Bos durum */
.mosprm .mosprm-empty {
    display: flex; align-items: center; gap: 14px; margin: 0 0 20px; padding: clamp(18px, 3vw, 28px);
    background: #fff; border: 1px solid var(--ms-line); border-radius: 16px;
}
.mosprm .mosprm-empty i { flex: none; font-size: 22px; color: var(--primary); }
.mosprm .mosprm-empty p { margin: 0; max-width: 56ch; font-size: 15.5px; line-height: 1.55; color: var(--ms-text); }

/* Sinav blogu */
.mosprm .f7-card.mosprm-block { background: #fff; border: 1px solid var(--ms-line); border-radius: 16px; box-shadow: none; padding: 0; margin: 0 0 20px; overflow: hidden; min-width: 0; }
.mosprm .f7-results-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; padding: 16px 22px; border-bottom: 1px solid var(--ms-line); }
.mosprm .f7-results-head h2 { flex: 1 1 240px; min-width: 0; margin: 0; font-family: var(--ms-display); font-size: 17px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; color: var(--ms-ink); overflow-wrap: anywhere; }
.mosprm .mosprm-range { font-variant-numeric: tabular-nums; }
.mosprm .f7-pill {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.35;
    background: #fef3c7; color: #92400e; border: 1px solid #fde68a; font-variant-numeric: tabular-nums;
}
.mosprm .f7-pill-ok { background: #e3f3e8; color: #166534; border-color: #bfe0c8; }
.mosprm .f7-card.mosprm-block > p { margin: 0; padding: 18px 22px; }
.mosprm .f7-table-wrap { overflow-x: auto; padding: 0 22px 6px; }

/* Tablo */
.mosprm .mosprm-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.mosprm .mosprm-table th, .mosprm .mosprm-table td { padding: 12px 10px; text-align: start; vertical-align: middle; border-top: 1px solid var(--ms-line); }
.mosprm .mosprm-table thead th { border-top: 0; padding-block: 12px 10px; font-size: 12.5px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--ms-muted); white-space: nowrap; }
.mosprm .mosprm-table thead tr { border-bottom: 1px solid var(--ms-line); }
.mosprm .mosprm-table tbody tr:first-child td { border-top: 0; }
.mosprm .mosprm-table th:first-child, .mosprm .mosprm-table td:first-child { padding-inline-start: 0; }
.mosprm .mosprm-table th:last-child, .mosprm .mosprm-table td:last-child { padding-inline-end: 0; }
.mosprm .mosprm-table .num { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mosprm .mosprm-table td.num strong { font-family: var(--ms-display); font-weight: 800; color: var(--ms-ink); }
.mosprm .mosprm-table td:first-child { min-width: 180px; }
.mosprm .mosprm-table td:first-child strong { display: block; font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--ms-ink); overflow-wrap: anywhere; }
.mosprm .mosprm-table td small { display: block; margin-top: 2px; }
.mosprm .f7-status { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: var(--gray-100); color: var(--ms-text); border: 1px solid var(--ms-line); white-space: nowrap; }
.mosprm .f7-status-open { background: #eff6ff; color: #1e40af; border-color: #bfdbfe; }
.mosprm .f7-status-in_exam { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.mosprm .f7-status-done { background: #e3f3e8; color: #166534; border-color: #bfe0c8; }
.mosprm .f7-status-missed { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

/* Dar ekran: satirlar kart olur (etiket data-label'dan) */
@media (max-width: 820px) {
    .mosprm .f7-table-wrap { padding: 12px 16px 4px; overflow: visible; }
    .mosprm .mosprm-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mosprm .mosprm-table, .mosprm .mosprm-table tbody, .mosprm .mosprm-table tr, .mosprm .mosprm-table td { display: block; width: 100%; }
    .mosprm .mosprm-table tr { margin: 0; padding: 0 0 6px; border: 0; border-top: 1px solid var(--ms-line); }
    .mosprm .mosprm-table tbody tr:first-child { border-top: 0; }
    .mosprm .mosprm-table td, .mosprm .mosprm-table td:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--ms-line); min-width: 0; text-align: end; }
    .mosprm .mosprm-table tbody tr td:first-child { display: block; padding-block: 12px 10px; border-top: 0; text-align: start; }
    .mosprm .mosprm-table tbody tr td:first-child::before { display: none; }
    .mosprm .mosprm-table td[data-label]::before { content: attr(data-label); flex: none; font-size: 13px; font-weight: 600; color: var(--ms-muted); text-align: start; }
    .mosprm .mosprm-table td.num { text-align: end; white-space: normal; }
    .mosprm .mosprm-table td.mosprm-none { justify-content: center; }
}
@media (max-width: 600px) {
    .mosprm .f7-results-head { padding: 14px 16px; }
    .mosprm .mosprm-toolbar select { flex-basis: 100%; }
    .mosprm .mosprm-head .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .mosprm * { transition: none !important; } }


/* ==== MPRF.css ==== */
/* MPRF - hesap / profil bilgi mimarisi.
   1) Header hesap menusu + cekmece: baslikli gruplar (.hd-group, .hd-group-title)
   2) "Hesabim" alt gezinmesi (.mprf-tabsbar): Profil / Sifre / Mentor bilgilerim — profile.php, change-password.php,
      mentor-profile.php ortak
   3) Mentor bilgilerim sayfasi (.mprf): sol yapiskan bolum menusu (mobilde ustte yatay cipler) + tek kart icinde bolumler
   Sekil kilidi: kart 16px, ic kutu 10px, alan/buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */

/* ------------------------------------------------------------------ */
/* 1) Menu gruplari                                                    */
/* ------------------------------------------------------------------ */
.hd-group { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.hd-group-title {
    margin: 0; padding: 8px 12px 4px; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif;
    font-size: 12px; font-weight: 800; letter-spacing: 0; color: #566159;
}
.hd-menu-groups { gap: 4px; }
.hd-menu-groups > .hd-group + .hd-group { border-top: 1px solid #e3ece6; margin-top: 4px; padding-top: 4px; }
.hd-drawer-body .hd-menu-groups { margin-top: 6px; border-top: 1px solid #d6e3d9; padding-top: 6px; }

/* acilir menu: uzun listeler sigmazsa kaydirilir; genis ekranda iki sutun */
.hd-user-panel { max-height: calc(100vh - 92px); overflow-y: auto; overscroll-behavior: contain; }
.hd-user-panel .hd-menu-link { padding: 8px 12px; font-size: 14px; }
@media (min-width: 760px) {
    .hd-user-panel { width: 560px; }
    .hd-user-panel .hd-menu-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; align-items: start; }
    .hd-user-panel .hd-menu-groups > .hd-group + .hd-group { border-top: 0; margin-top: 0; padding-top: 0; }
    .hd-user-panel .hd-menu-groups > .hd-group { border-top: 1px solid #e3ece6; padding-top: 4px; }
    .hd-user-panel .hd-menu-groups > .hd-group:nth-child(-n+2) { border-top: 0; padding-top: 0; }
    .hd-user-panel .hd-menu-groups > a { grid-column: 1 / -1; }
}
/* slot baglantisi (olimpiyat sinavi acik) ilk grubu itmesin */
.hd-user-panel .hd-menu-groups > a + .hd-group { border-top: 0; }

/* ------------------------------------------------------------------ */
/* 2) Hesabim alt gezinmesi                                            */
/* ------------------------------------------------------------------ */
.mprf-tabsbar { background: #fff; border-bottom: 1px solid #d6e3d9; }
.mprf-tabs ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.mprf-tabs ul::-webkit-scrollbar { display: none; }
.mprf-tabs li { flex: 0 0 auto; }
.mprf-tab {
    position: relative; display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px;
    font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-size: 14px; font-weight: 600; white-space: nowrap;
    color: #2d3830; text-decoration: none; touch-action: manipulation; transition: color .2s ease;
}
.mprf-tab i { font-size: 13px; color: #566159; }
.mprf-tab::after {
    content: ""; position: absolute; inset-inline: 14px; bottom: -1px; height: 2px; border-radius: 2px 2px 0 0;
    background: var(--primary); transform: scaleX(0); transition: transform .22s ease;
}
.mprf-tab:hover { color: var(--primary-dark); }
.mprf-tab:hover::after { transform: scaleX(.5); }
.mprf-tab.is-active { color: var(--primary-dark); font-weight: 800; }
.mprf-tab.is-active i { color: var(--primary); }
.mprf-tab.is-active::after { transform: scaleX(1); }
.mprf-tab:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; border-radius: 8px; }
.profprm .mprf-tabsbar .container { max-width: 1080px; }
@media (max-width: 480px) { .mprf-tab { padding: 0 10px; gap: 0; } .mprf-tab i { display: none; } .mprf-tab::after { inset-inline: 10px; } }

/* ------------------------------------------------------------------ */
/* 3) Mentor bilgilerim                                                */
/* ------------------------------------------------------------------ */
.mprf {
    --mp-tint: #f1f6f2; --mp-line: #d6e3d9; --mp-field-line: #7a9281; --mp-text: #4a554e; --mp-ink: var(--dark);
    --mp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--mp-tint); box-shadow: 0 72px 0 0 var(--mp-tint);
}
.mprf a, .mprf button, .mprf label, .mprf input, .mprf select { touch-action: manipulation; }
.mprf a:focus-visible, .mprf button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.mprf .container { max-width: 1080px; }

.mprf .mprf-head { padding: clamp(28px, 4vw, 44px) 0; background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #164426 100%); }
.mprf .mprf-title {
    margin: 0; color: #fff; text-align: start; font-family: var(--mp-display); font-weight: 800; letter-spacing: -0.03em;
    line-height: 1.1; font-size: clamp(28px, 3.4vw, 40px); text-wrap: balance;
}
.mprf .mprf-lead { margin: 10px 0 0; max-width: 62ch; color: #cfe3d5; font-size: 16px; line-height: 1.55; }

.mprf .mprf-body { padding: clamp(20px, 3vw, 36px) 0 clamp(32px, 4vw, 56px); }
.mprf .mprf-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.mprf .mprf-main { min-width: 0; }

/* bolum menusu: mobil = ustte yapiskan yatay cipler */
.mprf .mprf-toc {
    position: sticky; top: var(--hdr-h, 61px); z-index: 20; margin-inline: -12px; padding: 8px 12px;
    background: rgba(241, 246, 242, .96); border-bottom: 1px solid var(--mp-line);
}
.mprf .mprf-toc ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.mprf .mprf-toc ul::-webkit-scrollbar { display: none; }
.mprf .mprf-toc li { flex: 0 0 auto; }
.mprf .mprf-toc a {
    display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--mp-line);
    border-radius: 999px; background: #fff; color: #2d3830; font-size: 14px; font-weight: 600; white-space: nowrap; text-decoration: none;
}
.mprf .mprf-toc a i { font-size: 13px; color: #566159; }
.mprf .mprf-toc a:hover { border-color: var(--primary); color: var(--primary-dark); }
.mprf .mprf-toc a.is-active { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.mprf .mprf-toc a.is-active i { color: #8fe0a9; }

/* masaustu: solda yapiskan dikey menu */
@media (min-width: 900px) {
    .mprf .mprf-grid { grid-template-columns: 220px minmax(0, 1fr); gap: 28px; }
    .mprf .mprf-toc {
        top: calc(var(--hdr-h, 69px) + 16px); margin: 0; padding: 0; background: none; border: 0; z-index: 1;
    }
    .mprf .mprf-toc ul { flex-direction: column; gap: 2px; overflow: visible; }
    .mprf .mprf-toc a {
        display: flex; width: 100%; border: 0; border-radius: 10px; background: none; padding: 0 12px; min-height: 44px;
        position: relative;
    }
    .mprf .mprf-toc a:hover { background: #e4efe7; }
    .mprf .mprf-toc a.is-active { background: #fff; color: var(--primary-dark); font-weight: 800; box-shadow: inset 0 0 0 1px var(--mp-line); }
    .mprf .mprf-toc a.is-active i { color: var(--primary); }
    .mprf .mprf-toc a.is-active::before {
        content: ""; position: absolute; inset-inline-start: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: var(--primary);
    }
}

/* durum seridi (davranis ayni, f1-status sinifi turun hedefi) */
.mprf .f1-status { margin-bottom: 16px; border-radius: 10px; }
.mprf .f1-status strong { font-family: var(--mp-display); }
.mprf .alert { margin: 0 0 16px; border-radius: 10px; }

/* tek kart, bolumler cizgiyle ayrilir */
.mprf .profile-card { max-width: none; margin: 0 0 16px; }
.mprf .profile-card.mprf-card {
    max-width: none; margin: 0; padding: clamp(18px, 3vw, 32px);
    background: #fff; border: 1px solid var(--mp-line); border-radius: 16px; box-shadow: none;
}
.mprf .mprf-sec { padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid var(--mp-line); scroll-margin-top: calc(var(--hdr-h, 61px) + 64px); }
@media (min-width: 900px) { .mprf .mprf-sec { scroll-margin-top: calc(var(--hdr-h, 69px) + 16px); } }
.mprf #mprf-about { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.mprf .mprf-sec-title {
    display: flex; align-items: center; gap: 10px; margin: 0 0 16px;
    font-family: var(--mp-display); font-size: 18px; font-weight: 800; letter-spacing: -0.015em; color: var(--mp-ink);
}
.mprf .mprf-sec-title i {
    display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 auto;
    border-radius: 10px; background: #e4f1e8; color: #1f6b3a; font-size: 14px;
}
.mprf .f1-photo-form + hr { display: none; }
.mprf .f1-photo-row { margin: 0; }
.mprf .f1-muted { color: var(--mp-text); }

/* alanlar (PROFPRM ile ayni kalip) */
.mprf .form-group { margin-bottom: 16px; }
.mprf .form-row-2 { gap: 0 16px; }
.mprf .form-group label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--mp-ink); }
.mprf .form-group input, .mprf .form-group select, .mprf .form-group textarea {
    border: 1px solid var(--mp-field-line); border-radius: 8px; background-color: #fff;
}
.mprf .form-group input, .mprf .form-group select { min-height: 46px; }
.mprf .form-group input:focus, .mprf .form-group select:focus, .mprf .form-group textarea:focus {
    border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, 0.28); outline-offset: 0; box-shadow: none;
}
.mprf .form-group small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--mp-text); }
.mprf .profile-card .form-row-2:has(.mo-phone-input) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .mprf .profile-card .form-row-2:has(.mo-phone-input) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mprf .profile-card .btn { border-radius: 8px; }
.mprf .profile-card .btn-sm { min-height: 40px; }
.mprf .mprf-save { margin-top: 26px; min-height: 48px; padding-inline: 28px; font-weight: 700; }
@media (max-width: 540px) {
    .mprf .profile-card.mprf-card { padding: 18px 16px; }
    .mprf .mprf-save { width: 100%; justify-content: center; }
}
html:has(.mprf) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
    html:has(.mprf) { scroll-behavior: auto; }
    .mprf *, .mprf-tab, .mprf-tab::after, .hd-group * { transition: none !important; animation: none !important; }
}


/* ==== MREP.css ==== */
/* MREP — Mentor sinif raporu (isi haritasi, gelisim grafigi, yazdir) + mentor sayfalari erisilebilirlik */

/* ---------- Ortak ---------- */
.mrep-sr {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.mrep-muted { color: var(--gray-700, #5f6368); font-size: 14px; }
.mrep-print-only { display: none; }
.mrep-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.mrep-page .card-body { padding: 20px 24px; }
.mrep-page .card-header .mrep-h { font-size: 18px; margin: 0; display: flex; align-items: center; gap: 8px; }
.mrep-page .card-header .mrep-h i { color: var(--primary); }
.mrep-card { margin-bottom: 20px; }

/* ---------- Filtre ---------- */
.mrep-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0 0 20px; }
.mrep-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mrep-field label { font-size: 13px; font-weight: 600; color: var(--gray-800, #3c4043); }
.mrep-field input[type="date"] { padding: 8px 10px; border: 1px solid var(--gray-300, #dadce0); border-radius: var(--radius-sm, 6px); font: inherit; min-height: 40px; background: #fff; }
.mrep-field-btn { flex-direction: row; flex-wrap: wrap; gap: 8px; }

/* ---------- Lejant ---------- */
.mrep-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 0; margin: 10px 0 12px; font-size: 13px; color: var(--gray-800, #3c4043); }
.mrep-legend li { display: inline-flex; align-items: center; gap: 6px; }
.mrep-swatch { display: inline-block; width: 18px; height: 14px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, .15); }

/* ---------- Isi haritasi (renk + sayi; metin kontrasti >= 4.5:1) ---------- */
.mrep-h0 { background: #fecaca; color: #7f1d1d; }
.mrep-h1 { background: #fed7aa; color: #7c2d12; }
.mrep-h2 { background: #fef08a; color: #713f12; }
.mrep-h3 { background: #bbf7d0; color: #14532d; }
.mrep-h-none { background: #f1f5f9; color: #475569; }

.mrep-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; border: 1px solid var(--gray-200, #e8eaed); border-radius: var(--radius-sm, 6px); }
.mrep-table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 14px; }
.mrep-table th, .mrep-table td { padding: 8px 10px; border-bottom: 1px solid var(--gray-200, #e8eaed); text-align: center; white-space: nowrap; }
.mrep-table thead th { background: var(--gray-50, #f8f9fa); color: var(--gray-800, #3c4043); font-weight: 600; font-size: 13px; vertical-align: bottom; white-space: normal; overflow-wrap: normal; word-break: normal; min-width: 72px; max-width: 140px; }
.mrep-table tbody th, .mrep-table tfoot th { text-align: left; font-weight: 600; }
.mrep-table tbody th a { color: var(--dark, #1f2937); }
.mrep-table tbody th a:hover { color: var(--primary); text-decoration: underline; }
.mrep-table tbody th small { display: block; font-weight: 400; font-size: 12px; }
.mrep-table tfoot th, .mrep-table tfoot td { border-top: 2px solid var(--gray-300, #dadce0); font-weight: 700; }
.mrep-sticky { position: sticky; left: 0; z-index: 1; background: #fff; min-width: 150px; max-width: 220px; white-space: normal !important; box-shadow: 1px 0 0 var(--gray-200, #e8eaed); }
.mrep-table thead .mrep-sticky { background: var(--gray-50, #f8f9fa); z-index: 2; }
/* RTL: "Ogrenci" sutunu okuma yonunde basta (sagda) kalmali; sola sabitlenirse yandaki
   sutun basligi kaydirma kutusunun kenarinda kirpiliyordu. */
[dir="rtl"] .mrep-sticky { left: auto; right: 0; box-shadow: -1px 0 0 var(--gray-200, #e8eaed); }
.mrep-cell { font-weight: 700; font-variant-numeric: tabular-nums; }
.mrep-sub { display: block; font-weight: 400; font-size: 11px; opacity: .9; }
.mrep-total { border-left: 2px solid var(--gray-300, #dadce0); }
.mrep-num { font-variant-numeric: tabular-nums; }
.mrep-table-plain td, .mrep-table-plain th { text-align: left; }

/* ---------- Grafik ---------- */
.mrep-chart-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.mrep-chart-tools label { font-weight: 600; font-size: 14px; }
.mrep-chart-tools select { padding: 8px 10px; border: 1px solid var(--gray-300, #dadce0); border-radius: var(--radius-sm, 6px); font: inherit; min-height: 40px; max-width: 100%; background: #fff; }
.mrep-chart-box { position: relative; height: 320px; width: 100%; }
.mrep-chart-data { margin-top: 14px; }
.mrep-chart-data summary { cursor: pointer; font-weight: 600; color: var(--primary-dark, #183f23); padding: 4px 0; }

/* ---------- Mentor paneli karti ---------- */
.mrep-slot .card-body { padding: 16px 20px; }
.mrep-slot .mrep-muted { margin: 0 0 12px; }

/* ---------- Admin: profil degisti ---------- */
.mrep-badge-changed { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; background: #fef3c7; color: #92400e; white-space: nowrap; }
.mrep-admin-filter { margin: 12px 0 0; }
.mrep-review-card { border-left: 4px solid #d97706; }

@media (max-width: 600px) {
    .mrep-page .card-body { padding: 14px; }
    .mrep-filter { gap: 10px; }
    .mrep-field { flex: 1 1 140px; }
    .mrep-field input[type="date"] { width: 100%; }
    .mrep-field-btn { flex: 1 1 100%; }
    .mrep-chart-box { height: 260px; }
    .mrep-chart-tools select { width: 100%; }
    .mrep-sticky { min-width: 120px; }
    .mrep-table { font-size: 13px; }
}

/* ---------- Yazdir / PDF ---------- */
/* Adlandirilmis sayfa: yatay A4 yalnizca rapor icin (diger sayfalarin yazdirmasi etkilenmez) */
@page mrep { size: A4 landscape; margin: 12mm; }
@media print {
    .mrep-page { page: mrep; padding: 0 !important; }
    /* Yalnizca rapor sayfasinda: site ust/alt bolumu ve cerez cubugu yazdirilmaz */
    body:has(.mrep-page) { background: #fff !important; }
    body:has(.mrep-page) .main-header,
    body:has(.mrep-page) .main-footer,
    body:has(.mrep-page) .fib-cookie,
    .mrep-no-print { display: none !important; }
    .mrep-print-only { display: block; }
    .mrep-page .container { max-width: none; width: 100%; padding: 0; }
    .mrep-card { box-shadow: none !important; border: 1px solid #ccc; break-inside: avoid; page-break-inside: avoid; }
    .mrep-table-wrap { overflow: visible; border: 0; }
    .mrep-sticky { position: static; box-shadow: none; }
    .mrep-cell, .mrep-swatch, .mrep-h0, .mrep-h1, .mrep-h2, .mrep-h3, .mrep-h-none {
        -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
    .mrep-chart-data { display: none; }
    .mrep-chart-box { height: 280px; }
    .mrep-table a { color: inherit; text-decoration: none; }
}

/* ======================================================================
 * Erisilebilirlik — mentor sayfalari (odak gorunurlugu + kontrast)
 * Yalnizca gorunum; davranis degismez.
 * ====================================================================== */
.f4-page :focus-visible,
.f2-page :focus-visible,
.f6-page :focus-visible,
.mo-section :focus-visible,
.profile-section :focus-visible,
.auth-section :focus-visible,
.mrep-page :focus-visible,
.mrep-slot :focus-visible {
    outline: 3px solid var(--primary-dark, #183f23);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .9);
}
.mrep-table-wrap:focus-visible { outline: 3px solid var(--primary-dark, #183f23); outline-offset: 2px; }
/* Gizli dosya secici: odak etiketin uzerinde gorunsun */
.mrep-attach { position: relative; }
.mrep-attach:focus-within { outline: 3px solid var(--primary-dark, #183f23); outline-offset: 2px; border-radius: 50%; }

/* Kontrast: acik gri (#80868b, ~3.5:1) kucuk metinler koyulastirilir (>= 4.5:1) */
.f4-page .f4-muted,
.f6-page .f6-muted,
.mo-section .mo-muted,
.profile-section .f1-muted,
.f2-page .f2-label {
    color: var(--gray-700, #5f6368);
}


/* ==== MRGPRM.css ==== */
/* MRGPRM - mentor kayit sayfasi (public/mentor-register.php): RGPRM/LGPRM ailesiyle ayni kabuk (solda form,
   sagda koyu yesil marka paneli + spiral, gruplu alanlar). Tum kurallar .mrgprm kokuyle kapsamli.
   RGPRM.css ile ayni gorunum; ayri kapsam (baska sayfanin CSS dosyasina bagimlilik yok). */

.mrgprm {
    --rg-tint: #f1f6f2;
    --rg-line: #d6e3d9;
    --rg-field: #7a9281;          /* alan kenari: beyaz uzerinde 3:1 uzeri (LGPRM ile ayni) */
    --rg-ink: var(--dark);
    --rg-text: #4a554e;
    --rg-muted: #566259;
    --rg-r: 16px;
    --rg-r-sm: 10px;
    --rg-r-btn: 8px;
    --rg-danger: #b3261e;
    --rg-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    display: block; min-height: 0;
    padding: clamp(24px, 4vw, 56px) 0;
    background: var(--rg-tint);
    box-shadow: 0 72px 0 0 var(--rg-tint); /* alt bilgi (.ftr) 72px ust bosluk koyar; zemin ona kadar uzansin */
}

.mrgprm a, .mrgprm button, .mrgprm label, .mrgprm input { touch-action: manipulation; }
.mrgprm a:focus-visible,
.mrgprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- iskelet: tek kabuk, form + marka paneli bitisik ---------- */
.mrgprm .rg-wrap {
    display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch;
    width: min(1120px, 100% - 32px); margin-inline: auto;
    background: #fff; border: 1px solid var(--rg-line); border-radius: var(--rg-r); overflow: hidden;
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35);
}
.mrgprm .rg-card { min-width: 0; padding: clamp(24px, 4vw, 52px); }

@media (min-width: 960px) {
    .mrgprm .rg-wrap { grid-template-columns: minmax(0, 1fr) 380px; }
    .mrgprm .rg-side-body { position: sticky; inset-block-start: 96px; }
}

/* ---------- baslik ---------- */
.mrgprm .rg-head { text-align: start; margin: 0 0 24px; }
.mrgprm .rg-head h1 {
    font-family: var(--rg-display); font-weight: 800; color: var(--rg-ink); text-wrap: balance;
    font-size: clamp(28px, 3vw, 36px); line-height: 1.12; letter-spacing: -0.03em; margin: 0;
}
.mrgprm .rg-head p { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--rg-text); max-width: 56ch; }

/* uyarilar (hata kutusu: giris sayfasiyla ayni) */
.mrgprm .alert {
    display: flex; gap: 10px; align-items: flex-start; margin: 0 0 20px; padding: 12px 14px;
    border-radius: var(--rg-r-sm); font-size: 14.5px; line-height: 1.45; border-inline-start-width: 3px;
}
.mrgprm .alert > i { margin-top: 2px; flex-shrink: 0; }
.mrgprm .alert-danger { background: #fdf0ee; color: #8c1d18; border: 1px solid #f0c4bf; border-inline-start: 3px solid var(--rg-danger); }
.mrgprm .alert-danger > i { color: var(--rg-danger); }
.mrgprm .alert-info { background: var(--rg-tint); color: var(--primary-dark); border: 1px solid var(--rg-line); border-inline-start: 3px solid var(--primary); }
.mrgprm .alert-warning { background: #fef7e0; color: #7a4204; border: 1px solid #f1deaa; border-inline-start: 3px solid var(--warning); }

/* ---------- form gruplari ---------- */
.mrgprm .rg-required { margin: 0 0 8px; font-size: 13px; color: var(--rg-muted); }

.mrgprm .rg-group { margin: 0; padding: 22px 0 6px; border-top: 1px solid var(--rg-line); min-width: 0; }
.mrgprm .rg-group:first-of-type { border-top: 0; padding-top: 6px; }
.mrgprm .rg-group-title {
    font-family: var(--rg-display); font-weight: 800; font-size: 18px; line-height: 1.3;
    letter-spacing: -0.01em; color: var(--rg-ink); margin: 0 0 16px;
}

.mrgprm .authx-form .form-group { margin-bottom: 18px; }
.mrgprm .form-row-2 { grid-template-columns: minmax(0, 1fr); gap: 0; }
@media (min-width: 600px) {
    .mrgprm .form-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
}

.mrgprm .form-group label {
    display: block; margin: 0 0 8px;
    font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--rg-ink);
}
.mrgprm .form-group input:not([type="checkbox"]):not([type="hidden"]),
.mrgprm .form-group select {
    width: 100%; min-height: 48px; padding: 11px 14px;
    font-family: var(--font); font-size: 16px; line-height: 1.4; color: var(--rg-ink);
    background-color: #fff; border: 1.5px solid var(--rg-field); border-radius: var(--rg-r-btn);
}
.mrgprm .form-group input::placeholder { color: #66716a; opacity: 1; }
.mrgprm .form-group input:not([type="checkbox"]):hover,
.mrgprm .form-group select:hover { border-color: var(--primary-dark); }
.mrgprm .form-group input:not([type="checkbox"]):focus,
.mrgprm .form-group select:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22); outline: none; }
.mrgprm .form-group select { padding-inline-end: 38px; }

.mrgprm .rg-hint { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--rg-muted); }
.mrgprm .password-input { position: relative; }
.mrgprm .password-input input { padding-inline-end: 52px; }
.mrgprm .password-toggle {
    position: absolute; inset-block-start: 50%; inset-inline-end: 2px;
    transform: translateY(-50%); width: 44px; height: 44px; border-radius: var(--rg-r-btn); color: var(--rg-text);
}
.mrgprm .password-toggle:hover { background: var(--rg-tint); color: var(--rg-ink); }
.mrgprm .password-toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }

/* hata durumu: kenar + metin (yalniz renge bagli degil, mesaj alanin altinda) */
.mrgprm .form-group.has-error input:not([type="checkbox"]),
.mrgprm .form-group.has-error select { border-color: var(--rg-danger); border-width: 2px; background-color: #fffafa; }
.mrgprm .form-group.has-error input:focus,
.mrgprm .form-group.has-error select:focus { box-shadow: 0 0 0 4px rgba(179, 38, 30, 0.2); }
.mrgprm .authx-field-error { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.45; color: var(--rg-danger); }
.mrgprm .rg-group--legal.has-error .lg-consent,
.mrgprm .rg-group--legal.has-error .checkbox-label { color: #7f1d1d; }

/* ---------- onaylar ---------- */
.mrgprm .rg-group--legal { padding-bottom: 4px; }
.mrgprm .rg-group--legal .lg-consents { gap: 4px; margin: 0 0 18px; }
.mrgprm .rg-group--legal .checkbox-label,
.mrgprm .rg-group--legal .lg-consent {
    display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 8px 0;
    font-size: 15px; line-height: 1.5; color: var(--rg-text);
}
.mrgprm .rg-group--legal input[type="checkbox"] {
    width: 22px !important; height: 22px; margin-top: 1px; flex-shrink: 0; accent-color: var(--primary);
}
.mrgprm .rg-group--legal input[type="checkbox"]:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.mrgprm .rg-group--legal a { color: var(--primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.mrgprm .rg-group--legal a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.mrgprm .rg-group--legal .lg-consent-info { background: var(--rg-tint); border-radius: var(--rg-r-sm); font-size: 14px; color: var(--rg-text); }

/* ---------- gonder dugmesi + alt satir ---------- */
.mrgprm .authx-submit {
    min-height: 52px; margin-top: 6px; padding: 0 24px; border-radius: var(--rg-r-btn);
    font-family: var(--font); font-size: 16px; font-weight: 700; letter-spacing: 0;
}
.mrgprm .authx-submit:hover:not([disabled]) { background: var(--primary-dark); }
.mrgprm .authx-submit:active:not([disabled]) { transform: translateY(1px); }
.mrgprm .authx-submit:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; }
.mrgprm .authx-submit.is-loading, .mrgprm .authx-submit[disabled] { opacity: 0.9; cursor: progress; }

.mrgprm .auth-footer { display: block; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rg-line); text-align: start; font-size: 15px; color: var(--rg-text); }
.mrgprm .auth-footer a {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; margin-inline-start: 4px;
    font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.mrgprm .auth-footer a:hover { color: var(--primary); text-decoration-thickness: 2px; }

/* ---------- marka paneli (LGPRM ile ayni kalip: koyu yesil, soluk spiral, cizgili madde listesi) ---------- */
.mrgprm .rg-side {
    position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-start;
    padding: clamp(28px, 4vw, 44px); background: #10331d; color: #fff;
}
.mrgprm .rg-side-body { position: relative; z-index: 1; width: 100%; text-align: start; }
.mrgprm .rg-side h2 {
    font-family: var(--rg-display); font-weight: 800; color: #fff; text-wrap: balance;
    font-size: clamp(26px, 2.6vw, 32px); line-height: 1.1; letter-spacing: -0.03em; margin: 0 0 14px;
}
.mrgprm .rg-side p { font-size: 16px; line-height: 1.6; color: #cfe3d5; margin: 0; max-width: 40ch; }
.mrgprm .rg-spiral {
    position: absolute; z-index: 0; pointer-events: none; color: rgba(255, 255, 255, 0.11);
    width: 460px; height: auto; aspect-ratio: 1; inset-inline-end: -34%; bottom: -22%;
}
[dir="rtl"] .mrgprm .rg-spiral { transform: scaleX(-1); }
.mrgprm .rg-spiral path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.mrgprm .rg-points { list-style: none; margin: 24px 0 0; padding: 0; }
.mrgprm .rg-points li { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; font-size: 15.5px; line-height: 1.4; font-weight: 600; color: #fff; }
.mrgprm .rg-points li + li { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.mrgprm .rg-points i { margin-top: 2px; font-size: 16px; color: var(--mint); }

/* ---------- mobil: form ustte, tanitim paneli formdan sonra ---------- */
@media (max-width: 959px) {
    .mrgprm { padding-top: 16px; }
    .mrgprm .rg-wrap { width: calc(100% - 24px); max-width: 640px; }
    .mrgprm .rg-side { padding: 28px 20px 26px; }
    .mrgprm .rg-side p { max-width: none; }
    .mrgprm .rg-points { margin-top: 18px; }
    .mrgprm .rg-spiral { width: 380px; inset-inline-end: -34%; bottom: -26%; }
}
@media (max-width: 640px) { .mrgprm { box-shadow: 0 48px 0 0 var(--rg-tint); } }
@media (max-width: 480px) {
    .mrgprm .rg-card { padding: 22px 18px; }
}

/* ---------- hareket: tek olculu an (spiral cizimi); azaltilmis harekette statik ---------- */
@media (prefers-reduced-motion: no-preference) {
    .mrgprm .rg-spiral path { stroke-dashoffset: 1; animation: rgDraw 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s forwards; }
    .mrgprm .rg-spiral .rg-spiral-b { animation-delay: 0.6s; }
    .mrgprm .authx-submit { transition: background-color 0.15s ease, transform 0.1s ease; }
    .mrgprm .form-group input, .mrgprm .form-group select { transition: border-color 0.15s ease, box-shadow 0.15s ease; }
}
@keyframes rgDraw { to { stroke-dashoffset: 0; } }


/* ==== MRPPRM.css ==== */
/* MRPPRM - mentor sinif raporu (mentor-report) premium duzeni. Tum kurallar .mrpprm kokuyle kapsamli.
   MNPRM ailesi (baslik, buton, kart yuzeyi) uzerine kurulur; MREP.css kurallarinin ustune yazar.
   Isi haritasi ve grafik: tek vurgu rengi (marka yesili), acik hafif izgara. Gradient yok, kart-icinde-kart yok.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px. Mantiksal ozellikler (RTL). */

.mrpprm { --rp-heat0: #eef5ef; --rp-heat1: #cfe5d5; --rp-heat2: #8fc29f; --rp-heat3: #2f7a49; }

/* ---------- filtre cubugu: tek satirlik yuzey ---------- */
.mrpprm .mrep-filter {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px;
    margin: 0 0 20px; padding: 16px 22px;
    background: var(--white); border: 1px solid var(--mn-line); border-radius: var(--mn-r);
}
.mrpprm .mrep-field label { font-size: 13px; font-weight: 700; color: var(--mn-text); }
.mrpprm .mrep-field input[type="date"],
.mrpprm .mrep-chart-tools select {
    min-height: 44px; padding: 0 12px; border: 1px solid var(--mn-field); border-radius: var(--radius-sm);
    background: var(--white); color: var(--mn-ink); font-size: 15px; font-variant-numeric: tabular-nums;
}
.mrpprm .mrep-field input[type="date"]:focus-visible,
.mrpprm .mrep-chart-tools select:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; box-shadow: none; }
.mrpprm .mrep-field-btn { flex-direction: row; flex-wrap: wrap; gap: 10px; margin-inline-start: auto; }
.mrpprm :focus-visible { box-shadow: none; }

/* ---------- kartlar ---------- */
.mrpprm .mrep-card { margin-bottom: 24px; overflow: hidden; }
.mrpprm .card-body { padding: 18px 22px; }
.mrpprm .card-header .mrep-h { font-size: 16px; gap: 10px; }
.mrpprm .card-header .mrep-h i { color: var(--primary); font-size: 15px; }
.mrpprm .mrep-muted { color: var(--mn-muted); font-size: 14px; line-height: 1.5; margin: 0 0 12px; max-width: 72ch; }
.mrpprm .mnprm-head .mrep-muted { margin: 6px 0 0; }

/* ---------- lejant ---------- */
.mrpprm .mrep-legend { gap: 6px 16px; margin: 0 0 14px; font-size: 13px; color: var(--mn-text); }
.mrpprm .mrep-swatch { width: 20px; height: 14px; border-radius: 4px; border: 1px solid var(--mn-line); }

/* ---------- isi haritasi: tek renk, 4 kademe ---------- */
.mrpprm .mrep-h0 { background: var(--rp-heat0); color: #2d4a38; }
.mrpprm .mrep-h1 { background: var(--rp-heat1); color: #17402a; }
.mrpprm .mrep-h2 { background: var(--rp-heat2); color: #0e2d1b; }
.mrpprm .mrep-h3 { background: var(--rp-heat3); color: #fff; }
.mrpprm .mrep-h-none { background: var(--white); color: var(--mn-muted); }

.mrpprm .mrep-table-wrap { border: 1px solid var(--mn-line); border-radius: var(--mn-r-sm); }
.mrpprm .mrep-table { font-size: 14px; font-variant-numeric: tabular-nums; }
.mrpprm .mrep-table th, .mrpprm .mrep-table td { border-bottom: 1px solid var(--mn-line); padding: 9px 12px; }
.mrpprm .mrep-table thead th { background: var(--mn-tint); color: var(--mn-text); font-size: 12.5px; font-weight: 700; }
.mrpprm .mrep-table tbody tr:last-child th, .mrpprm .mrep-table tbody tr:last-child td { border-bottom: 1px solid var(--mn-line); }
.mrpprm .mrep-table tbody th, .mrpprm .mrep-table tfoot th { text-align: start; font-weight: 700; color: var(--mn-ink); }
.mrpprm .mrep-table tbody th a { color: var(--mn-ink); text-decoration: none; }
.mrpprm .mrep-table tbody th a:hover { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.mrpprm .mrep-table tbody th small { color: var(--mn-muted); font-size: 12px; }
.mrpprm .mrep-table tfoot th, .mrpprm .mrep-table tfoot td { border-top: 2px solid var(--mn-line); border-bottom: 0; }
.mrpprm .mrep-sticky { background: var(--white); box-shadow: 1px 0 0 var(--mn-line); inset-inline-start: 0; }
.mrpprm .mrep-table thead .mrep-sticky { background: var(--mn-tint); }
[dir="rtl"] .mrpprm .mrep-sticky { left: auto; right: 0; box-shadow: -1px 0 0 var(--mn-line); }
.mrpprm .mrep-cell { font-weight: 800; }
.mrpprm .mrep-sub { font-size: 11px; font-weight: 500; opacity: .85; }
.mrpprm .mrep-total { border-left: 0; border-inline-start: 2px solid var(--mn-line); }
.mrpprm .mrep-table-plain td, .mrpprm .mrep-table-plain th { text-align: start; }
.mrpprm .mrep-table-wrap:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- grafik ---------- */
.mrpprm .mrep-chart-tools { gap: 10px; margin-bottom: 10px; }
.mrpprm .mrep-chart-tools label { font-size: 13px; font-weight: 700; color: var(--mn-text); }
.mrpprm .mrep-chart-box { height: 320px; }
.mrpprm .mrep-chart-data { margin-top: 16px; }
.mrpprm .mrep-chart-data summary { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.mrpprm .mrep-chart-data summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

.mrpprm .empty-state { display: flex; align-items: center; gap: 10px; padding: 8px 0; color: var(--mn-muted); font-size: 14.5px; }
.mrpprm .empty-state i { color: var(--primary); }
.mrpprm .empty-state p { margin: 0; }

@media (max-width: 600px) {
    .mrpprm .mrep-filter { padding: 14px; }
    .mrpprm .mrep-field { flex: 1 1 140px; }
    .mrpprm .mrep-field-btn { flex: 1 1 100%; margin-inline-start: 0; }
    .mrpprm .mrep-field-btn .btn { flex: 1 1 auto; justify-content: center; }
    .mrpprm .card-body { padding: 14px; }
    .mrpprm .mrep-chart-box { height: 260px; }
    .mrpprm .mnprm-head-actions .btn { flex: 1 1 auto; justify-content: center; }
}

/* ---------- yazdir / PDF: sade, yazici dostu ---------- */
@media print {
    .mrpprm { padding: 0; color: #000; --rp-heat0: #f3f6f4; --rp-heat1: #d5e6da; --rp-heat2: #96c6a5; --rp-heat3: #2f7a49; }
    .mrpprm .mnprm-head { margin: 0 0 10px; }
    .mrpprm .mnprm-head h1 { font-size: 20px; }
    .mrpprm .mrep-card { border: 1px solid #bbb; border-radius: 0; margin-bottom: 12px; }
    .mrpprm .card-header { padding: 8px 12px; }
    .mrpprm .card-body { padding: 10px 12px; }
    .mrpprm .mrep-table-wrap { border: 0; }
    .mrpprm .mrep-table { font-size: 10.5px; }
    .mrpprm .mrep-table th, .mrpprm .mrep-table td { padding: 4px 6px; }
    .mrpprm .mrep-table thead th { background: #eee; min-width: 0; }
    .mrpprm .mrep-sticky { background: transparent; box-shadow: none; position: static; }
    .mrpprm .mrep-cell, .mrpprm .mrep-swatch, .mrpprm .mrep-h0, .mrpprm .mrep-h1, .mrpprm .mrep-h2, .mrpprm .mrep-h3, .mrpprm .mrep-h-none {
        -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
    .mrpprm .mrep-chart-box { height: 240px; }
}

@media (prefers-reduced-motion: reduce) { .mrpprm * { transition: none !important; animation: none !important; } }


/* ==== MRSPRM.css ==== */
/* MRSPRM - sonuc gecmisi (public/my-results.php) premium yeniden duzeni.
   Tum kurallar .mrsprm kokuyle kapsamli (CSS paketi global; RES.css exam-result.php ile paylasiliyor, ona dokunulmaz).
   Dil: siralama sayfasiyla ayni "akademik hassasiyet" (koyu yesil baslik, marka yesili, soguk zemin, Manrope + DM Sans).
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Tablo masaustunde, telefonda kompakt satir kartlari.
   Mantiksal ozellikler (RTL); rakamlar tabular-nums. */

.mrsprm {
    --mrs-tint: #f1f6f2;
    --mrs-line: #d6e3d9;
    --mrs-ink: var(--dark);
    --mrs-text: #4a554e;
    --mrs-r: 16px;
    --mrs-r-sm: 10px;
    --mrs-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --mrs-zebra: #f7faf8;
    margin-bottom: -72px;
}

.mrsprm a:focus-visible,
.mrsprm select:focus-visible,
.mrsprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.mrsprm .mrs-hero a:focus-visible { outline-color: #fff; }
.mrsprm .container { max-width: 1040px; }
.mrsprm .btn { min-height: 44px; touch-action: manipulation; }
.mrsprm .mrs-table .btn-sm { min-height: 38px; }
.mrsprm h1, .mrsprm h2 { text-wrap: balance; }
.mrsprm .mrs-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- BASLIK ---------- */
.mrsprm .mrs-hero {
    padding: clamp(40px, 6vw, 72px) 0 clamp(72px, 8vw, 104px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%);
    color: #fff;
}
.mrsprm .mrs-hero h1 {
    font-family: var(--mrs-display); font-weight: 800; color: #fff; margin: 0 0 16px; text-align: start;
    font-size: clamp(36px, 5vw, 60px); line-height: 1.04; letter-spacing: -0.035em;
}
.mrsprm .mrs-hero p { margin: 0; max-width: 52ch; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.6; color: rgba(255, 255, 255, 0.84); }

/* ---------- OZET SERIDI ---------- */
.mrsprm .mrs-stats-wrap { margin-top: -44px; position: relative; background: linear-gradient(to bottom, transparent 44px, var(--mrs-tint) 44px); }
.mrsprm .mrs-stats {
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0;
    background: #fff; border: 1px solid var(--mrs-line); border-radius: var(--mrs-r);
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35); overflow: hidden;
}
.mrsprm .mrs-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; padding: 22px 26px; min-width: 0; }
.mrsprm .mrs-stat + .mrs-stat { border-inline-start: 1px solid var(--mrs-line); }
.mrsprm .mrs-stat dt { margin: 0; font-size: 14px; line-height: 1.35; color: var(--mrs-text); }
.mrsprm .mrs-stat dd {
    margin: 0; font-family: var(--mrs-display); font-weight: 800; line-height: 1; letter-spacing: -0.03em;
    font-size: clamp(28px, 3.2vw, 40px); color: var(--primary-dark); font-variant-numeric: tabular-nums;
}

/* ---------- GOVDE ---------- */
.mrsprm .mrs-body { background: var(--mrs-tint); padding: clamp(24px, 4vw, 36px) 0 clamp(56px, 7vw, 88px); }
.mrsprm .mrs-hero + .mrs-body { padding-top: clamp(32px, 5vw, 48px); }

/* Gelisim grafigi: sade tek cizgi */
.mrsprm .mrs-trend { background: #fff; border: 1px solid var(--mrs-line); border-radius: var(--mrs-r); padding: 20px clamp(16px, 3vw, 28px) 22px; margin: 0 0 20px; }
.mrsprm .mrs-trend h2 { margin: 0 0 14px; font-family: var(--mrs-display); font-size: 18px; font-weight: 800; letter-spacing: -0.01em; color: var(--mrs-ink); }
.mrsprm .mrs-trend-canvas { position: relative; height: 240px; }
.mrsprm .mrs-trend-empty { margin: 0; font-size: 15px; line-height: 1.55; color: var(--mrs-text); }

/* Yarim kalan deneme */
.mrsprm .mrs-continue {
    display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap;
    background: var(--primary-light); border: 1px solid #bcdbc6; border-radius: var(--mrs-r);
    padding: 18px clamp(16px, 3vw, 28px); margin: 0 0 20px;
}
.mrsprm .mrs-continue-text { min-width: 0; flex: 1 1 260px; }
.mrsprm .mrs-continue-text strong { font-family: var(--mrs-display); font-size: 17px; color: var(--mrs-ink); }
.mrsprm .mrs-continue-text p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--mrs-text); overflow-wrap: anywhere; }

/* Filtre / siralama cubugu (RES.css .res-toolbar'in ustune yazilir; RES.js ayni siniflari kullanir) */
.mrsprm .mrs-toolbar {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 20px; margin: 0 0 16px;
    background: #fff; border: 1px solid var(--mrs-line); border-radius: var(--mrs-r); padding: 14px clamp(16px, 3vw, 24px);
}
.mrsprm .mrs-toolbar .res-toolbar-field { flex-direction: column; align-items: stretch; gap: 6px; flex: 1 1 220px; }
.mrsprm .mrs-toolbar label { font-size: 13px; font-weight: 700; color: var(--mrs-text); }
.mrsprm .mrs-toolbar select {
    width: 100%; min-height: 44px; padding: 8px 12px; font: inherit; font-size: 15px; color: var(--mrs-ink);
    border: 1px solid #c3d3c7; border-radius: 8px; background: #fff;
}
.mrsprm .mrs-toolbar .btn { margin-inline-start: 0; }

/* ---------- TABLO ---------- */
.mrsprm .mrs-board { background: #fff; border: 1px solid var(--mrs-line); border-radius: var(--mrs-r); overflow: hidden; }
.mrsprm .mrs-count { margin: 0; padding: 14px 24px; font-size: 14px; color: var(--mrs-text); }
.mrsprm .mrs-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.mrsprm .mrs-table th, .mrsprm .mrs-table td { padding: 12px 14px; text-align: start; vertical-align: middle; }
.mrsprm .mrs-table thead th {
    padding-block: 11px; font-size: 13px; font-weight: 700; color: var(--mrs-text); white-space: nowrap;
    background: var(--mrs-tint); border-block: 1px solid var(--mrs-line);
}
.mrsprm .mrs-table tr > :first-child { padding-inline-start: 24px; }
.mrsprm .mrs-table tr > :last-child { padding-inline-end: 24px; }
.mrsprm .mrs-table tbody .mrs-row { border-bottom: 1px solid #e6eee8; }
.mrsprm .mrs-table tbody .mrs-row:last-child { border-bottom: 0; }
.mrsprm .mrs-table tbody .mrs-row:nth-child(even) { background: var(--mrs-zebra); }
.mrsprm .mrs-c-exam { min-width: 200px; }
.mrsprm .mrs-title { display: block; font-family: var(--mrs-display); font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--mrs-ink); overflow-wrap: anywhere; }
.mrsprm .mrs-cat { display: block; margin-top: 2px; font-size: 13.5px; color: var(--mrs-text); }
.mrsprm .mrs-c-date, .mrsprm .mrs-c-dur { font-size: 15px; color: var(--mrs-text); white-space: nowrap; }
.mrsprm .mrs-c-cwe { white-space: nowrap; font-size: 15px; }
.mrsprm .mrs-c-cwe > span { display: inline-flex; align-items: center; gap: 4px; margin-inline-end: 12px; font-weight: 600; }
.mrsprm .mrs-c-cwe > span:last-child { margin-inline-end: 0; }
.mrsprm .mrs-c-cwe i { font-size: 12px; }
.mrsprm .mrs-c-cwe .c { color: var(--primary-dark); }
.mrsprm .mrs-c-cwe .w { color: #b3322f; }
.mrsprm .mrs-c-cwe .e { color: var(--mrs-text); }
.mrsprm .mrs-c-score { white-space: nowrap; }
.mrsprm .mrs-c-score strong { display: block; font-family: var(--mrs-display); font-size: 19px; font-weight: 800; letter-spacing: -0.02em; color: var(--mrs-ink); }
.mrsprm .mrs-status {
    display: inline-block; margin-top: 4px; padding: 1px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; line-height: 1.6;
}
.mrsprm .mrs-status.is-pass { background: var(--primary-light); color: var(--primary-dark); }
.mrsprm .mrs-status.is-fail { background: #fbeaea; color: #8f2523; }
.mrsprm .mrs-c-act { white-space: nowrap; text-align: end; }
.mrsprm .mrs-c-act .btn + .btn { margin-inline-start: 8px; }

/* Bos durum */
.mrsprm .mrs-empty { background: #fff; border: 1px solid var(--mrs-line); border-radius: var(--mrs-r); padding: clamp(32px, 6vw, 56px) 24px; text-align: center; }
.mrsprm .mrs-empty h2 { font-family: var(--mrs-display); font-size: 22px; letter-spacing: -0.02em; margin: 0 0 16px; color: var(--mrs-ink); }
.mrsprm .mrs-empty h2:last-child { margin-bottom: 0; }

/* ---------- TABLET: tarih/sure alt satira ---------- */
@media (max-width: 940px) {
    .mrsprm .mrs-table th, .mrsprm .mrs-table td { padding-inline: 10px; }
    .mrsprm .mrs-c-act .btn { display: flex; justify-content: center; }
    .mrsprm .mrs-c-act .btn + .btn { margin: 6px 0 0; }
}

/* ---------- TELEFON: satir kartlari ---------- */
@media (max-width: 760px) {
    .mrsprm .mrs-stats { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mrsprm .mrs-stat { padding: 16px 16px; gap: 6px; }
    .mrsprm .mrs-stat dt { font-size: 13px; }
    .mrsprm .mrs-stat dd { font-size: 26px; }
    .mrsprm .mrs-stat:nth-child(odd) { border-inline-start: 0; }
    .mrsprm .mrs-stat:nth-child(n+3) { border-top: 1px solid var(--mrs-line); }
    .mrsprm .mrs-trend-canvas { height: 200px; }
    .mrsprm .mrs-continue .btn { width: 100%; justify-content: center; }
    .mrsprm .mrs-toolbar .btn { width: 100%; justify-content: center; }

    .mrsprm .mrs-count { padding: 14px 16px 12px; }
    .mrsprm .mrs-table, .mrsprm .mrs-table tbody, .mrsprm .mrs-table tr, .mrsprm .mrs-table td { display: block; }
    .mrsprm .mrs-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
    .mrsprm .mrs-table tbody { border-top: 1px solid var(--mrs-line); }
    .mrsprm .mrs-table td, .mrsprm .mrs-table tr > :first-child, .mrsprm .mrs-table tr > :last-child { padding: 0; }
    .mrsprm .mrs-table tbody .mrs-row {
        display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; grid-template-areas:
            "exam exam exam score" "date dur . score" "cwe cwe cwe cwe" "act act act act";
        column-gap: 12px; row-gap: 6px; padding: 14px 16px;
    }
    .mrsprm .mrs-c-exam { grid-area: exam; min-width: 0; }
    .mrsprm .mrs-c-score { grid-area: score; text-align: end; align-self: start; }
    .mrsprm .mrs-c-score strong { font-size: 22px; }
    .mrsprm .mrs-c-date { grid-area: date; font-size: 13.5px; }
    .mrsprm .mrs-c-dur { grid-area: dur; font-size: 13.5px; }
    .mrsprm .mrs-c-cwe { grid-area: cwe; font-size: 14.5px; }
    .mrsprm .mrs-c-act { grid-area: act; display: flex; gap: 8px; text-align: start; margin-top: 4px; }
    .mrsprm .mrs-c-act .btn { flex: 1 1 0; display: inline-flex; margin: 0; }
    .mrsprm .mrs-c-act .btn + .btn { margin: 0; }
}


/* ==== MRTPRM.css ==== */
/* MRTPRM - mentor sinav sonuc tablosu (mentor-results) premium duzeni.
   Tum kurallar .mrtprm kokuyle kapsamli; MAS.css'in (ayni dosyayi mentor-assignments de kullanir) ustune yazar.
   Dil: MNPRM/LBPRM ile ayni. Genis veri tablosu: kapsayici icinde yatay kaydirma, yapiskan baslik ve ilk sutun,
   tabular rakamlar. Dar ekranda tablo yerine ogrenci basina ozet kartlari. Gradient yok, kart-icinde-kart yok.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */

.mrtprm {
    --mr-line: #d6e3d9;
    --mr-tint: #f1f6f2;
    --mr-ink: var(--dark);
    --mr-text: #3f4a43;
    --mr-muted: #56615a;
    --mr-field: #7d8e83;
    --mr-r: 16px;
    --mr-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    padding-block: clamp(24px, 4vw, 44px) 80px;
    color: var(--mr-text);
}
.mrtprm button, .mrtprm input, .mrtprm select { font-family: inherit; }
.mrtprm a, .mrtprm button, .mrtprm select, .mrtprm input { touch-action: manipulation; }
.mrtprm h1 { text-wrap: balance; }
[dir="rtl"] .mrtprm .mrtprm-flip { transform: scaleX(-1); }

.mrtprm a:focus-visible,
.mrtprm button:focus-visible,
.mrtprm input:focus-visible,
.mrtprm select:focus-visible,
.mrtprm .mrtprm-wrap:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- baslik ---------- */
.mrtprm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin: 0 0 24px; }
.mrtprm-head-text { flex: 1 1 320px; min-width: 0; }
.mrtprm-head h1 {
    margin: 0 0 6px; font-family: var(--mr-display); font-weight: 800; color: var(--mr-ink);
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere; text-align: start;
}
.mrtprm-head p { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--mr-muted); }
.mrtprm-head-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.mrtprm .btn { min-height: 44px; padding: 0 18px; border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; }
.mrtprm .btn:hover { transform: none; box-shadow: none; }
.mrtprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }
.mrtprm .btn-primary:hover { background: var(--primary-dark); }

/* ---------- filtre ---------- */
.mrtprm .mrtprm-filter { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(220px, 2fr) auto; gap: 12px 14px; align-items: end; margin: 0 0 20px; padding: 18px 20px; background: var(--white); border: 1px solid var(--mr-line); border-radius: var(--mr-r); box-shadow: none; }
.mrtprm .mas-filter-field { flex: none; min-width: 0; gap: 6px; }
.mrtprm .mas-filter-field label { font-size: 13px; font-weight: 700; color: var(--mr-text); }
.mrtprm .mas-filter-field input, .mrtprm .mas-filter-field select {
    min-height: 44px; padding: 0 12px; border: 1px solid var(--mr-field); border-radius: var(--radius-sm); background-color: var(--white); color: var(--mr-ink); font-size: 15px;
}
.mrtprm .mas-filter-actions { flex-wrap: wrap; }

/* ---------- ozet sayaclari ---------- */
.mrtprm-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 20px; overflow: hidden; background: var(--white); border: 1px solid var(--mr-line); border-radius: var(--mr-r); }
.mrtprm-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; min-width: 0; padding: 18px 24px; margin: 0; }
.mrtprm-stat + .mrtprm-stat { border-inline-start: 1px solid var(--mr-line); }
.mrtprm-stat dt { font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--mr-muted); overflow-wrap: anywhere; }
.mrtprm-stat dd { margin: 0; font-family: var(--mr-display); font-size: clamp(26px, 3vw, 34px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--mr-ink); }

/* ---------- tablo karti ---------- */
.mrtprm .mrtprm-card { background: var(--white); border: 1px solid var(--mr-line); border-radius: var(--mr-r); box-shadow: none; overflow: hidden; min-width: 0; }
.mrtprm .mas-table-body { padding: 0 !important; }
.mrtprm .mas-legend { margin: 0; padding: 14px 20px; border-bottom: 1px solid var(--mr-line); font-size: 13.5px; line-height: 1.5; color: var(--mr-muted); }

.mrtprm .mrtprm-wrap { max-width: 100%; max-height: 72vh; overflow: auto; overscroll-behavior: contain; min-height: 3em; }
.mrtprm .mrtprm-matrix { width: 100%; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; font-variant-numeric: tabular-nums; }
.mrtprm .mrtprm-matrix th, .mrtprm .mrtprm-matrix td { padding: 10px 14px; border-bottom: 1px solid var(--mr-line); border-inline-end: 1px solid var(--mr-line); text-align: center; white-space: nowrap; vertical-align: middle; }
.mrtprm .mrtprm-matrix tbody tr:last-child th, .mrtprm .mrtprm-matrix tbody tr:last-child td { border-bottom: 0; }
.mrtprm .mrtprm-matrix th:last-child, .mrtprm .mrtprm-matrix td:last-child { border-inline-end: 0; }
.mrtprm .mrtprm-matrix thead th {
    position: sticky; top: 0; z-index: 2; background: var(--mr-tint); color: var(--mr-text);
    font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; vertical-align: bottom;
}
.mrtprm .mrtprm-matrix .mas-exam-h { max-width: 168px; }
.mrtprm .mrtprm-matrix .mas-sticky {
    position: sticky; inset-inline-start: 0; z-index: 1; background: var(--white);
    text-align: start; min-width: 168px; max-width: 220px; box-shadow: 1px 0 0 var(--mr-line);
}
[dir="rtl"] .mrtprm .mrtprm-matrix .mas-sticky { box-shadow: -1px 0 0 var(--mr-line); }
.mrtprm .mrtprm-matrix thead .mas-sticky { z-index: 3; background: var(--mr-tint); }
.mrtprm .mrtprm-matrix tbody th a { color: var(--mr-ink); font-weight: 700; text-decoration: none; display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
.mrtprm .mrtprm-matrix tbody th a:hover { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.mrtprm .mrtprm-matrix tbody tr:hover td, .mrtprm .mrtprm-matrix tbody tr:hover th { background-color: var(--mr-tint); }

.mrtprm .mas-cell strong { display: block; font-family: var(--mr-display); font-size: 15px; font-weight: 800; line-height: 1.25; }
.mrtprm .mas-cell small { display: block; margin-top: 2px; font-size: 12px; color: var(--mr-muted); }
.mrtprm .mas-cell.mas-s-high { background: #e9f6ed; }
.mrtprm .mas-cell.mas-s-mid { background: #fef6dc; }
.mrtprm .mas-cell.mas-s-low { background: #fdeaea; }
.mrtprm .mrtprm-matrix tbody tr:hover .mas-cell.mas-s-high { background: #dff0e5; }
.mrtprm .mrtprm-matrix tbody tr:hover .mas-cell.mas-s-mid { background: #fdefc2; }
.mrtprm .mrtprm-matrix tbody tr:hover .mas-cell.mas-s-low { background: #fbdcdc; }
.mrtprm .mas-s-high { color: #166534; }
.mrtprm .mas-s-mid { color: #92400e; }
.mrtprm .mas-s-low { color: #991b1b; }
.mrtprm .mas-cell.mas-empty { color: var(--mr-muted); }
.mrtprm .mrtprm-matrix td.mas-num { text-align: end !important; font-family: var(--mr-display); font-size: 15px; }
.mrtprm .mrtprm-matrix th.mas-num { text-align: end !important; }

.mrtprm .empty-state { padding: 40px 20px; text-align: center; color: var(--mr-muted); }
.mrtprm .empty-state i { display: block; margin-bottom: 10px; font-size: 26px; color: var(--primary); }
.mrtprm .empty-state p { margin: 0; font-size: 15px; line-height: 1.55; }

/* ---------- dar ekran ozeti: tablo yerine ogrenci kartlari ---------- */
.mrtprm .mrtprm-cards { display: none; list-style: none; margin: 0; padding: 0; }
.mrtprm-sc { padding: 14px 18px 16px; border-top: 1px solid var(--mr-line); }
.mrtprm-sc:first-child { border-top: 0; }
.mrtprm-sc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 12px; margin: 0 0 8px; }
.mrtprm-sc-head a { min-width: 0; min-height: 44px; display: inline-flex; align-items: center; font-weight: 800; font-size: 16px; color: var(--mr-ink); text-decoration: none; overflow-wrap: anywhere; }
.mrtprm-sc-avg { flex: 0 0 auto; padding: 3px 10px; border-radius: 999px; background: var(--mr-tint); font-family: var(--mr-display); font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mrtprm-sc-avgl { font-family: var(--font); font-weight: 600; font-size: 12.5px; color: var(--mr-muted); margin-inline-end: 4px; }
.mrtprm-sc-rows { list-style: none; margin: 0; padding: 0; }
.mrtprm-sc-rows li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px dashed var(--mr-line); font-size: 14px; }
.mrtprm-sc-rows li:first-child { border-top: 0; }
.mrtprm-sc-exam { min-width: 0; color: var(--mr-text); overflow-wrap: anywhere; }
.mrtprm-sc-val { flex: 0 0 auto; text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mrtprm-sc-val strong { font-family: var(--mr-display); font-weight: 800; }
.mrtprm-sc-val small { display: block; font-size: 12px; color: var(--mr-muted); }
.mrtprm-sc-none { color: var(--mr-muted); }

@media (max-width: 1000px) {
    .mrtprm .mrtprm-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mrtprm .mas-filter-exam, .mrtprm .mas-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .mrtprm .mrtprm-filter { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .mrtprm .mas-filter-actions .btn { flex: 1 1 auto; justify-content: center; }
    .mrtprm-stat { padding: 14px 12px; }
    .mrtprm-stat dt { font-size: 12.5px; }
    .mrtprm .mrtprm-wrap { display: none; }
    .mrtprm .mrtprm-cards { display: block; }
    .mrtprm .mas-legend { padding: 12px 16px; }
    .mrtprm-head-actions .btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: no-preference) {
    .mrtprm .mrtprm-matrix td, .mrtprm .mrtprm-matrix th { transition: background-color .15s ease; }
}


/* ==== MSDPRM.css ==== */
/* MSDPRM - mentorun tek ogrenci detayi (mentor-student.php) premium duzeni.
   Kok: .mnprm.msdprm. MNPRM (kart, buton, dashboard-grid, odak) ustune oturur; F4 / F8 / MSTU kurallarinin ustune yazar
   (dosya adi sirasi: F* < MNPRM < MSDPRM < MSTU). MSTU bilesenleri (.mstu-link, .mstu-status, <dialog>) olduklari gibi kullanilir.
   Dil: HOMEPRM / MNPRM ile ayni "akademik hassasiyet" - cizgi #d6e3d9, zemin #f1f6f2, Manrope baslik, DM Sans metin.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Gradient yok, kart icinde kart yok, golge yok.
   Mantiksal ozellikler (RTL), rakamlar tabular. Tum secicilerin koku .msdprm. */

.msdprm {
    --md-ok: #166534;
    --md-warn: #92400e;
    --md-bad: #991b1b;
    --md-ok-bg: #e8f5ec;
    --md-bad-bg: #fdecea;
}
.msdprm [id] { scroll-margin-top: 96px; }
[dir="rtl"] .msdprm .msdprm-flip { transform: scaleX(-1); }

/* ---------- geri baglantisi ---------- */
.msdprm .msdprm-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: -8px 0 4px; padding-inline-end: 12px;
    font-size: 14.5px; font-weight: 700; color: var(--primary-dark); text-decoration: none;
}
.msdprm .msdprm-back:hover { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- ogrenci basligi ---------- */
.msdprm .msdprm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 28px; margin: 0 0 24px; }
.msdprm .msdprm-who { flex: 1 1 380px; min-width: 0; display: flex; align-items: center; gap: 18px; }
.msdprm .f4-avatar.lg.msdprm-av {
    flex: 0 0 auto; width: 72px; height: 72px; overflow: hidden; border-radius: 50%;
    background: var(--primary-light); color: var(--primary-dark); border: 1px solid #bfe0c8;
    font-family: var(--mn-display); font-size: 24px; font-weight: 800; letter-spacing: .02em;
}
.msdprm .msdprm-who-text { min-width: 0; }
.msdprm .msdprm-who-text h1 {
    margin: 0 0 8px; font-family: var(--mn-display); font-weight: 800; color: var(--mn-ink); text-align: start;
    font-size: clamp(24px, 3vw, 34px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere;
}
.msdprm .msdprm-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 8px; }
.msdprm .msdprm-id, .msdprm .msdprm-tag {
    display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--mn-line);
    background: var(--mn-tint); color: var(--mn-text); font-size: 12.5px; font-weight: 700; line-height: 1.4; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.msdprm .mstu-status {
    display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; border: 1px solid transparent;
    font-size: 12.5px; font-weight: 700; line-height: 1.4; white-space: nowrap;
}
.msdprm .mstu-status--active { background: var(--md-ok-bg); border-color: #c6e4cf; color: #1d5e33; }
.msdprm .mstu-status--pending { background: #fef6e4; border-color: #f6dca4; color: #7a4a06; }
.msdprm .msdprm-place, .msdprm .msdprm-since { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--mn-muted); overflow-wrap: anywhere; }
.msdprm .msdprm-place { color: var(--mn-text); font-weight: 600; }
.msdprm .msdprm-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- ozet sayaclari (tek yuzey, ince ayiricilar) ---------- */
.msdprm .dashboard-stats.msdprm-stats {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 0 24px; padding: 0; overflow: hidden;
    background: var(--white); border: 1px solid var(--mn-line); border-radius: var(--mn-r); box-shadow: none;
}
.msdprm .msdprm-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; min-width: 0; margin: 0; padding: 20px 24px; }
.msdprm .msdprm-stat + .msdprm-stat { border-inline-start: 1px solid var(--mn-line); }
.msdprm .msdprm-stat dt { font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--mn-muted); }
.msdprm .msdprm-stat dd {
    margin: 0; font-family: var(--mn-display); font-size: clamp(26px, 2.6vw, 34px); font-weight: 800; line-height: 1;
    letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--mn-ink); overflow-wrap: anywhere;
}
.msdprm .f4-cwe-inline .c { color: var(--md-ok); }
.msdprm .f4-cwe-inline .w { color: var(--md-bad); }
.msdprm .f4-cwe-inline .e { color: var(--mn-muted); }
.msdprm .msdprm-stat dd.f4-cwe-inline i { font-style: normal; font-weight: 600; color: var(--mn-field); padding-inline: .12em; }

/* ---------- sekmeler (alt cizgili, kart degil) ---------- */
.msdprm .f4-tabs.msdprm-tabs {
    display: flex; gap: 4px; margin: 0 0 20px; padding: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
    background: none; box-shadow: none; border-radius: 0; border-bottom: 1px solid var(--mn-line);
}
.msdprm .msdprm-tabs::-webkit-scrollbar { display: none; }
.msdprm .msdprm-tabs a {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; margin-bottom: -1px;
    border-radius: 0; border-bottom: 2px solid transparent; background: none; color: var(--mn-muted);
    font-size: 14.5px; font-weight: 700; text-decoration: none; white-space: nowrap;
}
.msdprm .msdprm-tabs a:hover { background: none; color: var(--primary-dark); }
.msdprm .msdprm-tabs a.active { background: none; color: var(--primary-dark); border-bottom-color: var(--primary); }
.msdprm .msdprm-tabs a i { color: inherit; opacity: .8; }
.msdprm .msdprm-tabs a:focus-visible { outline-offset: -3px; border-radius: 8px; }

/* ---------- kartlar ---------- */
.msdprm .card-header h2 i, .msdprm .card-header h3 i { color: var(--primary); }
.msdprm .f4-muted { color: var(--mn-muted); font-size: 14px; line-height: 1.5; }
.msdprm .msdprm-lead { margin: 0 0 4px; max-width: 70ch; }
.msdprm .empty-state.small { display: flex; align-items: center; gap: 14px; padding: 4px 0; text-align: start; color: var(--mn-muted); }
.msdprm .empty-state.small i { flex: 0 0 auto; margin: 0; font-size: 22px; color: var(--primary); }
.msdprm .empty-state.small p { margin: 0; font-size: 14.5px; line-height: 1.5; }

/* performans karti (moF4RenderPerformance cikti sinifleri) */
.msdprm .f4-group { gap: 16px; padding: 22px 0; border-bottom: 0; border-top: 1px solid var(--mn-line); }
.msdprm .f4-group:first-child { padding-top: 0; border-top: 0; }
.msdprm .f4-group:last-child { padding-bottom: 0; }
.msdprm .f4-group-head h4 { font-family: var(--mn-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; color: var(--mn-ink); }
.msdprm .f4-trend { padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; }
.msdprm .f4-trend-up { background: var(--md-ok-bg); color: var(--md-ok); }
.msdprm .f4-trend-down { background: #fee2e2; color: var(--md-bad); }
.msdprm .f4-trend-stable, .msdprm .f4-trend-none { background: var(--mn-tint); color: var(--mn-text); }
.msdprm .f4-group-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--mn-line); border-radius: var(--mn-r-sm); overflow: hidden; }
.msdprm .f4-group-stats > div { align-items: flex-start; gap: 4px; padding: 12px 14px; background: none; border-radius: 0; text-align: start; font-variant-numeric: tabular-nums; }
.msdprm .f4-group-stats > div + div { border-inline-start: 1px solid var(--mn-line); }
.msdprm .f4-group-stats span { max-width: 100%; font-size: 12.5px; font-weight: 600; color: var(--mn-muted); }
.msdprm .f4-group-stats strong { font-family: var(--mn-display); font-size: 18px; font-weight: 800; color: var(--mn-ink); }
.msdprm .f4-mini-title { margin-bottom: 8px; font-size: 13px; font-weight: 700; color: var(--mn-text); }
.msdprm .f4-cwe-bar { height: 8px; border-radius: 999px; background: var(--mn-tint); }
.msdprm .f4-cwe-bar .c, .msdprm .f4-cwe-legend .c::before { background: #2f8a4d; }
.msdprm .f4-cwe-bar .w, .msdprm .f4-cwe-legend .w::before { background: #c0392b; }
.msdprm .f4-cwe-bar .e, .msdprm .f4-cwe-legend .e::before { background: #aebbb3; }
.msdprm .f4-cwe-legend { gap: 6px 16px; margin-top: 8px; font-size: 13px; color: var(--mn-text); font-variant-numeric: tabular-nums; }
.msdprm .f4-cwe-legend span::before { width: 10px; height: 10px; border-radius: 50%; margin-right: 0; margin-inline-end: 6px; vertical-align: 0; }
.msdprm .f4-chart-grid { stroke: var(--mn-line); }
.msdprm .f4-chart-area { fill: #e4f1e8; }
.msdprm .f4-chart-dot { border-color: var(--primary); }
.msdprm .f4-topics { gap: 18px; }
.msdprm .f4-chip { padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
.msdprm .f4-chip.ok { background: var(--md-ok-bg); color: var(--md-ok); }
.msdprm .f4-chip.bad { background: #fee2e2; color: var(--md-bad); }
.msdprm .f4-topic-col.strong .f4-mini-title i { color: var(--md-ok); }
.msdprm .f4-topic-col.weak .f4-mini-title i { color: var(--md-bad); }

/* tum sonuclar */
.msdprm .msdprm-results { list-style: none; margin: 0; padding: 0; }
.msdprm .msdprm-result { display: flex; align-items: center; gap: 12px 16px; padding: 14px 0; border-top: 1px solid var(--mn-line); }
.msdprm .msdprm-result:first-child { padding-top: 0; border-top: 0; }
.msdprm .msdprm-result:last-child { padding-bottom: 0; }
.msdprm .msdprm-result-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.msdprm .msdprm-result-main strong { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--mn-ink); overflow-wrap: anywhere; }
.msdprm .msdprm-result-meta { display: flex; flex-wrap: wrap; gap: 2px 16px; font-size: 13px; line-height: 1.5; color: var(--mn-muted); font-variant-numeric: tabular-nums; }
.msdprm .msdprm-result-meta i { margin-inline-end: 5px; color: var(--primary); }
.msdprm .msdprm-score {
    flex: 0 0 auto; min-width: 70px; padding: 4px 10px; border-radius: 999px; text-align: center;
    font-family: var(--mn-display); font-size: 14.5px; font-weight: 800; font-variant-numeric: tabular-nums; background: var(--gray-100); color: var(--mn-text);
}
.msdprm .msdprm-score.high { background: var(--md-ok-bg); color: var(--md-ok); }
.msdprm .msdprm-score.medium { background: #fef3c7; color: var(--md-warn); }
.msdprm .msdprm-score.low { background: #fee2e2; color: var(--md-bad); }

/* hatali sorular */
.msdprm .f4-wrong { margin: 20px 0 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--mn-line); border-radius: 0; }
.msdprm .f4-wrong-head { gap: 8px 12px; margin-bottom: 12px; }
.msdprm .f4-wrong-no { width: 28px; height: 28px; background: var(--md-bad); font-family: var(--mn-display); font-weight: 800; font-variant-numeric: tabular-nums; }
.msdprm .solution-question { padding: 0 0 14px; font-size: 15px; line-height: 1.7; color: var(--mn-ink); overflow-wrap: anywhere; }
.msdprm .solution-options { padding: 0; gap: 8px; }
.msdprm .solution-option { min-width: 0; padding: 10px 14px; border: 1px solid var(--mn-line); border-radius: var(--mn-r-sm); font-size: 14.5px; color: var(--mn-text); }
.msdprm .solution-option .option-text { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
.msdprm .solution-option.correct-answer { background: var(--md-ok-bg); border-color: #9fd1af; }
.msdprm .solution-option.wrong-answer { background: var(--md-bad-bg); border-color: #efb1ab; }
.msdprm .solution-option.correct-answer .option-letter { background: #2f8a4d; }
.msdprm .solution-option.wrong-answer .option-letter { background: #c0392b; }
.msdprm .solution-option.correct-answer > i { color: var(--md-ok); }
.msdprm .solution-option.wrong-answer > i { color: var(--md-bad); }
.msdprm .f4-wrong-foot { gap: 6px 20px; margin-top: 12px; font-size: 14px; color: var(--mn-text); }
.msdprm .f4-ok { color: var(--md-ok); }
.msdprm .f4-bad { color: var(--md-bad); }
.msdprm .f4-wrong .question-image img { max-width: 100%; height: auto; border-radius: var(--mn-r-sm); }

/* konular */
.msdprm .f4-topic-table { gap: 0; margin-top: 8px; }
.msdprm .f4-topic-row { grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr) 56px; gap: 8px 20px; padding: 14px 0; border-top: 1px solid var(--mn-line); }
.msdprm .f4-topic-row:first-child { border-top: 0; }
.msdprm .f4-topic-name strong { font-size: 15px; font-weight: 700; color: var(--mn-ink); }
.msdprm .f4-topic-pct { font-family: var(--mn-display); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: end; }
.msdprm .f4-topic-pct.high { color: var(--md-ok); }
.msdprm .f4-topic-pct.medium { color: var(--md-warn); }
.msdprm .f4-topic-pct.low { color: var(--md-bad); }

/* ---------- yan sutun ---------- */
.msdprm .f4-contact { gap: 12px; font-size: 14.5px; line-height: 1.5; color: var(--mn-text); }
.msdprm .f4-contact > div { display: flex; align-items: flex-start; gap: 10px; overflow-wrap: anywhere; }
.msdprm .f4-contact i { flex: 0 0 auto; width: 18px; margin-top: 3px; text-align: center; color: var(--primary); }
.msdprm .f4-contact a { color: var(--primary-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.msdprm .f4-contact a:hover { color: var(--primary); }
.msdprm .msdprm-manage { display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding: 8px 12px 12px; border-top: 1px solid var(--mn-line); }
.msdprm .msdprm-manage .mstu-link { justify-content: flex-start; width: 100%; min-height: 44px; padding: 0 10px; }
.msdprm .msdprm-manage .mstu-rowmsg { padding: 4px 10px 0; }

.msdprm .f8-box { margin: 0; }
.msdprm .f8-link-list { gap: 4px; }
.msdprm .f8-link-list li { min-height: 44px; font-size: 14.5px; color: var(--mn-text); }

.msdprm .f4-danger-card { border-color: #ecc9c5; }
.msdprm .f4-danger-card .card-header { border-bottom-color: #f3dcd9; }
.msdprm .f4-danger-card .card-header h2 i { color: var(--md-bad); }
.msdprm .f4-danger-card form { margin: 12px 0 0; }
.msdprm .f4-btn-danger { background: var(--white); color: var(--md-bad); border: 1px solid #d9a3a3; }
.msdprm .f4-btn-danger:hover { background: #fee2e2; color: var(--md-bad); filter: none; }

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
    .msdprm .dashboard-stats.msdprm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .msdprm .msdprm-stat:nth-child(odd) { border-inline-start: 0; }
    .msdprm .msdprm-stat:nth-child(n+3) { border-top: 1px solid var(--mn-line); }
}
@media (max-width: 700px) {
    .msdprm .solution-options { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- telefon ---------- */
@media (max-width: 600px) {
    .msdprm .msdprm-head { gap: 16px; margin-bottom: 20px; }
    .msdprm .msdprm-who { gap: 14px; flex-basis: 100%; }
    .msdprm .f4-avatar.lg.msdprm-av { width: 56px; height: 56px; font-size: 19px; }
    .msdprm .msdprm-actions { width: 100%; }
    .msdprm .msdprm-actions .btn { flex: 1 1 auto; justify-content: center; }
    .msdprm .msdprm-stat { padding: 16px; }
    .msdprm .f4-group-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .msdprm .f4-group-stats > div:nth-child(odd) { border-inline-start: 0; }
    .msdprm .f4-group-stats > div:nth-child(n+3) { border-top: 1px solid var(--mn-line); }
    .msdprm .f4-topics { grid-template-columns: minmax(0, 1fr); }
    .msdprm .f4-topic-row { grid-template-columns: minmax(0, 1fr) 52px; }
    .msdprm .f4-topic-row .f4-cwe-bar { grid-column: 1 / -1; grid-row: 2; }
    .msdprm .msdprm-result { flex-wrap: wrap; }
    .msdprm .msdprm-result-main { flex-basis: 100%; }
    .msdprm .msdprm-score { margin-inline-start: 0; }
    .msdprm .msdprm-tabs a { padding: 0 14px; }
}
@media (max-width: 380px) {
    .msdprm .msdprm-stat dt { font-size: 12.5px; }
}

@media (prefers-reduced-motion: no-preference) {
    .msdprm .msdprm-tabs a, .msdprm .msdprm-back { transition: color .15s ease, border-color .15s ease; }
}
@media (max-width: 420px) {
    .msdprm .msdprm-tabs a { padding: 0 10px; font-size: 14px; }
    .msdprm .msdprm-tabs a i { display: none; }
}


/* ==== MSG2PRM.css ==== */
/* MSG2PRM - mesajlasma (public/messages.php) ikinci tur: sohbet deneyimi.
   MSGPRM.css ustune yazar (cift sinif ozgullugu: .msgprm.msg2prm). JS kancalari ve F2.css mobil
   liste<->konusma gecisi korunur. Dil: MNPRM/MSTU - soguk yesil-gri zemin, cizgi #d6e3d9, kart 16 / ic 10 / buton 8. */

.msgprm.msg2prm { --m2-tint: #f1f6f2; --m2-line: #d6e3d9; --m2-soft: #e4efe7; --m2-muted: #55605a; }

/* ---------- Cerceve ---------- */
.msgprm.msg2prm .f2-chat {
    grid-template-columns: 360px minmax(0, 1fr);
    height: calc(100dvh - 190px); min-height: 540px; max-height: 820px;
}
.msgprm.msg2prm .f2-chat-pane { position: relative; background: var(--m2-tint); }

/* ---------- Liste ---------- */
.msgprm.msg2prm .f2-chat-list-head { padding: 20px 20px 12px; font-size: 20px; }
.msgprm.msg2prm .f2-chat-search { margin: 0 16px 8px; }
.msgprm.msg2prm .f2-chat-search input { border-radius: 10px; min-height: 44px; font-size: 15px; }
.msgprm.msg2prm .f2-chat-list ul { padding: 4px 10px 12px; }
.msgprm.msg2prm .f2-conv { align-items: flex-start; gap: 12px; padding: 12px; min-height: 72px; border-radius: 10px; }
.msgprm.msg2prm .f2-conv .f2-avatar-sm { width: 46px; height: 46px; font-size: 15px; }
.msgprm.msg2prm .f2-conv-text { gap: 2px; }
.msgprm.msg2prm .f2-conv-row strong { font-size: 15px; }
.msgprm.msg2prm .f2-conv-role-row { display: block; line-height: 1; }
.msgprm.msg2prm .f2-conv .f2-conv-role {
    display: inline; padding: 0; background: none; border-radius: 0; font-size: 11.5px; font-weight: 700; color: var(--primary-dark);
}
.msgprm.msg2prm .f2-conv-row small { font-size: 13.5px; line-height: 1.35; }
.msgprm.msg2prm .f2-conv-time { font-size: 12px; }
.msgprm.msg2prm .f2-conv .f2-badge.f2-conv-unread {
    min-width: 22px; height: 22px; padding: 0 7px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px; font-size: 12px; font-weight: 800; line-height: 1;
}
.msgprm.msg2prm .f2-conv .f2-badge.f2-conv-unread[hidden] { display: none; }
.msgprm.msg2prm .f2-conv:has(.f2-conv-unread:not([hidden])) .f2-conv-row strong { color: var(--dark); font-weight: 800; }
.msgprm.msg2prm .f2-conv:has(.f2-conv-unread:not([hidden])) .f2-conv-row small { color: var(--dark); font-weight: 700; }
.msgprm.msg2prm .f2-conv:has(.f2-conv-unread:not([hidden])) .f2-conv-time { color: var(--primary-dark); font-weight: 700; }
.msgprm.msg2prm .f2-conv.active { background: var(--m2-soft); }

/* Bos durumlar */
.msgprm.msg2prm .f2-chat-list-empty { padding: 48px 28px; }
.msgprm.msg2prm .f2-chat-list-empty i {
    width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 16px; background: var(--m2-soft);
    color: var(--primary-dark); display: flex; align-items: center; justify-content: center; font-size: 26px;
}
.msgprm.msg2prm .f2-chat-list-empty p { color: var(--dark); font-size: 15px; line-height: 1.55; max-width: 28ch; margin-inline: auto; margin-bottom: 16px; }
.msgprm.msg2prm .f2-chat-placeholder { padding: 32px; text-align: center; }
.msgprm.msg2prm .f2-chat-placeholder i {
    width: 72px; height: 72px; margin: 0 auto 14px; border-radius: 16px; background: var(--m2-soft); color: var(--primary-dark);
    display: flex; align-items: center; justify-content: center; font-size: 30px;
}
.msgprm.msg2prm .f2-chat-placeholder p { color: var(--dark); font-size: 16px; font-weight: 600; margin: 0; max-width: 30ch; }

/* ---------- Baslik ---------- */
.msgprm.msg2prm .f2-chat-head { min-height: 72px; padding: 12px 18px; gap: 12px; background: #fff; }
.msgprm.msg2prm .f2-chat-head .f2-avatar-sm { width: 46px; height: 46px; font-size: 15px; flex: 0 0 auto; }
.msgprm.msg2prm .f2-chat-head-text { flex: 1; min-width: 0; }
.msgprm.msg2prm .f2-chat-head-name strong { font-size: 17px; }
.msgprm.msg2prm .f2-role-chip { font-size: 12px; padding: 3px 10px; }
.msgprm.msg2prm .f2-chat-head-text small#f2Presence { font-size: 13px; }
.msgprm.msg2prm .f2-chat-head-link { flex: 0 0 auto; white-space: nowrap; }

/* ---------- Akis ---------- */
.msgprm.msg2prm .f2-chat-body { padding: 18px 28px 22px; }
.msgprm.msg2prm .f2-day { margin: 22px 0 14px; justify-content: center; font-size: 12.5px; color: var(--m2-muted); }
.msgprm.msg2prm .f2-day:first-child { margin-top: 4px; }
.msgprm.msg2prm .f2-msg { margin: 12px 0 0; }
.msgprm.msg2prm .f2-msg.msg2-cont { margin-top: 2px; }
.msgprm.msg2prm .f2-day + .f2-msg { margin-top: 0; }
.msgprm.msg2prm .f2-bubble { max-width: min(70%, 540px); padding: 9px 14px 6px; border-radius: 16px; font-size: 15.5px; line-height: 1.5; }
.msgprm.msg2prm .f2-msg-theirs .f2-bubble { background: #fff; color: var(--dark); border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-end-start-radius: 4px; }
.msgprm.msg2prm .f2-msg-theirs.msg2-cont .f2-bubble { border-start-start-radius: 4px; }
.msgprm.msg2prm .f2-msg-mine .f2-bubble { background: var(--dark-2); border-color: var(--dark-2); color: #fff; border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-end-end-radius: 4px; }
.msgprm.msg2prm .f2-msg-mine.msg2-cont .f2-bubble { border-start-end-radius: 4px; }
[dir="rtl"] .msgprm.msg2prm .f2-msg-theirs .f2-bubble { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-end-start-radius: 4px; }
[dir="rtl"] .msgprm.msg2prm .f2-msg-mine .f2-bubble { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-end-end-radius: 4px; }
.msgprm.msg2prm .f2-msg-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.msgprm.msg2prm .f2-msg-meta { font-size: 11.5px; gap: 4px; margin-top: 2px; }
.msgprm.msg2prm .f2-msg-mine .f2-msg-meta { color: #cfe3d5; opacity: 1; }
.msgprm.msg2prm .f2-msg-mine .f2-tick { color: #9fc4ab; }
.msgprm.msg2prm .f2-msg-mine.f2-read .f2-tick { color: #7fe3a2; }
.msgprm.msg2prm .f2-msg.msg2-more .f2-msg-meta { display: none; }
.msgprm.msg2prm .f2-msg.msg2-more .f2-bubble { padding-bottom: 8px; }

/* Yeni mesaj cipi */
.msgprm.msg2prm .msg2prm-new {
    align-self: center; position: relative; z-index: 2; margin: -50px auto 14px; min-height: 40px; padding: 0 16px;
    border: 0; border-radius: 999px; background: var(--primary); color: #fff; font: inherit; font-size: 14px; font-weight: 700;
    cursor: pointer; box-shadow: 0 8px 20px -8px rgba(16, 51, 29, .55); display: inline-flex; align-items: center; gap: 8px;
}
.msgprm.msg2prm .msg2prm-new[hidden] { display: none; }
.msgprm.msg2prm .msg2prm-new:hover { background: var(--primary-dark); }
.msgprm.msg2prm .msg2prm-new:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 2px; }

/* ---------- Yazma alani ---------- */
.msgprm.msg2prm .f2-composer { padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
.msgprm.msg2prm .f2-composer-row { gap: 8px; align-items: flex-end; }
.msgprm.msg2prm .f2-composer textarea {
    min-height: 46px; max-height: 160px; font-size: 16px; line-height: 1.45; border-radius: 10px; resize: none; padding: 11px 14px;
}
.msgprm.msg2prm .f2-attach, .msgprm.msg2prm .f2-send { width: 46px; height: 46px; flex: 0 0 auto; }
.msgprm.msg2prm .f2-attach { border: 1px solid var(--m2-line); background: #fff; }
.msgprm.msg2prm .f2-send { font-size: 16px; }
.msgprm.msg2prm .f2-composer.msg2-empty .f2-send:disabled { background: var(--m2-soft); border-color: var(--m2-soft); color: #4f5f55; opacity: 1; cursor: not-allowed; }
.msgprm.msg2prm .f2-composer.msg2-busy .f2-send { cursor: progress; opacity: 1; }
.msgprm.msg2prm .msg2prm-hint { margin: 6px 4px 0; font-size: 12.5px; color: var(--m2-muted); }
.msgprm.msg2prm .f2-composer-preview { margin: 0 0 10px; padding: 6px; border: 1px solid var(--m2-line); border-radius: 10px; background: var(--m2-tint); }
.msgprm.msg2prm .f2-composer-preview img { max-height: 96px; border: 0; }
.msgprm.msg2prm .f2-composer-preview button {
    position: absolute; top: -10px; inset-inline-end: -10px; width: 32px; height: 32px; border-radius: 999px;
    background: var(--dark); color: #fff; border: 2px solid #fff;
}
.msgprm.msg2prm .f2-composer-error { padding: 8px 12px; border-radius: 8px; background: #fdeeee; color: #8f1d1d; font-size: 13.5px; }

@media (pointer: coarse) { .msgprm.msg2prm .msg2prm-hint { display: none; } }

/* ---------- Tablet ---------- */
@media (max-width: 992px) {
    .msgprm.msg2prm .f2-chat { grid-template-columns: 300px minmax(0, 1fr); }
    .msgprm.msg2prm .f2-chat-head-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .msgprm.msg2prm .f2-chat-head-link { position: relative; width: 44px; padding: 0; justify-content: center; }
    .msgprm.msg2prm .f2-chat-body { padding-inline: 18px; }
    .msgprm.msg2prm .f2-bubble { max-width: 80%; }
}

/* ---------- Telefon ---------- */
@media (max-width: 768px) {
    .msgprm.msg2prm .f2-chat { grid-template-columns: minmax(0, 1fr); height: calc(100dvh - 70px); min-height: 400px; }
    .msgprm.msg2prm .f2-chat-head { padding: 8px 12px; min-height: 64px; gap: 8px; }
    .msgprm.msg2prm .f2-chat-head .f2-avatar-sm { width: 40px; height: 40px; }
    .msgprm.msg2prm .f2-chat-body { padding: 12px 12px 16px; }
    .msgprm.msg2prm .f2-bubble { max-width: 88%; }
    .msgprm.msg2prm .f2-composer { padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 400px) {
    .msgprm.msg2prm .f2-role-chip { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .msgprm.msg2prm * { transition: none !important; scroll-behavior: auto !important; }
}

/* Konusma bos (henuz mesaj yok) */
.msgprm.msg2prm .f2-chat-empty { margin: 48px auto 0; padding: 14px 18px; max-width: 32ch; text-align: center; border: 1px dashed var(--m2-line); border-radius: 10px; background: #fff; font-size: 14.5px; }

.msgprm.msg2prm .f2-conv, .msgprm.msg2prm .f2-send, .msgprm.msg2prm .f2-attach, .msgprm.msg2prm .msg2prm-new { touch-action: manipulation; }


/* ==== MSGPRM.css ==== */
/* MSGPRM - mesajlasma (public/messages.php) premium duzeni. Tum kurallar .msgprm kokuyle kapsamli.
   MSGUI.css bu dosyadan sonra yuklenir; bu yuzden .msgprm on ekiyle ozgullugu yukseltiyoruz.
   JS kancalari (id/class) ve F2.css'in mobil liste<->konusma gecisi (display kurallari) aynen korunur.
   Dil: soguk yesil-gri zemin, cizgi #d6e3d9, kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. */

.msgprm {
    --msg-tint: #f1f6f2;
    --msg-line: #d6e3d9;
    --msg-text: #4a554e;
    --msg-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--msg-tint);
    padding: clamp(16px, 3vw, 32px) 0 calc(clamp(24px, 4vw, 48px) + 72px); margin-bottom: -72px;
}
.msgprm .container { max-width: 1120px; }

/* ---------- Cerceve ---------- */
.msgprm .f2-chat {
    grid-template-columns: 340px minmax(0, 1fr);
    height: calc(100vh - 200px); height: calc(100dvh - 200px); min-height: 520px; max-height: 800px;
    border: 1px solid var(--msg-line); border-radius: 16px; box-shadow: 0 24px 48px -32px rgba(16, 51, 29, .35);
    background: #fff;
}

/* ---------- Liste ---------- */
.msgprm .f2-chat-list { background: #fff; border-right: 0; border-left: 0; border-inline-end: 1px solid var(--msg-line); }
.msgprm .f2-chat-list-head {
    padding: 18px 18px 12px; font-family: var(--msg-display); font-weight: 800; font-size: 18px;
    letter-spacing: -.02em; color: var(--dark);
}
.msgprm .f2-chat-list-head i { color: var(--primary); }
.msgprm .f2-chat-search input {
    border-radius: 8px; background: var(--msg-tint); border-color: var(--msg-line); min-height: 40px; font-size: 14px;
}
.msgprm .f2-chat-search input:focus { background: #fff; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .18); }
.msgprm .f2-chat-list ul { padding: 4px 8px 10px; }
.msgprm .f2-conv { border-radius: 10px; border-left: 0; border-right: 0; padding: 10px 12px; min-height: 60px; position: relative; }
.msgprm .f2-conv:hover { background: var(--msg-tint); }
.msgprm .f2-conv.active { background: #e4efe7; }
.msgprm .f2-conv.active::before {
    content: ''; position: absolute; inset-block: 10px; inset-inline-start: 0; width: 3px; border-radius: 3px; background: var(--primary);
}
.msgprm .f2-conv-row strong { font-size: 14.5px; }
.msgprm .f2-conv-row small { color: var(--msg-text); }
.msgprm .f2-conv-time { color: #66716a; font-variant-numeric: tabular-nums; }
.msgprm .f2-conv .f2-badge.f2-conv-unread { background: var(--primary); font-variant-numeric: tabular-nums; }
.msgprm .f2-chat-list-empty .btn { border-radius: 8px; }

/* ---------- Konusma basligi ---------- */
.msgprm .f2-chat-head { padding: 12px 18px; border-bottom: 1px solid var(--msg-line); min-height: 68px; }
.msgprm .f2-chat-head-name strong { font-family: var(--msg-display); font-weight: 800; font-size: 16px; letter-spacing: -.01em; }
.msgprm .f2-role-chip { background: #e4efe7; color: var(--primary-dark); }
.msgprm .f2-chat-head-text small#f2Presence { color: var(--msg-text); }
.msgprm .f2-chat-head-text small.f2-online { color: #1e7a3c; }
.msgprm .f2-chat-head-link { border-radius: 8px; min-height: 40px; }
.msgprm .f2-chat-back { width: 44px; height: 44px; border-radius: 8px; }
.msgprm .f2-chat-back:hover { background: var(--msg-tint); }

/* ---------- Mesaj akisi ---------- */
.msgprm .f2-chat-body { background: var(--msg-tint); background-image: none; padding: 20px 24px; }
.msgprm .f2-older { border-color: var(--msg-line); box-shadow: none; min-height: 36px; }
.msgprm .f2-day { color: #55605a; font-variant-numeric: tabular-nums; }
.msgprm .f2-day::before, .msgprm .f2-day::after { background: var(--msg-line); }
.msgprm .f2-bubble {
    border: 1px solid var(--msg-line); box-shadow: none; border-radius: 12px; max-width: min(72%, 560px);
}
.msgprm .f2-msg-theirs .f2-bubble { border-bottom-left-radius: 4px; }
.msgprm .f2-msg-mine .f2-bubble { background: var(--dark-2); border-color: var(--dark-2); color: #fff; border-bottom-right-radius: 4px; }
[dir="rtl"] .msgprm .f2-msg-theirs .f2-bubble { border-bottom-left-radius: 12px; border-bottom-right-radius: 4px; }
[dir="rtl"] .msgprm .f2-msg-mine .f2-bubble { border-bottom-right-radius: 12px; border-bottom-left-radius: 4px; }
.msgprm .f2-msg-meta { opacity: .8; font-variant-numeric: tabular-nums; }
.msgprm .f2-msg-theirs .f2-msg-meta { color: #55605a; opacity: 1; }
.msgprm .f2-msg-img { border-radius: 10px; }
.msgprm .f2-chat-placeholder { color: var(--msg-text); }
.msgprm .f2-chat-placeholder i { color: #b9cdbf; }
.msgprm .f2-chat-empty { color: var(--msg-text); }

/* ---------- Yazma alani ---------- */
.msgprm .f2-composer { border-top: 1px solid var(--msg-line); background: #fff; }
.msgprm .f2-composer textarea { border-radius: 10px; background: var(--msg-tint); border-color: var(--msg-line); padding: 11px 14px; }
.msgprm .f2-composer textarea:focus { background: #fff; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .18); }
.msgprm .f2-attach, .msgprm .f2-send { width: 44px; height: 44px; border-radius: 8px; }
.msgprm .f2-attach { color: var(--msg-text); }
.msgprm .f2-attach:hover { background: var(--msg-tint); color: var(--primary-dark); }
.msgprm .f2-composer-preview img { border-radius: 10px; border-color: var(--msg-line); }
.msgprm .f2-composer-preview button { width: 28px; height: 28px; }

/* ---------- Odak ---------- */
.msgprm .f2-conv:focus-visible,
.msgprm .f2-chat-back:focus-visible,
.msgprm .f2-older:focus-visible,
.msgprm .f2-attach:focus-within,
.msgprm .f2-send:focus-visible,
.msgprm .f2-chat-head-link:focus-visible,
.msgprm .f2-composer-preview button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- Tablet ---------- */
@media (max-width: 992px) {
    .msgprm .f2-chat { grid-template-columns: 280px minmax(0, 1fr); }
    .msgprm .f2-bubble { max-width: 80%; }
}

/* ---------- Telefon: liste <-> konusma (display gecisi F2.css'te) ---------- */
@media (max-width: 768px) {
    .msgprm { padding: 0; }
    .msgprm .f2-chat {
        grid-template-columns: minmax(0, 1fr); border-radius: 0; border-inline-width: 0;
        height: calc(100vh - 140px); height: calc(100dvh - 140px); min-height: 420px; max-height: none;
    }
    .msgprm .f2-chat-list { border-inline-end: 0; }
    .msgprm .f2-chat-body { padding: 14px; }
    .msgprm .f2-bubble { max-width: 86%; }
    .msgprm .f2-conv { min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
    .msgprm * { transition: none !important; }
}


/* ==== MSGUI.css ==== */
/* MSGUI — public/messages.php yeniden tasarim.
   F2.css'teki .f2-chat* temel kurallarini (satir siralamasi geregi) burada ustune yazar;
   JS kancalari (id/class) aynen korunur, sadece gorunum degisir. */

/* ---------------- Govde ---------------- */
.f2-chat-page { padding: 28px 0 48px; }
.f2-chat {
    display: grid; grid-template-columns: 320px minmax(0, 1fr);
    height: calc(100vh - 210px); min-height: 480px; max-height: 780px;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md); overflow: hidden;
}

/* ---------------- Konusma listesi ---------------- */
.f2-chat-list { background: var(--gray-50); border-right: 1px solid var(--gray-200); }
[dir="rtl"] .f2-chat-list { border-right: 0; border-left: 1px solid var(--gray-200); }
.f2-chat-list-head {
    padding: 18px 18px 12px; font-weight: 800; font-size: 17px; color: var(--gray-900);
    border-bottom: 0; display: flex; gap: 10px; align-items: center;
}
.f2-chat-list-head i { color: var(--primary); font-size: 16px; }

.f2-chat-search { position: relative; margin: 0 14px 10px; }
.f2-chat-search i {
    position: absolute; top: 50%; left: 13px; transform: translateY(-50%);
    color: var(--gray-500); font-size: 13px; pointer-events: none;
}
[dir="rtl"] .f2-chat-search i { left: auto; right: 13px; }
.f2-chat-search input {
    width: 100%; border: 1px solid var(--gray-200); background: var(--white); border-radius: 999px;
    padding: 9px 14px 9px 36px; font: inherit; font-size: 13.5px; color: var(--gray-900);
}
[dir="rtl"] .f2-chat-search input { padding: 9px 36px 9px 14px; }
.f2-chat-search input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-light); }
.f2-chat-search input::-webkit-search-cancel-button { cursor: pointer; }

.f2-chat-list-empty { padding: 32px 22px; color: var(--gray-600); font-size: 14px; text-align: center; }
.f2-chat-list-empty i { display: block; font-size: 30px; color: var(--gray-400); margin-bottom: 10px; }
.f2-chat-list-empty p { margin: 0 0 14px; line-height: 1.5; }

.f2-chat-list ul { list-style: none; margin: 0; padding: 4px 10px 10px; overflow-y: auto; flex: 1; }
.f2-search-empty { text-align: center; color: var(--gray-500); font-size: 13px; padding: 18px; margin: 0; }

.f2-conv {
    position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 14px;
    border-radius: var(--radius-sm); color: inherit; text-decoration: none;
    border-left: 3px solid transparent; transition: background-color .15s ease;
}
[dir="rtl"] .f2-conv { border-left: 0; border-right: 3px solid transparent; padding: 10px 14px 10px 12px; }
.f2-chat-list ul li + li { margin-top: 2px; }
.f2-conv:hover { background: var(--gray-100); }
.f2-conv.active { background: var(--primary-light); border-left-color: var(--primary); }
[dir="rtl"] .f2-conv.active { border-right-color: var(--primary); }
.f2-conv .f2-avatar-sm { flex: 0 0 auto; }

.f2-conv-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.f2-conv-row { display: flex; align-items: center; gap: 8px; }
.f2-conv-row strong {
    flex: 1; min-width: 0; font-size: 14.5px; font-weight: 700; color: var(--gray-900);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.f2-conv-row small {
    flex: 1; min-width: 0; font-size: 12.5px; color: var(--gray-600); font-weight: 400;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.f2-conv-time { flex: 0 0 auto; font-size: 11px; color: var(--gray-500); }
.f2-conv .f2-badge.f2-conv-unread { flex: 0 0 auto; margin-left: 0; }

/* ---------------- Sohbet paneli ---------------- */
.f2-chat-pane { background: var(--white); }
.f2-chat-placeholder { color: var(--gray-500); }
.f2-chat-placeholder i { font-size: 46px; color: var(--gray-300); }

.f2-chat-head {
    padding: 14px 18px; border-bottom: 1px solid var(--gray-200); gap: 12px;
    background: var(--white);
}
.f2-chat-back {
    display: none; width: 38px; height: 38px; border-radius: 50%; align-items: center; justify-content: center;
    flex: 0 0 auto; font-size: 16px;
}
.f2-chat-back:hover { background: var(--gray-100); }
.f2-chat-head-text { display: flex; flex-direction: column; gap: 2px; }
.f2-chat-head-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.f2-chat-head-name strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 15px; }
.f2-role-chip {
    flex: 0 0 auto; font-size: 10.5px; font-weight: 700; padding: 2px 9px; border-radius: 999px;
    background: var(--gray-100); color: var(--gray-700); letter-spacing: .01em;
}
.f2-chat-head-text small#f2Presence { font-size: 12px; color: var(--gray-500); }
.f2-chat-head-text small.f2-online { color: var(--success); font-weight: 600; }
.f2-chat-head-link { border-radius: 999px; }

/* ---------------- Mesaj alani ---------------- */
.f2-chat-body {
    background: var(--gray-50);
    background-image: radial-gradient(var(--gray-200) 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 18px 20px;
}
.f2-older {
    background: var(--white); border: 1px solid var(--gray-200); box-shadow: var(--shadow);
    font-weight: 600; color: var(--primary-dark);
}
.f2-older:hover { background: var(--primary-light); border-color: var(--primary); }
.f2-chat-empty { color: var(--gray-500); }

.f2-day {
    display: flex; align-items: center; gap: 10px; margin: 18px 0 12px;
    font-size: 11.5px; font-weight: 700; color: var(--gray-600);
}
.f2-day::before, .f2-day::after { content: ''; flex: 1; height: 1px; background: var(--gray-200); }

.f2-msg { margin: 3px 0; }
.f2-bubble {
    max-width: min(74%, 520px); padding: 9px 13px 7px; border-radius: 16px;
    background: var(--white); border: 1px solid var(--gray-200); box-shadow: var(--shadow);
}
.f2-msg-mine .f2-bubble { background: var(--primary); border-color: var(--primary); box-shadow: none; border-bottom-right-radius: 4px; }
.f2-msg-theirs .f2-bubble { border-bottom-left-radius: 4px; }
[dir="rtl"] .f2-msg-theirs .f2-bubble { border-bottom-left-radius: 16px; border-bottom-right-radius: 4px; }
[dir="rtl"] .f2-msg-mine .f2-bubble { border-bottom-right-radius: 16px; border-bottom-left-radius: 4px; }

.f2-msg-text { overflow-wrap: anywhere; word-break: break-word; }
.f2-msg-img {
    border-radius: 12px; overflow: hidden; cursor: zoom-in; border: 1px solid rgba(0,0,0,.06);
}
.f2-msg-img img { max-height: 300px; transition: filter .15s ease; }
.f2-msg-img:hover img, .f2-msg-img:focus-visible img { filter: brightness(.94); }
.f2-msg-meta { font-size: 10.5px; }
.f2-tick { font-size: 11px; }

/* ---------------- Yazma alani ---------------- */
.f2-composer { padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px)); }
.f2-composer textarea { border-radius: 22px; background: var(--gray-50); border-color: var(--gray-200); }
.f2-composer textarea:focus { background: var(--white); box-shadow: 0 0 0 3px var(--primary-light); }
.f2-attach, .f2-send { width: 40px; height: 40px; }
.f2-attach:hover { color: var(--primary); }
.f2-send:disabled { opacity: .7; }
.f2-composer-preview { margin-left: 52px; }
[dir="rtl"] .f2-composer-preview { margin-left: 0; margin-right: 52px; }

/* ---------------- Buyuk gorsel (lightbox) ---------------- */
.f2-lightbox {
    position: fixed; inset: 0; z-index: 2000; background: rgba(15, 20, 16, .92);
    display: flex; align-items: center; justify-content: center; padding: 24px;
}
.f2-lightbox[hidden] { display: none; }
.f2-lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.f2-lightbox-close {
    position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 50%;
    background: rgba(255,255,255,.12); color: #fff; border: 0; font-size: 18px; cursor: pointer;
}
.f2-lightbox-close:hover { background: rgba(255,255,255,.22); }
[dir="rtl"] .f2-lightbox-close { right: auto; left: 18px; }

/* ---------------- Odak gorunurlugu ---------------- */
.f2-conv:focus-visible,
.f2-chat-back:focus-visible,
.f2-older:focus-visible,
.f2-attach:focus-visible,
.f2-msg-img:focus-visible,
.f2-lightbox-close:focus-visible,
.f2-chat-search input:focus-visible {
    outline: 2px solid var(--primary-dark); outline-offset: 2px;
}

/* ---------------- Tablet ---------------- */
@media (max-width: 992px) {
    .f2-chat { grid-template-columns: 260px minmax(0, 1fr); }
}

/* ---------------- Telefon ---------------- */
@media (max-width: 768px) {
    .f2-chat-page { padding: 0; }
    /* F2.css taban kurallarinin ustune (bu dosya sonra yuklenir): tek sutun, kenardan kenara, klavye acikken de tam yukseklik */
    .f2-chat {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 0; border-left: 0; border-right: 0;
        height: calc(100vh - 140px); height: calc(100dvh - 140px); max-height: none;
    }
    .f2-chat-back { display: inline-flex; }
    .f2-chat-head { padding: 12px 14px calc(12px + env(safe-area-inset-top, 0px)) 14px; }
    .f2-chat-body { padding: 14px; }
    .f2-role-chip { display: none; } /* dar ekranda ad ve geri dugmesine yer birak */
    .f2-conv { padding: 10px 12px; }
    .f2-bubble { max-width: 84%; }
    .f2-lightbox-close { top: max(14px, env(safe-area-inset-top, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
    .f2-conv, .f2-msg-img img { transition: none; }
}


/* ==== MSTK.css ==== */
/* MSTK — Yanlislarim defteri (public/mistakes.php) soru karti tasarimi.
   Paylasilan/ANL bilesenleri (.anl-kpi puan kartlari, .solution-explanation, .question-image,
   .option-letter, .option-image, .mo-empty) kasten kullanilmaya devam eder — sinav sonuc sayfasiyla
   ayni gorsel dil. Bu dosya yalnizca bu sayfaya ozgu duzeni + soru karti bilesenlerini tanimlar. */

.mstk-vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.mstk-wrap { max-width: 900px; }
.mstk-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.mstk-notice { margin-bottom: 16px; }

/* ---- Konu cipleri ---- */
.mstk-chip-row {
    display: flex; gap: 8px; overflow-x: auto; margin: 0 0 10px; padding: 2px 2px 6px;
    scrollbar-width: thin;
}
.mstk-chip {
    display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0;
    min-height: 40px; padding-inline: 14px; border-radius: 999px;
    border: 1px solid var(--gray-300); background: var(--white); color: var(--gray-800);
    font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: border-color .15s, color .15s, background-color .15s;
}
.mstk-chip:hover, .mstk-chip:focus-visible { border-color: var(--primary); color: var(--primary); }
.mstk-chip.is-active { background: var(--primary); border-color: var(--primary); color: var(--white); }
.mstk-chip-n { font-size: 11px; font-weight: 700; opacity: .75; }
.mstk-toggle {
    display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 4px;
    color: var(--gray-700); font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer;
    margin-bottom: 16px;
}
.mstk-toggle i { color: var(--primary); font-size: 15px; }
.mstk-toggle:hover, .mstk-toggle:focus-visible { color: var(--primary); }

.mstk-empty p { margin: 0 0 16px; }
.mstk-count { margin: 0 0 12px; }

/* ---- Soru karti listesi ---- */
.mstk-list { display: grid; gap: 16px; }
.mstk-card {
    background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow);
    border-left: 4px solid var(--danger); padding: 18px 20px; min-width: 0;
}
.mstk-card.is-learned { border-left-color: var(--success); }
.mstk-card.is-busy { opacity: .7; }

.mstk-card-head { margin-bottom: 14px; }
.mstk-head-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.mstk-num { font-size: 13px; font-weight: 700; color: var(--gray-600); }
.mstk-tag {
    display: inline-block; max-width: 100%; padding: 3px 10px; border-radius: 999px;
    background: var(--primary-light); color: var(--primary-dark); font-size: 12px; font-weight: 700;
    overflow-wrap: anywhere;
}
.mstk-badge-learned { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--success); display: inline-flex; align-items: center; gap: 5px; }
[dir="rtl"] .mstk-badge-learned { margin-left: 0; margin-right: auto; }

.mstk-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 12px; color: var(--gray-600); }
.mstk-meta-i { display: inline-flex; align-items: center; gap: 5px; overflow-wrap: anywhere; }
.mstk-meta-i i { color: var(--gray-500); font-size: 11px; }

/* ---- Soru govdesi ---- */
.mstk-q { font-size: 16px; line-height: 1.7; color: var(--dark); overflow-wrap: anywhere; overflow-x: auto; }
.mstk-img { margin: 14px 0 0; }
.mstk-img img { max-width: 100%; height: auto; }
.mstk-zoom { display: inline-block; cursor: zoom-in; border-radius: var(--radius-sm); }
.mstk-zoom:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* ---- Siklar: dikey liste, harf dairesi solda ---- */
.mstk-opts { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
.mstk-opt {
    display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; min-height: 48px;
    padding: 10px 14px; text-align: left; font: inherit; font-size: 15px; color: var(--dark);
    background: var(--white); border: 1px solid var(--gray-300); border-radius: var(--radius-sm); cursor: pointer;
    transition: border-color .15s, background-color .15s;
}
[dir="rtl"] .mstk-opt { text-align: right; }
.mstk-opt .option-letter { width: 30px; height: 30px; font-size: 13px; flex-shrink: 0; }
.mstk-opt-text { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; overflow-x: auto; }
.mstk-opt .option-image { max-height: 70px; max-width: 100%; }
.mstk-opt-tag { flex-shrink: 0; font-size: 12px; font-weight: 700; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.mstk-opt-tag:empty { display: none; }
.mstk-opt:hover:not(:disabled), .mstk-opt:focus-visible { border-color: var(--primary); background: var(--primary-light); }
.mstk-opt:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.mstk-opt:disabled { cursor: default; }
.mstk-opt.is-wrong { background: #fce8e6; border-color: var(--danger); }
.mstk-opt.is-wrong .option-letter { background: var(--danger); color: var(--white); }
.mstk-opt.is-wrong .mstk-opt-tag { color: var(--danger); }
.mstk-opt.is-correct { background: #e6f4ea; border-color: var(--success); }
.mstk-opt.is-correct .option-letter { background: var(--success); color: var(--white); }
.mstk-opt.is-correct .mstk-opt-tag { color: var(--success); }

.mstk-feedback { min-height: 0; margin-top: 12px; font-size: 14px; font-weight: 600; }
.mstk-feedback:empty { display: none; }
.mstk-feedback.is-ok { color: var(--success); }
.mstk-feedback.is-bad { color: var(--danger); }

.mstk-solution { margin-top: 14px; border-radius: var(--radius-sm); }
.mstk-solution[hidden] { display: none; }
.mstk-solution img { max-width: 100%; height: auto; }
.mstk-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.mstk-pager { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 24px; flex-wrap: wrap; }

/* ---- Gorsel buyutme (lightbox) ---- */
.mstk-lightbox {
    position: fixed; inset: 0; z-index: 1200; background: rgba(0, 0, 0, .82);
    display: flex; align-items: center; justify-content: center; padding: 24px;
}
.mstk-lightbox[hidden] { display: none; }
.mstk-lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.mstk-lightbox-close {
    position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border-radius: 50%;
    border: 0; background: rgba(255, 255, 255, .12); color: var(--white); font-size: 18px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.mstk-lightbox-close:hover, .mstk-lightbox-close:focus-visible { background: rgba(255, 255, 255, .22); outline: 2px solid var(--white); outline-offset: 2px; }
[dir="rtl"] .mstk-lightbox-close { right: auto; left: 18px; }

/* RTL kart genel akisi (dil sitesi RTL degilse de soru dili RTL olabilir; mstk-body uzerinde dir="rtl") */
.mstk-body[dir="rtl"] .mstk-meta { direction: rtl; }

/* ---- Tablet ---- */
@media (max-width: 900px) {
    .mstk-stats { grid-template-columns: 1fr 1fr; }
}
/* ---- Telefon ---- */
@media (max-width: 640px) {
    .mstk-card { padding: 14px; }
    .mstk-q { font-size: 15px; }
    .mstk-opt { padding: 10px 12px; }
    .mstk-lightbox { padding: 12px; }
    .mstk-lightbox-close { top: max(12px, env(safe-area-inset-top, 0px)); right: 12px; }
}


/* ==== MSTPRM.css ==== */
/* MSTPRM - yanlislar defteri (public/mistakes.php) premium duzeni. Tum kurallar .mstprm kokuyle kapsamli.
   MSTK.css'teki .mstk-* bilesenlerinin ustune yazar; JS seciciler (.mstk-*) degismedi. */

.mstprm {
    --mp-tint: #f1f6f2;
    --mp-line: #d6e3d9;
    --mp-ink: var(--dark);
    --mp-text: #4a554e;
    --mp-r: 16px;
    --mp-r-sm: 10px;
    --mp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --mp-key: #a8dbb7;
    margin-bottom: -72px;
}
.mstprm a:focus-visible, .mstprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- BASLIK ---------- */
.mstprm-hero { background: var(--secondary); color: #fff; padding: clamp(32px, 4.5vw, 56px) 0; }
.mstprm-hero-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 72px); align-items: end; }
.mstprm-hero-text { min-width: 0; }
.mstprm-hero h1 { font-family: var(--mp-display); font-weight: 800; color: #fff; text-align: start; font-size: clamp(32px, 4.2vw, 52px); line-height: 1.06; letter-spacing: -0.035em; margin: 0 0 14px; }
.mstprm-hero-text > p { color: rgba(255,255,255,.84); font-size: 17px; line-height: 1.65; max-width: 54ch; margin: 0; }
.mstprm-sum { max-width: 440px; justify-self: end; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(255,255,255,.22); }
.mstprm-sum > div { display: flex; flex-direction: column; padding: 16px 20px 0; border-inline-start: 1px solid rgba(255,255,255,.16); }
.mstprm-sum > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.mstprm-sum dt { order: 2; font-size: 14px; line-height: 1.35; color: rgba(255,255,255,.78); margin: 8px 0 0; overflow-wrap: anywhere; }
.mstprm-sum dd { margin: 0; font-family: var(--mp-display); font-weight: 800; font-size: clamp(30px, 3.4vw, 44px); line-height: 1; letter-spacing: -0.03em; color: var(--mp-key); font-variant-numeric: tabular-nums; }

/* ---------- ZEMIN ---------- */
.mstprm-main { background: var(--mp-tint); padding: clamp(24px, 3.5vw, 40px) 0 clamp(72px, 8vw, 104px); min-height: 420px; }
.mstprm .mstk-wrap { max-width: 880px; }
.mstprm .mstk-notice { border-radius: var(--mp-r-sm); }

/* ---------- FILTRELER ---------- */
.mstprm .mstk-chip-row { gap: 8px; margin: 0 0 6px; padding: 2px 2px 8px; }
.mstprm .mstk-chip { min-height: 44px; padding-inline: 18px; border: 1px solid var(--mp-line); color: var(--mp-ink); font-size: 15px; }
.mstprm .mstk-chip:hover, .mstprm .mstk-chip:focus-visible { border-color: var(--primary); color: var(--primary-dark); }
.mstprm .mstk-chip.is-active, .mstprm .mstk-chip.is-active:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.mstprm .mstk-chip-n { font-size: 13px; opacity: .8; font-variant-numeric: tabular-nums; }
.mstprm .mstk-toggle { min-height: 44px; color: var(--mp-text); font-size: 14.5px; margin-bottom: 8px; }
.mstprm .mstk-toggle:hover, .mstprm .mstk-toggle:focus-visible { color: var(--primary-dark); }
.mstprm .mstk-count { margin: 4px 0 16px; font-size: 14.5px; font-weight: 600; color: var(--mp-text); font-variant-numeric: tabular-nums; }

.mstprm .mstk-empty { max-width: 520px; margin-inline: auto; padding: 56px 20px; background: transparent; box-shadow: none; color: var(--mp-text); }
.mstprm .mstk-empty i { color: var(--primary); opacity: .55; }
.mstprm .mstk-empty p { font-size: 16px; line-height: 1.6; }
.mstprm .mstk-empty .btn { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }

/* ---------- SORU KARTLARI ---------- */
.mstprm .mstk-list { gap: 20px; }
.mstprm .mstk-card {
    background: #fff; border: 1px solid var(--mp-line); border-radius: var(--mp-r); box-shadow: none;
    padding: clamp(18px, 3vw, 28px); transition: border-color .2s;
}
.mstprm .mstk-card.is-learned { border-color: #9fc4a9; }
.mstprm .mstk-card.is-busy { opacity: .7; }

.mstprm .mstk-card-head { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--mp-line); }
.mstprm .mstk-num { font-family: var(--mp-display); font-size: 15px; font-weight: 800; color: var(--mp-ink); font-variant-numeric: tabular-nums; }
.mstprm .mstk-tag { padding: 5px 12px; background: #e3f0e6; color: #1d5a31; font-size: 13px; }
.mstprm .mstk-badge-learned { margin-left: 0; margin-inline-start: auto; padding: 5px 12px; border-radius: 999px; background: var(--primary-dark); color: #fff; font-size: 13px; }
.mstprm .mstk-meta { gap: 4px 16px; margin-top: 10px; font-size: 13.5px; color: var(--mp-text); }
.mstprm .mstk-meta-i i { color: var(--primary); font-size: 12px; }

/* okunabilir soru metni */
.mstprm .mstk-q { font-size: 18px; line-height: 1.75; color: var(--mp-ink); max-width: 68ch; }
.mstprm .mstk-img { margin-top: 16px; }
.mstprm .mstk-zoom { border-radius: var(--mp-r-sm); overflow: hidden; border: 1px solid var(--mp-line); }
.mstprm .mstk-img img { display: block; }

/* ---------- SIKLAR ---------- */
.mstprm .mstk-opts { gap: 10px; margin-top: 20px; }
.mstprm .mstk-opt {
    min-height: 52px; padding: 10px 16px; font-size: 16px; line-height: 1.5; border-color: var(--mp-line); border-radius: var(--mp-r-sm);
    text-align: start;
}
.mstprm .mstk-opt .option-letter { width: 32px; height: 32px; background: #e3f0e6; color: #1d5a31; font-family: var(--mp-display); font-weight: 800; }
.mstprm .mstk-opt:hover:not(:disabled), .mstprm .mstk-opt:focus-visible { border-color: var(--primary); background: var(--primary-light); }
.mstprm .mstk-opt.is-wrong { background: #fce8e6; border-color: #b3261e; }
.mstprm .mstk-opt.is-wrong .option-letter { background: #b3261e; color: #fff; }
.mstprm .mstk-opt.is-wrong .mstk-opt-tag { color: #8c1d18; }
.mstprm .mstk-opt.is-correct { background: #e6f4ea; border-color: #166534; }
.mstprm .mstk-opt.is-correct .option-letter { background: #166534; color: #fff; }
.mstprm .mstk-opt.is-correct .mstk-opt-tag { color: #166534; }

.mstprm .mstk-feedback { margin-top: 14px; font-size: 15px; }
.mstprm .mstk-feedback.is-ok { color: #166534; }
.mstprm .mstk-feedback.is-bad { color: #8c1d18; }

.mstprm .mstk-solution { margin-top: 16px; padding: 16px 18px; background: var(--mp-tint); border: 1px solid var(--mp-line); border-radius: var(--mp-r-sm); font-size: 16px; line-height: 1.7; color: var(--mp-text); }
.mstprm .mstk-solution h4 { font-family: var(--mp-display); font-size: 15px; font-weight: 800; color: var(--mp-ink); }
.mstprm .mstk-solution h4 i { color: var(--primary); }
.mstprm .mstk-solution-body { overflow-wrap: anywhere; overflow-x: auto; }

.mstprm .mstk-actions { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--mp-line); }
.mstprm .mstk-actions .btn { min-height: 44px; border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; }
.mstprm .mstk-pager { margin-top: 32px; }
.mstprm .mstk-pager .btn { min-height: 44px; border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; }
.mstprm .mstk-pager .mo-muted { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: no-preference) {
    .mstprm .mstk-card { animation: mpRise .5s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .mstprm .mstk-card:nth-child(n+2) { animation-delay: .06s; }
    .mstprm .mstk-card:nth-child(n+3) { animation-delay: .12s; }
}
@keyframes mpRise { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 860px) {
    .mstprm-hero-in { grid-template-columns: minmax(0, 1fr); align-items: start; }
    .mstprm-sum { justify-self: start; }
}
@media (max-width: 640px) {
    .mstprm-hero-text > p { font-size: 16px; }
    .mstprm-sum > div { padding: 14px 14px 0; }
    .mstprm .mstk-chip-row { margin-inline: -20px; padding-inline: 20px; scrollbar-width: none; }
    .mstprm .mstk-chip-row::-webkit-scrollbar { display: none; }
    .mstprm .mstk-card { padding: 16px; }
    .mstprm .mstk-q { font-size: 17px; }
    .mstprm .mstk-opt { padding: 10px 12px; font-size: 15.5px; }
    .mstprm .mstk-actions .btn { flex: 1 1 100%; justify-content: center; }
}


/* ==== MSTU.css ==== */
/* MSTU — mentorun ogrenci yonetimi + Profilim > Mentor bilgilerim.
   1) "Ogrenci ekle" karti (.mstu-add; mentor paneli + Ogrencilerim ayni bilesen)
   2) Ogrencilerim: acilir ekleme paneli, ID / durum / satir eylemleri (.mstu)
   3) Duzenleme penceresi (.mstu-dialog)
   4) Profilim > Mentor bilgilerim bolumu (.mstu-msec, MPRF bolum menusu kalibi) + baslik capasi (.mstu-profile)
   Dil: MNPRM / PROFPRM / MPRF ile ayni — cizgi #d6e3d9, zemin #f1f6f2, Manrope baslik; kart 16px, ic kutu 10px,
   alan/buton 8px, etiket tam yuvarlak. Gradient yazi yok, kart icinde kart yok. Mantiksal ozellikler (RTL).
   Tum secicilerin koku .mstu-* sinifidir. */

/* ------------------------------------------------------------------ */
/* 1) Ogrenci ekle karti                                               */
/* ------------------------------------------------------------------ */
.mstu-add {
    --ms-line: #d6e3d9; --ms-tint: #f1f6f2; --ms-field: #7d8e83; --ms-muted: #56615a; --ms-ink: var(--dark, #141a15);
    --ms-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
}
.mstu-add.f3-add-card { padding: clamp(16px, 2.4vw, 24px); border: 1px solid var(--ms-line); border-radius: 16px; box-shadow: none; margin: 0 0 24px; background: #fff; }
.mstu-add .mstu-add-title {
    display: flex; align-items: center; gap: 10px; margin: 0;
    font-family: var(--ms-display); font-size: 18px; font-weight: 800; letter-spacing: -0.015em; color: var(--ms-ink); line-height: 1.3;
}
.mstu-add .mstu-add-title i {
    display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 auto; margin: 0;
    border-radius: 10px; background: #e4f1e8; color: #1f6b3a; font-size: 14px;
}
.mstu-add .f3-chip { background: var(--ms-tint); border: 1px solid var(--ms-line); color: #3f4a43; font-variant-numeric: tabular-nums; }
.mstu-add .mstu-add-desc { margin: 10px 0 0; font-size: 14.5px; line-height: 1.55; color: #3f4a43; max-width: 72ch; }
.mstu-add .mstu-add-modes { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px 20px; grid-template-columns: minmax(0, 1fr); }
.mstu-add .mstu-add-modes li { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.5; color: var(--ms-muted); }
.mstu-add .mstu-add-modes i { flex: 0 0 auto; width: 16px; margin-top: 3px; text-align: center; color: var(--primary-dark, #1f6b3a); }
.mstu-add .mstu-add-school {
    display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; padding: 10px 14px;
    border-radius: 10px; background: var(--ms-tint); font-size: 14px; line-height: 1.45; color: #2d3830; overflow-wrap: anywhere;
}
.mstu-add .mstu-add-school i { margin-top: 3px; color: var(--primary-dark, #1f6b3a); }
.mstu-add .mstu-add-school.is-empty { background: #fff7e6; color: #7a4a06; }
.mstu-add .mstu-add-school.is-empty i { color: #9a5b00; }
.mstu-add .mstu-add-school a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.mstu-add .f3-tabs { margin: 16px 0 12px; border-bottom-color: var(--ms-line); }
.mstu-add .f3-tab { min-height: 44px; color: var(--ms-muted); }
.mstu-add .f3-tab.active { color: var(--primary-dark); border-bottom-color: var(--primary); }
.mstu-add .f3-tab i { margin-inline-end: 4px; }

/* satirlar: masaustu tek satir (Ad | Soyad | Sinif | E-posta | Sifre | x) */
.mstu-add .mstu-row-head,
.mstu-add .mstu-row {
    display: grid; gap: 8px; align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 104px minmax(0, 1.6fr) 44px;
    grid-template-areas: "first last grade email rm";
}
.mstu-add .mstu-row-head { padding: 0 2px 6px; font-size: 12.5px; font-weight: 700; color: #3f4a43; }
.mstu-add .f3-rows { gap: 8px; margin-bottom: 12px; }
.mstu-add .mstu-row .mstu-in--first_name { grid-area: first; }
.mstu-add .mstu-row .mstu-in--last_name { grid-area: last; }
.mstu-add .mstu-row .mstu-in--grade { grid-area: grade; }
.mstu-add .mstu-row .mstu-in--email { grid-area: email; }
.mstu-add .mstu-row .f3-row-remove.f3-row-remove { grid-area: rm; }
.mstu-add .mstu-row input, .mstu-add .mstu-row select, .mstu-add .f3-paste {
    width: 100%; min-width: 0; min-height: 44px; padding: 0 12px; border: 1px solid var(--ms-field); border-radius: 8px;
    background-color: #fff; color: var(--ms-ink); font: inherit; font-size: 15px;
}
.mstu-add .f3-paste { padding: 10px 12px; min-height: 160px; line-height: 1.5; }
.mstu-add .mstu-row input::placeholder, .mstu-add .f3-paste::placeholder { color: #6b766f; opacity: 1; }
.mstu-add .mstu-row input:focus, .mstu-add .mstu-row select:focus, .mstu-add .f3-paste:focus {
    border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, .28); outline-offset: 0;
}
.mstu-add .f3-row-remove {
    width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid transparent; border-radius: 8px; background: var(--ms-tint); color: var(--ms-muted); cursor: pointer;
}
.mstu-add .f3-row-remove:hover { color: #b42318; border-color: #f3c7c2; background: #fff5f4; }
.mstu-add .f3-row-remove:focus-visible, .mstu-add .f3-tab:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

.mstu-add .f3-actions { margin-top: 16px; gap: 12px 16px; }
.mstu-add .f3-actions .btn { min-height: 48px; padding-inline: 24px; border-radius: 8px; font-weight: 700; }
.mstu-add .f3-progress { font-size: 14px; color: #3f4a43; font-variant-numeric: tabular-nums; }
.mstu-add .btn-sm { min-height: 40px; border-radius: 8px; }
.mstu-add .f3-res { border-radius: 8px; padding: 8px 10px; font-size: 13.5px; }
.mstu-add .f3-res i { margin-top: 2px; }
.mstu-add .mstu-refresh { margin-top: 12px; }
.mstu-add .mstu-sr, .mstu .mstu-sr {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@media (max-width: 1000px) {
    .mstu-add .mstu-row-head { display: none; }
    .mstu-add .mstu-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 112px 44px;
        grid-template-areas: "first last grade rm" "email email email email";
        padding: 12px; border: 1px solid var(--ms-line); border-radius: 10px; background: #fbfdfb;
    }
}
@media (max-width: 560px) {
    .mstu-add .mstu-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
        grid-template-areas: "first last rm" "email email email" "grade grade grade";
        padding: 10px;
    }
    .mstu-add .f3-actions .btn { width: 100%; justify-content: center; }
}
@media (max-width: 360px) {
    .mstu-add .mstu-row { grid-template-areas: "first first rm" "last last last" "email email email" "grade grade grade"; }
}

/* ------------------------------------------------------------------ */
/* 2) Ogrencilerim                                                      */
/* ------------------------------------------------------------------ */
.mstu .mstu-add-panel { margin: 0 0 4px; }
.mstu .mstu-id { font-variant-numeric: tabular-nums; font-weight: 600; color: #3f4a43; white-space: nowrap; }
.mstu .f4-student-row-slot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.mstu .mstu-rowbar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-width: 0; }
.mstu .mstu-status {
    display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; margin-inline-end: 4px; border-radius: 999px;
    font-size: 12.5px; font-weight: 700; line-height: 1.4; white-space: nowrap; border: 1px solid transparent;
}
.mstu .mstu-status--active { background: #e8f5ec; border-color: #c6e4cf; color: #1d5e33; }
.mstu .mstu-status--pending { background: #fef6e4; border-color: #f6dca4; color: #7a4a06; }
/* F3 satir rozeti ayni bilgiyi verir; durum etiketi yeterli ("Daveti tekrar gonder" dugmesi kalir) */
.mstu .f3-inactive .f3-badge { display: none; }
.mstu .mstu-link {
    display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 10px; border: 0; border-radius: 8px;
    background: none; color: var(--primary-dark, #1f6b3a); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; touch-action: manipulation;
}
.mstu .mstu-link:hover { background: #eef6f0; text-decoration: underline; text-underline-offset: 3px; }
.mstu .mstu-link:focus-visible { outline: 3px solid var(--primary); outline-offset: 1px; }
.mstu .mstu-link[disabled] { opacity: .55; cursor: progress; }
.mstu .mstu-rowmsg { font-size: 13px; line-height: 1.4; color: #3f4a43; }
.mstu .mstu-rowmsg:empty { display: none; }
.mstu .mstu-rowmsg.is-ok { color: #1d5e33; }
.mstu .mstu-rowmsg.is-err { color: #b42318; }
.mstu .f4-student-row-slot .f3-resend { min-height: 40px; border-radius: 8px; }
@media (max-width: 600px) {
    .mstu .mstu-rowbar { width: 100%; }
    .mstu .mstu-link { padding: 0 8px; min-height: 44px; }
}
@media (prefers-reduced-motion: no-preference) {
    .mstu .mstu-link, .mstu-add .f3-row-remove { transition: background-color .15s ease, color .15s ease; }
}

/* ------------------------------------------------------------------ */
/* 3) Duzenleme penceresi                                               */
/* ------------------------------------------------------------------ */
.mstu-dialog {
    --ms-line: #d6e3d9; --ms-tint: #f1f6f2; --ms-field: #7d8e83; --ms-muted: #56615a;
    width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; margin: auto;
    border: 1px solid var(--ms-line); border-radius: 16px; background: #fff; color: #2d3830; overflow: auto; overscroll-behavior: contain;
    box-shadow: 0 24px 64px rgba(14, 22, 16, .28);
}
.mstu-dialog::backdrop { background: rgba(14, 22, 16, .55); }
.mstu-dialog .mstu-dialog-head { position: relative; padding: 20px 64px 12px 24px; border-bottom: 1px solid var(--ms-line); }
[dir="rtl"] .mstu-dialog .mstu-dialog-head { padding: 20px 24px 12px 64px; }
.mstu-dialog h2 { margin: 0; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -0.015em; color: var(--dark, #141a15); }
.mstu-dialog .mstu-dialog-sub { margin: 4px 0 0; font-size: 13.5px; color: var(--ms-muted); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.mstu-dialog .mstu-dialog-x {
    position: absolute; top: 12px; inset-inline-end: 12px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
    border: 0; border-radius: 8px; background: none; color: var(--ms-muted); font-size: 18px; cursor: pointer;
}
.mstu-dialog .mstu-dialog-x:hover { background: var(--ms-tint); color: var(--dark, #141a15); }
.mstu-dialog .mstu-dialog-body { padding: 18px 24px 4px; }
.mstu-dialog .mstu-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.mstu-dialog .mstu-field { margin-bottom: 14px; min-width: 0; }
.mstu-dialog .mstu-field[hidden] { display: none; }
.mstu-dialog label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--dark, #141a15); }
.mstu-dialog .mstu-field > input, .mstu-dialog .mstu-field > select {
    width: 100%; min-width: 0; min-height: 46px; padding: 0 12px; border: 1px solid var(--ms-field); border-radius: 8px;
    background-color: #fff; color: var(--dark, #141a15); font: inherit; font-size: 15px;
}
.mstu-dialog .mstu-field > input:focus, .mstu-dialog .mstu-field > select:focus { border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, .28); outline-offset: 0; }
.mstu-dialog .mstu-field > input[readonly] { background: var(--ms-tint); color: #4a554e; border-style: dashed; }
.mstu-dialog small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: #4a554e; }
.mstu-dialog .mstu-dialog-msg { margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: #fff5f4; color: #b42318; font-size: 14px; line-height: 1.45; }
.mstu-dialog .mstu-dialog-msg.is-ok { background: #e8f5ec; color: #1d5e33; }
.mstu-dialog .mstu-dialog-foot {
    display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 14px 24px 20px; border-top: 1px solid var(--ms-line);
}
.mstu-dialog .mstu-dialog-foot .btn { min-height: 46px; padding-inline: 20px; border-radius: 8px; font-weight: 700; }
.mstu-dialog button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
@media (max-width: 520px) {
    .mstu-dialog .mstu-grid2 { grid-template-columns: minmax(0, 1fr); }
    .mstu-dialog .mstu-dialog-head { padding: 16px 60px 10px 16px; }
    [dir="rtl"] .mstu-dialog .mstu-dialog-head { padding: 16px 16px 10px 60px; }
    .mstu-dialog .mstu-dialog-body { padding: 14px 16px 2px; }
    .mstu-dialog .mstu-dialog-foot { padding: 12px 16px 16px; }
    .mstu-dialog .mstu-dialog-foot .btn { flex: 1 1 0; justify-content: center; }
}

/* ------------------------------------------------------------------ */
/* 4) Profilim > Mentor bilgilerim                                      */
/* ------------------------------------------------------------------ */
.mstu-profile .mstu-jump {
    display: inline-flex; align-items: center; gap: 8px; min-height: 40px; margin-top: 14px; padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none;
}
.mstu-profile .mstu-jump:hover { background: rgba(255, 255, 255, .1); }
.mstu-profile .mstu-jump:focus-visible { outline: 3px solid #8fe0a9; outline-offset: 2px; }
.mstu-msec.mprf { background: none; box-shadow: none; padding: 0 0 clamp(8px, 2vw, 16px); scroll-margin-top: calc(var(--hdr-h, 61px) + 8px); }
.mstu-msec .mstu-msec-head { padding: 8px 0 18px; margin-bottom: 4px; border-top: 1px solid #d6e3d9; padding-top: clamp(24px, 3vw, 36px); }
.mstu-msec .mstu-msec-title {
    display: flex; align-items: center; gap: 12px; margin: 0;
    font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; letter-spacing: -0.02em; color: var(--dark, #141a15);
}
.mstu-msec .mstu-msec-title i {
    display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: 0 0 auto;
    border-radius: 10px; background: #e4f1e8; color: #1f6b3a; font-size: 16px;
}
.mstu-msec .mstu-msec-lead { margin: 8px 0 0; max-width: 62ch; color: #4a554e; font-size: 15px; line-height: 1.55; }
.mstu-msec .mstu-msec-note { display: block; margin-top: -4px; font-size: 13px; line-height: 1.45; color: #4a554e; }
.mstu-msec .mprf-toc { background: rgba(241, 246, 242, .96); }
@media (min-width: 900px) { .mstu-msec .mprf-toc { background: none; } }
.mstu-msec .mprf-sec:last-of-type { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.mstu-profile .profile-section.mstu-phub { padding-top: 0; }


/* ==== MTTL.css ==== */
/* MTTL — mentor unvani: liste + "Diger" kutusu */
.mttl-field select, .mttl-field input { width: 100%; max-width: 100%; box-sizing: border-box; }
.mttl-other { margin-top: 8px; }
.mttl-other[hidden] { display: none; }
.mttl-other-label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 4px; color: var(--gray-600, #4b5563); }


/* ==== MWZPRM.css ==== */
/* MWZPRM - mentor profil tamamlama sihirbazi (mentor-wizard.php) premium duzeni.
   Tum kurallar .mwzprm kokuyle kapsamli; F1.css ustune yazar (dosya sirasi F1 < MWZPRM).
   MNPRM/MPRF ile ayni dil: zemin #f1f6f2, cizgi #d6e3d9, kart 16px, ic kutu 10px, alan/buton 8px.
   Mantiksal ozellikler (RTL). Hareket yalniz renk gecisi. */

.mwzprm {
    --mw-line: #d6e3d9;
    --mw-tint: #f1f6f2;
    --mw-ink: var(--dark);
    --mw-text: #3f4a43;
    --mw-muted: #56615a;
    --mw-field: #7d8e83;
    --mw-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    padding-block: clamp(24px, 4vw, 48px) 80px;
    color: var(--mw-text);
}
.mwzprm a, .mwzprm button, .mwzprm label, .mwzprm input, .mwzprm select { touch-action: manipulation; }
.mwzprm button, .mwzprm input, .mwzprm select { font-family: inherit; }
.mwzprm h1, .mwzprm h2 { text-wrap: balance; }

.mwzprm a:focus-visible, .mwzprm button:focus-visible, .mwzprm input:focus-visible,
.mwzprm select:focus-visible, .mwzprm label:focus-within { outline: 3px solid var(--primary); outline-offset: 2px; }

/* baslik */
.mwzprm-head { max-width: 720px; margin: 0 auto 24px; }
.mwzprm-head h1 {
    margin: 0 0 6px; font-family: var(--mw-display); font-weight: 800; color: var(--mw-ink);
    font-size: clamp(26px, 3.2vw, 34px); line-height: 1.15; letter-spacing: -0.025em; text-align: start; overflow-wrap: anywhere;
}
.mwzprm-head p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--mw-muted); max-width: 62ch; }

/* kart */
.mwzprm .mwzprm-card {
    max-width: 720px; margin-inline: auto; padding: clamp(18px, 3vw, 32px);
    background: var(--white); border: 1px solid var(--mw-line); border-radius: 16px; box-shadow: none;
}

/* adim gostergesi */
.mwzprm .f1-steps { gap: 0; margin: 0 0 28px; padding-block-end: 24px; border-bottom: 1px solid var(--mw-line); }
.mwzprm .f1-steps li { color: var(--mw-muted); font-size: 14px; font-weight: 600; }
.mwzprm .f1-steps li a { min-height: 44px; text-decoration: none; border-radius: 8px; }
.mwzprm .f1-steps li a:hover .f1-step-num { border-color: var(--primary); }
.mwzprm .f1-steps li::before { left: auto; right: auto; inset-inline: calc(-50% + 22px) calc(50% + 22px); height: 2px; top: 17px; background: var(--mw-line); }
.mwzprm .f1-steps li.done::before, .mwzprm .f1-steps li.current::before { background: var(--primary); }
.mwzprm .f1-step-num {
    width: 36px; height: 36px; border: 2px solid var(--mw-field); background: var(--white); color: var(--mw-muted);
    font-family: var(--mw-display); font-weight: 800; font-variant-numeric: tabular-nums;
}
.mwzprm .f1-steps li.current { color: var(--mw-ink); }
.mwzprm .f1-steps li.current .f1-step-num { border-color: var(--primary); color: var(--primary-dark); background: var(--primary-light); }
.mwzprm .f1-steps li.done .f1-step-num { border-color: var(--primary); background: var(--primary); color: #fff; }
.mwzprm .f1-step-label { overflow-wrap: anywhere; }

/* icerik */
.mwzprm .f1-card-title { margin: 0 0 8px; font-family: var(--mw-display); font-size: 20px; font-weight: 800; letter-spacing: -0.015em; color: var(--mw-ink); }
.mwzprm .f1-card-title small { font-family: inherit; font-size: 14px; font-weight: 500; color: var(--mw-muted); }
.mwzprm .f1-muted { color: var(--mw-muted); font-size: 14.5px; line-height: 1.55; }
.mwzprm .alert { margin: 0 0 20px; border-radius: 10px; }

/* fotograf */
.mwzprm .f1-photo-row { gap: 20px; margin: 18px 0 8px; padding: 16px; background: var(--mw-tint); border: 1px solid var(--mw-line); border-radius: 10px; }
.mwzprm .f1-photo-preview .f1-avatar { border: 2px solid var(--white); box-shadow: 0 0 0 1px var(--mw-line); }
.mwzprm .f1-photo-actions label.btn:focus-within { outline: 3px solid var(--primary); outline-offset: 2px; }

/* alanlar */
.mwzprm .form-group { margin-bottom: 18px; }
.mwzprm .form-row-2 { gap: 0 16px; }
.mwzprm .form-group label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--mw-ink); }
.mwzprm .form-group input, .mwzprm .form-group select {
    min-height: 48px; border: 1px solid var(--mw-field); border-radius: 8px; background-color: #fff; font-size: 16px;
}
.mwzprm .form-group input:focus, .mwzprm .form-group select:focus {
    border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, 0.28); outline-offset: 0; box-shadow: none;
}
.mwzprm .form-group small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--mw-muted); }
.mwzprm .form-row-2:has(.mo-phone-input) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .mwzprm .form-row-2:has(.mo-phone-input) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* butonlar */
.mwzprm .btn { min-height: 46px; padding: 0 18px; border-radius: 8px; font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; justify-content: center; }
.mwzprm .btn:hover { transform: none; box-shadow: none; }
.mwzprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }
.mwzprm .btn-primary:hover { background: var(--primary-dark); }
.mwzprm .f1-actions { gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--mw-line); }
.mwzprm .f1-i-flip { display: inline-block; }
[dir="rtl"] .mwzprm .fa-arrow-right, [dir="rtl"] .mwzprm .fa-arrow-left { transform: scaleX(-1); }

/* bitis durumu */
.mwzprm .f1-done { padding: 12px 0 4px; }
.mwzprm .f1-done-icon {
    display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 14px;
    border-radius: 50%; background: var(--primary-light); color: var(--primary-dark); font-size: 26px;
}
.mwzprm .f1-done h2 { margin: 0 0 4px; font-family: var(--mw-display); font-size: 22px; font-weight: 800; letter-spacing: -0.015em; color: var(--mw-ink); }
.mwzprm .f1-done p { color: var(--mw-muted); line-height: 1.6; }
.mwzprm .f1-done .f1-actions { border-top: 0; padding-top: 0; }

@media (max-width: 540px) {
    .mwzprm .f1-steps .f1-step-label { font-size: 12px; }
    .mwzprm .f1-actions { flex-direction: column-reverse; }
    .mwzprm .f1-actions .btn { width: 100%; }
    .mwzprm .f1-photo-row { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) { .mwzprm * { transition: none !important; } }


/* ==== MXPPRM.css ==== */
/* MXPPRM - mentor deneme sinavi odeme sayfasi (public/mentor-exam-pay.php). OPYPRM ailesi (.opypay) uzerine
   MAS.css'in .mas-page kurallarini gecersiz kilar; tum kurallar .mxpprm kapsamli. */
.mxpprm.opypay .card-body { padding: 24px; }
.mxpprm.opypay .f6-pay-students li { gap: 12px; }
.mxpprm.opypay .f6-pay-students li span:first-child { min-width: 0; overflow-wrap: anywhere; }
.mxpprm.opypay .f6-pay-students li span:last-child { white-space: nowrap; }
@media (max-width: 992px) { .mxpprm.opypay .card-body { padding: 20px; } }
@media (max-width: 400px) { .mxpprm.opypay .card-body { padding: 16px; } }


/* ==== MXSPRM.css ==== */
/* MXSPRM - mentor deneme sinavlari (public/mentor-exams.php) premium duzeni.
   Tum kurallar .mxsprm kokuyle kapsamli; MEXAM.css ustune yazar (M* sirasinda MEXAM < MXSPRM).
   Dil: EXPRM kart ailesi + MNPRM panel ailesi. Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak.
   Mantiksal ozellikler (RTL), gradient yok, kart-icinde-kart yok. */

.mxsprm {
    --mx-line: #d6e3d9;
    --mx-tint: #f1f6f2;
    --mx-ink: var(--dark);
    --mx-text: #3f4a43;
    --mx-muted: #56615a;
    --mx-r: 16px;
    --mx-r-sm: 10px;
    --mx-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--mx-tint);
    padding-block: clamp(24px, 4vw, 44px) 80px;
    color: var(--mx-text);
    margin-bottom: -72px; /* .ftr kendi ust boslugunu getiriyor; zemin alt bilgiye bitisik olsun */
}
.mxsprm a:focus-visible, .mxsprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.mxsprm a, .mxsprm button { touch-action: manipulation; }
.mxsprm h1, .mxsprm h2 { text-wrap: balance; }

/* baslik */
.mxsprm .dashboard-welcome.mxsprm-head {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
    margin: 0 0 24px; padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0; color: inherit;
}
.mxsprm .welcome-text { flex: 1 1 320px; min-width: 0; }
.mxsprm .welcome-text h1 {
    margin: 0 0 6px; font-family: var(--mx-display); font-weight: 800; color: var(--mx-ink);
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere; text-align: start;
}
.mxsprm .welcome-text p { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--mx-muted); }
.mxsprm .mexam-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* butonlar >= 44px */
.mxsprm .btn { min-height: 44px; padding: 0 18px; border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; }
.mxsprm .btn-sm { min-height: 44px; padding: 0 14px; font-size: 13.5px; }
.mxsprm .btn:hover { transform: none; box-shadow: none; }
.mxsprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }
.mxsprm .btn-primary:hover { background: var(--primary-dark); }

/* bilgi notu */
.mxsprm .mexam-note {
    background: #fff; border: 1px solid var(--mx-line); border-radius: var(--mx-r); color: var(--mx-text);
    padding: 16px 20px; margin: 0 0 24px; font-size: 14.5px; line-height: 1.55;
}
.mxsprm .mexam-note > i { color: var(--primary); }
.mxsprm .mexam-note ul { gap: 6px; }

/* kategori filtresi: EXPRM cipleri */
.mxsprm .mexam-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.mxsprm .filter-btn {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px;
    background: #fff; border: 1px solid var(--mx-line); color: var(--mx-ink);
    font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color .2s, border-color .2s, color .2s;
}
.mxsprm .filter-btn:hover { border-color: var(--primary); color: var(--primary-dark); background: #fff; }
.mxsprm .filter-btn.active, .mxsprm .filter-btn.active:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }

/* kartlar */
.mxsprm .mexam-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.mxsprm .mexam-card {
    background: #fff; border: 1px solid var(--mx-line); border-radius: var(--mx-r); box-shadow: none;
    transition: border-color .2s, box-shadow .2s;
}
.mxsprm .mexam-card:hover { border-color: #9fc4a9; box-shadow: 0 20px 36px -24px rgba(16, 51, 29, 0.4); }
.mxsprm .mexam-card.is-focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .25); }
.mxsprm .mexam-cover { border-bottom: 1px solid var(--mx-line); background: #e3f0e6; }
.mxsprm .mexam-body { gap: 12px; padding: 20px 22px 22px; }
.mxsprm .mexam-tag { padding: 5px 12px; font-size: 13px; font-weight: 700; line-height: 1.2; background: #e3f0e6; color: #1d5a31; }
.mxsprm .mexam-tag-ok { background: var(--primary-dark); color: #fff; }
.mxsprm .mexam-tag-price { background: #fdf0d2; color: #6e4300; font-variant-numeric: tabular-nums; }
.mxsprm .mexam-name { font-family: var(--mx-display); font-size: 20px; font-weight: 800; line-height: 1.22; letter-spacing: -0.02em; color: var(--mx-ink); }
.mxsprm .mexam-meta { gap: 6px 18px; font-size: 14px; color: var(--mx-text); font-variant-numeric: tabular-nums; }
.mxsprm .mexam-meta li { display: inline-flex; align-items: center; gap: 7px; }
.mxsprm .mexam-meta i { color: var(--primary); font-size: 13px; margin: 0; }
.mxsprm .mexam-mine {
    background: transparent; border-radius: 0; padding: 14px 0 0; border-top: 1px solid var(--mx-line);
    font-size: 14px; color: var(--mx-text);
}
.mxsprm .mexam-mine strong { font-family: var(--mx-display); font-size: 22px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--mx-ink); }
.mxsprm .mexam-mine small { margin-inline-start: auto; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.mxsprm .mexam-btns .btn { min-height: 44px; }

/* bos durum */
.mxsprm .dashboard-card { background: #fff; border: 1px solid var(--mx-line); border-radius: var(--mx-r); box-shadow: none; }
.mxsprm .empty-state { padding: 40px 20px; text-align: center; color: var(--mx-muted); }
.mxsprm .empty-state i { font-size: 34px; color: var(--primary); opacity: .55; }
.mxsprm .empty-state h3 { font-family: var(--mx-display); font-weight: 800; color: var(--mx-ink); }

@media (prefers-reduced-motion: no-preference) {
    .mxsprm .mexam-card { animation: mxsRise .5s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .mxsprm .mexam-card:nth-child(2) { animation-delay: .06s; }
    .mxsprm .mexam-card:nth-child(n+3) { animation-delay: .12s; }
}
@keyframes mxsRise { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 640px) {
    .mxsprm .dashboard-welcome.mxsprm-head { flex-direction: column; align-items: stretch; gap: 14px; }
    .mxsprm .welcome-text { flex: 0 0 auto; }
    .mxsprm .mexam-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -20px; padding-inline: 20px; padding-bottom: 2px; }
    .mxsprm .mexam-filter::-webkit-scrollbar { display: none; }
    .mxsprm .mexam-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .mxsprm .mexam-body { padding: 18px 18px 20px; }
    .mxsprm .mexam-actions .btn { flex: 1 1 auto; justify-content: center; }
}


/* ==== MYAPRM.css ==== */
/* MYAPRM - ogrencinin mentor odevleri (public/my-mentor-assignments.php) premium duzeni.
   Tum kurallar .myaprm kokuyle kapsamli (MAS.css mentor sayfalarinda aynen kalir). DASHPRM / EXPRM ailesi:
   marka yesili, #f1f6f2 zemin, #d6e3d9 cizgi, Manrope + DM Sans, kart 16 / ic 10 / buton 8 / etiket tam yuvarlak.
   Durum yalniz renge dayanmaz: ikon + metin + sol serit. Mantiksal ozellikler (RTL). */

.myaprm {
    --my-line: #d6e3d9;
    --my-tint: #f1f6f2;
    --my-ink: var(--dark);
    --my-text: #3f4a43;
    --my-muted: #56615a;
    --my-r: 16px;
    --my-r-sm: 10px;
    --my-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--my-tint);
    padding-block: clamp(28px, 4vw, 48px) clamp(72px, 8vw, 104px);
    margin-bottom: -72px; /* .ftr kendi ust boslugunu getiriyor; zemin alt bilgiye bitisik olsun */
    color: var(--my-text);
}
.myaprm a, .myaprm button { touch-action: manipulation; }
.myaprm a:focus-visible, .myaprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
[dir="rtl"] .myaprm .myaprm-dir { transform: scaleX(-1); }

.myaprm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin: 0 0 28px; }
.myaprm-head-text { flex: 1 1 320px; min-width: 0; }
.myaprm-head h1 {
    margin: 0 0 6px; font-family: var(--my-display); font-weight: 800; color: var(--my-ink); text-align: start; text-wrap: balance;
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere;
}
.myaprm-head p { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--my-muted); }

.myaprm .btn { min-height: 44px; padding: 0 18px; border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 700; gap: 8px; align-items: center; }
.myaprm .btn-sm { min-height: 44px; padding: 0 14px; font-size: 13.5px; white-space: normal; text-align: center; }
.myaprm .btn:hover { transform: none; box-shadow: none; }
.myaprm .btn-outline:hover { background: var(--primary-light); color: var(--primary-dark); }
.myaprm .btn-primary:hover { background: var(--primary-dark); }

.myaprm-card { background: var(--white); border: 1px solid var(--my-line); border-radius: var(--my-r); box-shadow: none; margin: 0 0 20px; min-width: 0; overflow: hidden; }
.myaprm .card-header { padding: 16px 22px; border-bottom: 1px solid var(--my-line); }
.myaprm .card-header h2 {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0;
    font-family: var(--my-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; color: var(--my-ink);
}
.myaprm .card-header h2 i { color: var(--primary); }
.myaprm .card-body { padding: 0 22px; }
.myaprm-count {
    display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px;
    background: var(--primary-dark); color: #fff; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
}

/* ---------- liste ---------- */
.myaprm-list { list-style: none; margin: 0; padding: 0; }
.myaprm .mas-sitem {
    position: relative; display: flex; align-items: center; gap: 16px 24px; margin: 0; padding: 18px 0; padding-inline-start: 16px;
    border-bottom: 1px solid var(--my-line); background: none;
}
.myaprm .mas-sitem:last-child { border-bottom: 0; }
.myaprm .mas-sitem::before { content: ""; position: absolute; inset-block: 16px; inset-inline-start: 0; width: 4px; border-radius: 4px; background: var(--my-line); }
.myaprm .myaprm-st-pending::before { background: #8a958e; }
.myaprm .myaprm-st-started::before { background: #2563eb; }
.myaprm .myaprm-st-overdue::before { background: #dc2626; }
.myaprm .myaprm-st-late::before { background: #d97706; }
.myaprm .myaprm-st-done::before { background: var(--primary); }
.myaprm .mas-sitem.is-new { background: #f6faf7; margin: 0 -22px; padding-inline: 38px 22px; }
.myaprm .mas-sitem.is-new::before { inset-inline-start: 22px; }
.myaprm .mas-sitem-main { gap: 8px; }
.myaprm .mas-sitem-title strong { font-family: var(--my-display); font-weight: 800; font-size: 16px; letter-spacing: -0.01em; color: var(--my-ink); }
.myaprm .mas-sitem-side { align-items: flex-end; text-align: end; max-width: 46%; gap: 8px; }
.myaprm .mas-meta { gap: 4px 18px; font-size: 14px; color: var(--my-text); font-variant-numeric: tabular-nums; }
.myaprm .mas-meta i { color: var(--primary-dark); margin-inline: 0 4px; }
.myaprm .myaprm-st-overdue .myaprm-due { color: #991b1b; font-weight: 700; }
.myaprm .mas-badge { padding: 4px 10px; font-size: 12.5px; }
.myaprm .mas-badge i { font-size: 11px; }
.myaprm .mas-b-ok { background: #dcfce7; color: #14532d; }
.myaprm .mas-b-warn { background: #fef3c7; color: #78350f; }
.myaprm .mas-b-bad { background: #fee2e2; color: #7f1d1d; }
.myaprm .mas-b-info { background: #dbeafe; color: #1e3a8a; }
.myaprm .mas-b-muted { background: #e8eeea; color: #3f4a43; }
.myaprm .mas-note { margin-top: 4px; background: var(--my-tint); border: 0; border-inline-start: 3px solid var(--primary); border-radius: 0 var(--my-r-sm) var(--my-r-sm) 0; color: var(--my-text); }
[dir="rtl"] .myaprm .mas-note { border-radius: var(--my-r-sm) 0 0 var(--my-r-sm); }
.myaprm .mas-score { font-family: var(--my-display); font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.myaprm .mas-muted { color: var(--my-muted); font-size: 13.5px; }
.myaprm .mas-waiting { border-radius: var(--my-r-sm); font-size: 13.5px; color: #78350f; }
.myaprm .mas-buy-hint { max-width: 280px; line-height: 1.45; }

/* ---------- bos durum ---------- */
.myaprm-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 40px 16px; }
.myaprm-empty i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--primary-light); color: var(--primary-dark); font-size: 20px; }
.myaprm-empty p { margin: 0; max-width: 40ch; font-size: 16px; line-height: 1.5; color: var(--my-muted); }

@media (max-width: 768px) {
    .myaprm .card-body { padding: 0 16px; }
    .myaprm .card-header { padding: 14px 16px; }
    .myaprm .mas-sitem { flex-direction: column; align-items: stretch; gap: 12px; padding-block: 16px; }
    .myaprm .mas-sitem.is-new { margin: 0 -16px; padding-inline: 32px 16px; }
    .myaprm .mas-sitem.is-new::before { inset-inline-start: 16px; }
    .myaprm .mas-sitem-side { align-items: stretch; text-align: start; max-width: none; }
    .myaprm .mas-sitem-side .btn { width: 100%; }
    .myaprm .mas-buy-hint { max-width: none; }
    .myaprm-head-actions { flex: 1 1 100%; }
    .myaprm-head-actions .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .myaprm * { transition: none !important; }
}


/* ==== MYDPRM.css ==== */
/* MYDPRM - Verilerim (public/my-data.php) premium duzeni. Tum kurallar .mydprm ile kapsamli.
   KVKK.css'teki .kv-* siniflari admin talep listesiyle ortak; burada yalnizca `.mydprm .kv-*` ile ezilir.
   Yikici islem (hesap silme) ayri, kirmizi tonlu bir kart ve kirmizi kenarla ayrisir. */
.mydprm {
    --md-tint: #f1f6f2; --md-line: #d6e3d9; --md-ink: var(--dark); --md-text: #4a554e; --md-muted: #5b675f;
    --md-danger: #b3261e; --md-danger-tint: #fdf5f4; --md-danger-line: #ecc4c0;
    --md-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    color: var(--md-text);
    margin-bottom: -72px; /* alt bilginin ust boslugu beyaz govdeyle dolsun */
}
.mydprm a:focus-visible, .mydprm button:focus-visible, .mydprm input:focus-visible, .mydprm textarea:focus-visible {
    outline: 3px solid var(--primary); outline-offset: 3px;
}
.mydprm button, .mydprm label, .mydprm input { touch-action: manipulation; }

.mydprm-head { background: var(--md-tint); border-bottom: 1px solid var(--md-line); padding-block: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 44px); }
.mydprm-eyebrow {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 5px 12px; border-radius: 999px;
    background: #fff; border: 1px solid var(--md-line); font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--primary-dark);
}
.mydprm-head h1 {
    margin: 0 0 12px; font-family: var(--md-display); font-weight: 800; color: var(--md-ink);
    font-size: clamp(30px, 4vw, 48px); line-height: 1.1; letter-spacing: -0.03em; text-align: start; text-wrap: balance;
}
.mydprm-lead { margin: 0; max-width: 60ch; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.6; color: var(--md-text); text-align: start; }

.mydprm-body { background: #fff; padding-block: clamp(32px, 5vw, 64px) clamp(40px, 6vw, 72px); }
.mydprm .kv-wrap { max-width: 760px; gap: 28px; }

.mydprm .kv-card { border: 1px solid var(--md-line); border-radius: 16px; padding: clamp(20px, 3vw, 32px); background: #fff; }
.mydprm .kv-card h2 {
    margin: 0 0 12px; font-family: var(--md-display); font-weight: 800; font-size: clamp(19px, 2vw, 22px);
    letter-spacing: -0.02em; color: var(--md-ink); gap: 12px;
}
.mydprm .kv-card h2 i {
    flex: 0 0 auto; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px; background: var(--md-tint); color: var(--primary-dark); font-size: 17px;
}
.mydprm .kv-card p { line-height: 1.65; color: var(--md-text); }

.mydprm .kv-list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.mydprm .kv-list li { position: relative; margin: 0; padding-inline-start: 26px; line-height: 1.5; font-size: 15px; overflow-wrap: anywhere; }
.mydprm .kv-list li::before {
    content: ""; position: absolute; inset-inline-start: 4px; top: .3em; width: 6px; height: 11px;
    border: solid var(--primary); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.mydprm .btn { min-height: 46px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }

/* yikici bolum */
.mydprm .kv-danger { background: var(--md-danger-tint); border-color: var(--md-danger-line); border-inline-start: 4px solid var(--md-danger); }
.mydprm .kv-danger h2 { color: var(--md-danger); }
.mydprm .kv-danger h2 i { background: #fff; color: var(--md-danger); border: 1px solid var(--md-danger-line); }
.mydprm .kv-note { font-size: 14px; color: var(--md-muted); }
.mydprm .kv-form { gap: 18px; margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--md-danger-line); }
.mydprm .kv-form label { font-weight: 700; color: var(--md-ink); margin-bottom: 6px; }
.mydprm .kv-form .form-control { border-radius: 8px; min-height: 46px; font-size: 16px; background: #fff; }
.mydprm .kv-form textarea.form-control { min-height: 96px; }
.mydprm .kv-check { padding: 12px 14px; border: 1px solid var(--md-danger-line); border-radius: 10px; background: #fff; font-size: 15px; line-height: 1.5; cursor: pointer; }
.mydprm .kv-form .kv-check { font-weight: 400; }
.mydprm .kv-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--md-danger); }
.mydprm .btn-danger { background: var(--md-danger); border-color: var(--md-danger); color: #fff; }
.mydprm .btn-danger:hover { background: #8f1d17; border-color: #8f1d17; }
.mydprm .kv-status { border-radius: 10px; background: #fff; border: 1px solid #e8d38a; }
.mydprm .kv-status-muted { background: #fff; border-color: var(--md-line); }

@media (max-width: 600px) {
    .mydprm .kv-list { grid-template-columns: minmax(0, 1fr); }
    .mydprm .kv-form .btn, .mydprm .kv-card form > .btn { align-self: stretch; width: 100%; }
}


/* ==== MYMPRM.css ==== */
/* MYMPRM - "Mentorum" (public/my-mentor.php) premium duzeni.
   Tum kurallar .mymprm kokuyle kapsamli. Eski F2.css'in .f2-* kurallari mentor-*.php sayfalarinda kullanildigi icin
   burada ayni siniflar kapsamli secicilerle ustten yazilir. Uygulama ekrani: yogunluk + net hiyerarsi.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */

.mymprm {
    --mym-tint: #f1f6f2;
    --mym-line: #d6e3d9;
    --mym-ink: var(--dark);
    --mym-text: #4a554e;
    --mym-muted: #5b675f;
    --mym-r: 16px;
    --mym-r-sm: 10px;
    --mym-r-btn: 8px;
    --mym-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla geliyor */
}

.mymprm a:focus-visible,
.mymprm button:focus-visible,
.mymprm input:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.mymprm .mym-head a:focus-visible { outline-color: #fff; }

.mymprm .container { max-width: 1040px; }
.mymprm button, .mymprm input { font-family: inherit; }
.mymprm .btn { min-height: 44px; border-radius: var(--mym-r-btn); touch-action: manipulation; font-weight: 700; }
.mymprm .btn-sm { min-height: 44px; padding: 8px 16px; font-size: 14px; }

/* ---------- BASLIK ---------- */
.mymprm .mym-head {
    padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 44px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%);
    color: #fff;
}
.mymprm .mym-head h1 {
    margin: 0; font-family: var(--mym-display); font-weight: 800; color: #fff; text-align: start; text-wrap: balance;
    font-size: clamp(30px, 4vw, 44px); line-height: 1.05; letter-spacing: -0.03em;
}

/* ---------- GOVDE ---------- */
.mymprm .mym-body { background: var(--mym-tint); padding: clamp(24px, 4vw, 40px) 0 clamp(56px, 7vw, 88px); }
.mymprm .mym-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.mymprm .mym-main, .mymprm .mym-side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

.mymprm .mym-card {
    background: #fff; border: 1px solid var(--mym-line); border-radius: var(--mym-r);
    box-shadow: none; padding: clamp(18px, 3vw, 26px); min-width: 0;
}
.mymprm .mym-title {
    display: flex; align-items: center; gap: 10px; margin: 0 0 16px;
    font-family: var(--mym-display); font-size: 18px; font-weight: 800; line-height: 1.25; letter-spacing: -0.01em; color: var(--mym-ink);
}
.mymprm .mym-title > i { color: var(--primary); font-size: 16px; }
.mymprm .mym-note { margin: 0 0 14px; font-size: 15px; line-height: 1.55; color: var(--mym-text); }
.mymprm .mym-empty { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; line-height: 1.5; color: var(--mym-text); }
.mymprm .mym-empty > i { color: var(--primary); font-size: 18px; }
.mymprm .mym-meta { display: block; font-size: 14px; line-height: 1.45; color: var(--mym-muted); overflow-wrap: anywhere; }
.mymprm .mym-since { margin-top: 4px; }
.mymprm .mym-since > i { color: var(--primary); }

/* Mevcut mentor: vurgulu (acik yesil zemin) */
.mymprm .mym-current { background: var(--primary-light); border-color: #bcdbc6; }
.mymprm .mym-pending { background: #fff; border-color: #e3c987; border-inline-start-width: 4px; }
.mymprm .mym-pending .mym-title > i { color: #8a6410; }

/* Kisi satiri */
.mymprm .mym-person { display: flex; align-items: center; gap: 14px; min-width: 0; }
.mymprm .mym-info { min-width: 0; }
.mymprm .mym-info strong { display: block; font-size: 16px; line-height: 1.3; color: var(--mym-ink); overflow-wrap: anywhere; }
.mymprm .mym-avatar {
    width: 48px; height: 48px; flex: 0 0 auto; border-radius: 50%;
    background: var(--primary-light); color: var(--primary-dark); font-weight: 800; font-size: 16px;
}
.mymprm .mym-current .mym-avatar { background: #fff; border: 1px solid #bcdbc6; }
.mymprm .mym-avatar-lg { width: 64px; height: 64px; font-size: 21px; }
.mymprm .mym-avatar.f2-avatar-muted { background: var(--mym-tint); color: var(--mym-text); }

.mymprm .mym-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.mymprm .mym-actions form, .mymprm .mym-form { margin: 0; }
.mymprm .mym-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.mymprm .mym-danger { color: #b3261e !important; border-color: #e5b9b5 !important; background: #fff !important; }
.mymprm .mym-danger:hover { background: #fdf0ef !important; border-color: #b3261e !important; }
.mymprm .mym-badge {
    display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px;
    margin: 0; border-radius: 999px; background: #fff; color: var(--primary-dark); font-size: 12px; font-weight: 800;
    font-variant-numeric: tabular-nums;
}

/* ---------- ARAMA ---------- */
.mymprm .mym-search { display: flex; gap: 10px; margin: 0 0 4px; }
.mymprm .mym-field { position: relative; flex: 1; min-width: 0; display: block; }
.mymprm .mym-field-icon { position: absolute; inset-inline-start: 15px; top: 50%; transform: translateY(-50%); color: #66716a; pointer-events: none; }
.mymprm .mym-search input[type="search"],
.mymprm .mym-code input {
    width: 100%; min-height: 48px; padding: 10px 14px; background: #fff;
    border: 1.5px solid #b9cbbd; border-radius: var(--mym-r-btn); font-size: 16px; color: var(--mym-ink);
}
.mymprm .mym-search input[type="search"] { padding-inline-start: 42px; }
.mymprm .mym-search input::placeholder, .mymprm .mym-code input::placeholder { color: #66716a; letter-spacing: 0; text-transform: none; font-weight: 400; }
.mymprm .mym-search input:focus, .mymprm .mym-code input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, 0.22); }
.mymprm .mym-search .btn { flex: 0 0 auto; min-height: 48px; padding: 0 22px; }
.mymprm .mym-search .btn span { display: inline; }

.mymprm .mym-list { list-style: none; margin: 14px 0 0; padding: 0; }
.mymprm .mym-item {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 14px 0; border-top: 1px solid var(--mym-line);
}
.mymprm .mym-item:first-child { padding-top: 14px; }
.mymprm .mym-item > form, .mymprm .mym-item > .mym-status { flex: 0 0 auto; }
.mymprm .mym-status { border-radius: 999px; padding: 5px 12px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.mymprm .mym-status-ok { background: #e3ede6; color: var(--primary-dark); }
.mymprm .mym-status-wait { background: #fbf0d4; color: #6b4a06; }

/* ---------- YAN KOLON ---------- */
.mymprm .mym-code { display: flex; flex-direction: column; gap: 10px; }
.mymprm .mym-code input { text-transform: uppercase; letter-spacing: 0.15em; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.mymprm .mym-how { background: var(--mym-tint); }
.mymprm .mym-steps { margin: 0; padding-inline-start: 22px; font-size: 15px; line-height: 1.6; color: var(--mym-text); }
.mymprm .mym-steps li + li { margin-top: 8px; }
.mymprm .mym-steps li::marker { color: var(--primary-dark); font-weight: 800; }

/* ---------- DUYARLI ---------- */
@media (max-width: 992px) {
    .mymprm .mym-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
    .mymprm .mym-item { flex-direction: column; align-items: stretch; gap: 12px; }
    .mymprm .mym-item > form .btn { width: 100%; justify-content: center; }
    .mymprm .mym-item > .mym-status { align-self: flex-start; }
    .mymprm .mym-actions .btn, .mymprm .mym-form .btn { width: 100%; justify-content: center; }
    .mymprm .mym-actions form { width: 100%; }
}
@media (max-width: 380px) {
    .mymprm .mym-search { flex-direction: column; }
    .mymprm .mym-search .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .mymprm * { transition: none !important; animation: none !important; }
}


/* ==== NOTUI.css ==== */
/* NOTUI: bildirimler sayfasi (public/notifications.php) */

/* Suzgec cipleri: yatay kaydirilabilir */
.notui-chips {
    display: flex; align-items: center; gap: 8px; margin-bottom: 18px;
    overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; padding-bottom: 2px;
}
.notui-chip {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; min-height: 36px; border-radius: 999px;
    background: var(--white); border: 1px solid var(--gray-200); color: var(--gray-700);
    font-size: 13px; font-weight: 500; white-space: nowrap; line-height: 1;
    transition: var(--transition);
}
.notui-chip:hover { border-color: var(--gray-300); background: var(--gray-50); }
.notui-chip.is-active { background: var(--primary); border-color: var(--primary); color: var(--white); }
.notui-chip i { font-size: 12px; }
.notui-chip-count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
    background: var(--gray-200); color: var(--gray-800); font-size: 11px; font-weight: 700;
}
.notui-chip.is-active .notui-chip-count { background: rgba(255,255,255,.28); color: var(--white); }

/* Tarih grubu basligi + liste */
.notui-date-heading {
    font-size: 13px; font-weight: 700; color: var(--gray-600);
    margin: 22px 2px 8px; letter-spacing: .1px;
}
.notui-date-group:first-child .notui-date-heading { margin-top: 0; }

.notui-list {
    list-style: none; margin: 0 0 4px; padding: 0;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius);
    overflow: hidden;
}
.notui-item + .notui-item { border-top: 1px solid var(--gray-100); }
/* Satir: baglanti + ayri silme dugmesi (ic ice etkilesimli oge yok) */
.notui-item { display: flex; align-items: stretch; }
.notui-item > .notui-row { flex: 1 1 auto; min-width: 0; padding-inline-end: 4px; }
.notui-item.is-new { background: var(--primary-light); }
.notui-item.is-new .notui-row:hover { background: #e5f2e8; }
.notui-item.is-removing {
    opacity: 0; transform: translateX(16px);
    transition: opacity .22s ease, transform .22s ease, max-height .25s ease .15s;
    overflow: hidden;
}
[dir="rtl"] .notui-item.is-removing { transform: translateX(-16px); }
@media (prefers-reduced-motion: reduce) { .notui-item.is-removing { transition: none; } }

.notui-del-form { margin: 0; flex: 0 0 auto; display: flex; align-items: flex-start; padding-top: 9px; padding-inline-end: 8px; }
.notui-del {
    width: 40px; height: 40px; border: 0; border-radius: 50%; cursor: pointer;
    background: transparent; color: var(--gray-400); font-size: 15px;
    display: inline-flex; align-items: center; justify-content: center;
    transition: var(--transition);
}
.notui-del:hover { background: rgba(220,38,38,.1); color: var(--danger, #dc2626); }
.notui-del:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; color: var(--danger, #dc2626); }
.notui-del[disabled] { opacity: .5; cursor: progress; }

/* Bu ziyarette yeni gelen bildirim etiketi */
.notui-new {
    display: inline-block; vertical-align: 1px; margin-inline-end: 4px;
    padding: 2px 7px; border-radius: 999px; background: var(--primary); color: var(--white);
    font-size: 10.5px; font-weight: 700; line-height: 1.4; letter-spacing: .2px;
}

.notui-row {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 13px 16px; min-height: 44px;
    color: inherit; text-decoration: none;
}
.notui-row:hover { background: var(--gray-50); }
.notui-row:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }

.notui-icon {
    flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 15px;
    margin-top: 1px;
}
.notui-icon--info { background: rgba(66,133,244,.13); color: var(--info); }
.notui-icon--primary { background: var(--primary-light); color: var(--primary); }
.notui-icon--success { background: rgba(5,150,105,.13); color: var(--success); }
.notui-icon--warning { background: rgba(217,119,6,.13); color: var(--warning); }
.notui-icon--mint { background: rgba(66,179,101,.16); color: var(--mint); }
.notui-icon--gray { background: var(--gray-100); color: var(--gray-600); }

.notui-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.notui-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.notui-title { font-size: 14.5px; font-weight: 600; color: var(--gray-900); overflow-wrap: anywhere; }
.notui-time { flex: 0 0 auto; font-size: 12px; color: var(--gray-500); }
.notui-snippet {
    font-size: 13px; color: var(--gray-600); overflow-wrap: anywhere; margin: 0;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}

.notui-dot {
    flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%;
    background: var(--primary); margin-top: 8px;
}
.notui-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Bos durum */
.notui-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.notui-empty i { font-size: 34px; color: var(--gray-400); margin-bottom: 6px; }
.notui-empty-title { font-size: 16px; font-weight: 700; color: var(--gray-800); margin: 0; }
.notui-empty p:not(.notui-empty-title) { margin: 0 0 12px; }

/* Telefon: tam genislik, daha buyuk dokunma alani */
@media (max-width: 600px) {
    .notui-row { padding: 12px 14px; gap: 10px; }
    .notui-item > .notui-row { padding-inline-end: 2px; }
    .notui-del-form { padding-top: 6px; padding-inline-end: 4px; }
    .notui-icon { flex-basis: 34px; width: 34px; height: 34px; font-size: 14px; }
    .notui-top { flex-direction: column; align-items: flex-start; gap: 2px; }
    .notui-time { font-size: 11.5px; }
}

/* RTL: mantiksal ozellikler zaten yon degistiriyor; nokta/ikon flex sirasiyla otomatik uc tarafa gecer */
[dir="rtl"] .notui-sr { direction: rtl; }


/* ==== NTFPRM.css ==== */
/* NTFPRM - bildirimler sayfasi (public/notifications.php) premium duzeni.
   Tum kurallar .ntfprm kokuyle kapsamli; NOTUI.css siniflari (notui-*) korunur, burada ustune yazilir.
   Uygulama ekrani: yogun satir listesi. Okunmamis ayrimi renge degil kenar cubugu + kalin baslik + "Yeni" etiketine dayanir. */

.ntfprm {
    --ntf-tint: #f1f6f2;
    --ntf-line: #d6e3d9;
    --ntf-text: #4a554e;
    --ntf-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px;
}

.ntfprm a:focus-visible,
.ntfprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; border-radius: 8px; }

.ntfprm .ntfprm-hero {
    padding: clamp(28px, 4vw, 44px) 0 clamp(24px, 3.4vw, 36px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #1b4a2c 100%);
    color: #fff;
}
.ntfprm .ntfprm-hero h1 {
    margin: 0; color: #fff; text-align: start; font-family: var(--ntf-display); font-weight: 800;
    font-size: clamp(28px, 3.6vw, 40px); line-height: 1.1; letter-spacing: -0.03em; text-wrap: balance;
}
.ntfprm .ntfprm-hero h1 i { font-size: .8em; margin-inline-end: 8px; opacity: .85; }

.ntfprm .ntfprm-body { background: var(--ntf-tint); padding: clamp(20px, 3vw, 32px) 0 clamp(56px, 7vw, 88px); margin: 0; }
.ntfprm .container.mo-narrow { max-width: 820px; }

/* Cipler */
.ntfprm .notui-chips { gap: 8px; margin-bottom: 18px; padding-bottom: 4px; }
.ntfprm .notui-chip {
    min-height: 44px; padding: 0 16px; border-radius: 999px; border-color: var(--ntf-line);
    background: #fff; color: #33403a; font-size: 14px; font-weight: 600; touch-action: manipulation;
}
.ntfprm .notui-chip:hover { background: #e8f1ea; border-color: #b9d2c0; }
.ntfprm .notui-chip.is-active { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }

/* Tarih basligi */
.ntfprm .notui-date-heading {
    margin: 22px 2px 8px; font-family: var(--ntf-display); font-size: 13px; font-weight: 800;
    letter-spacing: .04em; text-transform: uppercase; color: #3f4d45;
}

/* Liste: tek kart, ince ayiraclar */
.ntfprm .notui-list { border-color: var(--ntf-line); border-radius: 16px; margin: 0; }
.ntfprm .notui-item + .notui-item { border-top: 1px solid #e4ede6; }
.ntfprm .notui-item { position: relative; background: #fff; }
.ntfprm .notui-item.is-new { background: #f3faf5; }
.ntfprm .notui-item.is-new::before {
    content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 4px; background: var(--primary);
}
.ntfprm .notui-row { padding: 10px 6px 10px 16px; padding-inline: 16px 6px; gap: 12px; }
.ntfprm .notui-row:hover,
.ntfprm .notui-item.is-new .notui-row:hover { background: #e8f1ea; }
.ntfprm .notui-row:focus-visible { outline-offset: -3px; }
.ntfprm .notui-icon { flex-basis: 34px; width: 34px; height: 34px; font-size: 14px; margin-top: 0; }
.ntfprm .notui-icon--gray { color: #4a554e; }
.ntfprm .notui-icon--warning { color: #92570a; }
.ntfprm .notui-icon--mint { color: #2d7a45; }
.ntfprm .notui-title { font-size: 14.5px; font-weight: 500; color: #2b3731; line-height: 1.4; }
.ntfprm .notui-item.is-new .notui-title { font-weight: 800; color: var(--dark); }
.ntfprm .notui-time { font-size: 12.5px; color: #5d6a62; font-variant-numeric: tabular-nums; }
.ntfprm .notui-snippet { font-size: 13.5px; color: var(--ntf-text); line-height: 1.45; }
.ntfprm .notui-new { padding: 2px 8px; background: var(--primary-dark); font-size: 11px; letter-spacing: .02em; }

/* Silme: 44px dokunma hedefi */
.ntfprm .notui-del-form { padding-top: 2px; padding-inline-end: 6px; }
.ntfprm .notui-del { width: 44px; height: 44px; color: #6b7870; border-radius: 10px; touch-action: manipulation; }
.ntfprm .notui-del:hover { background: rgba(220, 38, 38, .1); color: #b91c1c; }

/* Bos durum */
.ntfprm .notui-empty { background: #fff; border: 1px solid var(--ntf-line); border-radius: 16px; padding: 44px 20px; box-shadow: none; }
.ntfprm .notui-empty-title { font-family: var(--ntf-display); font-weight: 800; color: var(--dark); }
.ntfprm .notui-empty p { color: var(--ntf-text); }
.ntfprm .notui-empty .btn { min-height: 44px; border-radius: 8px; }

/* Sayfalama */
.ntfprm .pagination { margin-top: 24px; gap: 6px; }
.ntfprm .pagination .page-btn {
    min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 8px; border: 1px solid var(--ntf-line); background: #fff; color: #33403a;
    font-variant-numeric: tabular-nums; touch-action: manipulation;
}
.ntfprm .pagination a.page-btn:hover { background: #e8f1ea; color: #1f2a24; border-color: #b9d2c0; }
.ntfprm .pagination .page-btn.page-dots { border: 0; background: transparent; min-width: 28px; }
.ntfprm .pagination .page-btn.disabled { opacity: .45; }
.ntfprm .pagination .page-btn.active { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
[dir="rtl"] .ntfprm .pagination .page-arrow i { transform: scaleX(-1); }

@media (max-width: 600px) {
    .ntfprm .notui-row { padding-block: 10px; padding-inline: 12px 2px; gap: 10px; }
    .ntfprm .notui-icon { flex-basis: 32px; width: 32px; height: 32px; }
    .ntfprm .notui-del-form { padding-inline-end: 2px; }
}

@media (prefers-reduced-motion: reduce) {
    .ntfprm * { transition: none !important; }
}

@media (min-width: 700px) {
    .ntfprm .notui-chips { flex-wrap: wrap; overflow: visible; }
}


/* ==== OAPPRM.css ==== */
/* OAPPRM - olimpiyat basvuru sihirbazi (public/olympiad-apply.php) premium duzeni.
   Olimpiyat detay (OLDPRM) ailesi: koyu yesil baslik bandi + soguk yesil-gri govde, Manrope basliklar, kart 16px / ic secenek 10px / buton 8px.
   OXAPP.css / OXNOCTR.css'in ustune .oapprm kokuyle yazilir (o dosyalar degismez; sinif adlari ve JS seciciler ayni).
   Mantiksal ozellikler: RTL (ar, fa, ur) uyumlu. */

.oapprm {
    --od-tint: #f1f6f2;
    --od-line: #d6e3d9;
    --od-text: #4a554e;
    --od-ink: var(--dark);
    --od-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --od-on-dark: #cfe3d5;
    --od-key: #a8dbb7;
    --ox-line: #d6e3d9;
    --ox-soft: #eaf3ec;
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla geliyor; govde zemini ona bitisik olsun */
}
.oapprm a, .oapprm summary, .oapprm button, .oapprm label { touch-action: manipulation; }
.oapprm a:focus-visible, .oapprm button:focus-visible, .oapprm input:focus-visible, .oapprm select:focus-visible, .oapprm textarea:focus-visible {
    outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px;
}
.oapprm .oapprm-hero a:focus-visible { outline-color: #fff; }

/* ---------- Baslik bandi ---------- */
.oapprm .oapprm-hero {
    padding: clamp(20px, 3vw, 32px) 0 clamp(24px, 3.4vw, 36px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #164426 100%);
    color: #fff;
}
.oapprm .oapprm-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; margin: 0 0 clamp(8px, 1.6vw, 14px);
    font-size: 15px; font-weight: 600; color: var(--od-on-dark); text-decoration: none; transition: color .2s; overflow-wrap: anywhere;
}
.oapprm .oapprm-back:hover { color: #fff; }
[dir="rtl"] .oapprm .oapprm-back i { transform: scaleX(-1); }

.oapprm .oxapp-head { margin: 0; align-items: center; gap: 18px 40px; }
.oapprm .oxapp-head h1 {
    font-family: var(--od-display); font-weight: 800; color: #fff; text-align: start; text-wrap: balance;
    font-size: clamp(28px, 3.4vw, 42px); line-height: 1.1; letter-spacing: -0.03em;
}

/* Adimlar: koyu zeminde okunur */
.oapprm .oxapp-steps li { color: var(--od-on-dark); font-size: 14.5px; }
.oapprm .oxapp-steps li + li::before { background: rgba(255, 255, 255, 0.25); }
.oapprm .oxapp-step-n { background: transparent; border-color: rgba(255, 255, 255, 0.4); color: #fff; font-family: var(--od-display); font-variant-numeric: tabular-nums; }
.oapprm .oxapp-steps li.is-current { color: #fff; }
.oapprm .oxapp-steps li.is-current .oxapp-step-n { background: var(--od-key); border-color: var(--od-key); color: #0e1610; }
.oapprm .oxapp-steps li.is-done .oxapp-step-n { border-color: var(--od-key); background: rgba(168, 219, 183, .18); color: var(--od-key); }
.oapprm .oxapp-steps li.is-done + li::before, .oapprm .oxapp-steps li.is-current::before { background: var(--od-key); }

/* ---------- Govde ---------- */
.oapprm .oapprm-body { padding: clamp(24px, 4vw, 44px) 0 clamp(56px, 7vw, 88px); background: var(--od-tint); }
.oapprm .oxapp-alert { margin-bottom: 20px; border-radius: 10px; }
.oapprm .oxapp-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(20px, 3vw, 36px); }
.oapprm .oxapp-main { gap: 20px; }
.oapprm .oxapp-side { top: 96px; }

.oapprm .oxapp-block {
    background: #fff; border: 1px solid var(--od-line); border-radius: 16px; padding: clamp(20px, 2.6vw, 30px);
    box-shadow: none; scroll-margin-top: 96px;
}
.oapprm .oxapp-block.oxapp-need { border-color: #b45309; box-shadow: 0 0 0 3px rgba(180, 83, 9, .2); }
.oapprm .oxapp-q {
    font-family: var(--od-display); font-weight: 800; font-size: clamp(18px, 1.8vw, 20px); line-height: 1.3; letter-spacing: -0.015em;
    color: var(--od-ink); margin: 0 0 16px; text-wrap: balance;
}
.oapprm label.oxapp-q { margin-bottom: 10px; }
.oapprm .oxapp-hint { color: var(--od-text); font-size: 14px; line-height: 1.5; margin: 10px 0 0; }
.oapprm .oxapp-hint i { color: var(--primary); }
.oapprm .oxapp-two { gap: 4px 20px; }
.oapprm .oxapp-two .form-group { margin-bottom: 14px; }
.oapprm .oxapp-two .form-group:last-child { margin-bottom: 0; }

/* Alan etiketleri ve girdiler */
.oapprm .form-group > label:not(.oxapp-q) { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--od-ink); }
.oapprm input[type="text"], .oapprm input[type="tel"], .oapprm select, .oapprm .ui-select-btn {
    min-height: 48px; border-radius: 8px; border: 1px solid #b9cbbe; font-size: 16px; color: var(--od-ink); background-color: #fff;
}
.oapprm input[type="text"]:focus, .oapprm input[type="tel"]:focus, .oapprm select:focus { border-color: var(--primary); }
.oapprm .iti, .oapprm .mo-phone { width: 100%; }
.oapprm .iti input { min-height: 48px; }
.oapprm .oxnoctr-place .form-group label { font-size: 14px; }

/* Bicim secenekleri */
.oapprm .oxapp-modes { gap: 12px; }
.oapprm .oxapp-mode input { inset-inline-start: 14px; }
.oapprm .oxapp-mode-card {
    min-height: 72px; border: 1.5px solid var(--od-line); border-radius: 10px; padding: 14px 16px; background: #fff;
}
.oapprm .oxapp-mode-card i { border-radius: 8px; background: var(--ox-soft); color: var(--primary-dark); }
.oapprm .oxapp-mode-card strong { font-family: var(--od-display); font-weight: 800; font-size: 16px; }
.oapprm .oxapp-mode-card small { color: var(--od-text); font-size: 13.5px; }
.oapprm .oxapp-mode:hover .oxapp-mode-card { border-color: var(--primary); }
.oapprm .oxapp-mode input:checked + .oxapp-mode-card { border-color: var(--primary); background: var(--ox-soft); box-shadow: inset 0 0 0 1px var(--primary); }
.oapprm .oxapp-mode input:checked + .oxapp-mode-card i { background: var(--primary-dark); color: #fff; }
.oapprm .oxapp-mode input:focus-visible + .oxapp-mode-card { outline: 3px solid var(--primary); outline-offset: 2px; }
.oapprm .oxapp-fixed { border-radius: 10px; background: var(--ox-soft); }
.oapprm .oxapp-fixed strong { font-family: var(--od-display); font-weight: 800; }
.oapprm .oxapp-fixed small { color: var(--od-text); }

/* Kategori satiri ve not */
.oapprm .oxapp-cat { color: var(--primary-dark); font-weight: 700; font-size: 14.5px; }
.oapprm .oxapp-cat.is-none { color: #92400e; }
.oapprm .oxnoctr-note { margin-top: 10px; padding: 12px 14px; border-radius: 10px; background: var(--od-tint); color: var(--od-ink); font-size: 14.5px; line-height: 1.55; }
.oapprm .oxnoctr-note i { color: var(--primary); }

/* Merkez listesi (merkez secimi acik ise) */
.oapprm .oxapp-city { min-height: 44px; border-radius: 999px; border-color: var(--od-line); font-weight: 600; }
.oapprm .oxapp-city.is-active { background: var(--primary-dark); border-color: var(--primary-dark); }
.oapprm .oxapp-venue { border-radius: 10px; border-color: var(--od-line); min-height: 44px; }
.oapprm .oxapp-venue:has(input:checked) { background: var(--ox-soft); }
.oapprm .oxapp-venue-search input { border-radius: 8px; }

/* ---------- Bilet (ozet) ---------- */
.oapprm .oxapp-ticket { border-radius: 16px; box-shadow: none; border: 1px solid var(--od-line); }
.oapprm .oxapp-ticket-cover { background: var(--ox-soft); color: var(--primary-dark); }
.oapprm .oxapp-ticket-body { padding: 20px 22px 14px; }
.oapprm .oxapp-ticket-title { font-family: var(--od-display); font-weight: 800; font-size: 19px; line-height: 1.3; letter-spacing: -0.015em; margin-bottom: 10px; text-wrap: balance; }
.oapprm .oxapp-ticket-rows > div { padding: 10px 0; border-top-color: var(--od-line); font-size: 14.5px; }
.oapprm .oxapp-ticket-rows dt { color: var(--od-text); }
.oapprm .oxapp-ticket-rows dd { font-variant-numeric: tabular-nums; }
.oapprm .oxapp-ticket-stub { background: var(--od-tint); border-top-color: var(--od-line); padding: 20px 22px 22px; }
.oapprm .oxapp-ticket-stub::before, .oapprm .oxapp-ticket-stub::after { background: var(--od-tint); border-color: var(--od-line); }
.oapprm .oxapp-ticket-fee span { color: var(--od-text); }
.oapprm .oxapp-ticket-fee strong { font-family: var(--od-display); font-weight: 800; font-size: 28px; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.oapprm .oxapp-ticket .btn { min-height: 52px; border-radius: 8px; font-size: 16px; font-weight: 700; justify-content: center; }
.oapprm .oxapp-ticket-note { color: var(--od-text); font-size: 13px; line-height: 1.5; }

/* Odenmis kayit gorunumu */
.oapprm .oxapp-paid { font-family: var(--od-display); font-size: 17px; color: #14532d; }
.oapprm .oxapp-dl { gap: 16px 24px; }
.oapprm .oxapp-dl dt { color: var(--od-text); font-size: 14px; }
.oapprm .oxapp-dl dt i { margin-inline-end: 4px; }
.oapprm .oxapp-dl dd { font-variant-numeric: tabular-nums; }
.oapprm .oxapp-actions .btn { min-height: 48px; border-radius: 8px; font-weight: 700; }

@media (max-width: 992px) {
    .oapprm .oxapp-grid { grid-template-columns: minmax(0, 1fr); }
    .oapprm .oxapp-side { position: static; }
}
@media (max-width: 600px) {
    .oapprm .oxapp-head { align-items: flex-start; }
    .oapprm .oxapp-block { padding: 20px; }
    .oapprm .oxapp-ticket-body, .oapprm .oxapp-ticket-stub { padding-inline: 20px; }
}
@media (prefers-reduced-motion: no-preference) {
    .oapprm .oxapp-head > * { opacity: 0; transform: translateY(8px); animation: oapprmRise .55s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
    .oapprm .oxapp-head > :nth-child(2) { animation-delay: .08s; }
}
@keyframes oapprmRise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .oapprm .oapprm-back { transition: none; }
}


/* ==== OCROP.css ==== */
/* OCROP — kapak fotografi: sitede kesmeden gosterim + admin duzenleyicisi (assets/js/mo/OCROP.js) */

/* ---- Sitede gosterim: fotograf asla kesilmez (object-fit: contain), bos kalan kenarlar sade zemin ----
   Olimpiyat kapak alani her yerde 16:7 (kart, bilgi sayfasi basligi, mentor paneli); duzenleyicideki
   "Site kapak orani (16:7)" ile kirpilan fotograf alani kenarsiz doldurur. */
:root { --ocrop-fit-bg: linear-gradient(135deg, #eef1f5 0%, #e2e7ee 100%); }
.f6-cover:has(> img),
.f4-event-cover:has(> img) { background: var(--ocrop-fit-bg); }
.f6-cover > img,
.f4-event-cover > img { object-fit: contain; }
.f6-cover.f6-cover-lg { aspect-ratio: 16 / 7; }

/* Deneme sinavi kapagi (1200:630 alan) */
.excov-card-img,
.excov-start-img,
.mexam-cover { object-fit: contain; background: var(--ocrop-fit-bg); }

/* Admin onizlemeleri de sitedeki gibi */
.f5-cover-item img,
.excov-admin-preview img { object-fit: contain; background: var(--ocrop-fit-bg); }
.f5-cover-item img { aspect-ratio: 16 / 7; }

/* ---- Admin: kapak formu ---- */
.ocrop-status { margin: 8px 0 0; font-size: 13px; color: var(--gray-600, #4b5563); overflow-wrap: anywhere; }
.ocrop-status:empty { display: none; }
.f5-cover-upload .ocrop-status { grid-column: 1 / -1; }
.excov-admin-form .ocrop-status { flex: 1 1 100%; margin: 0; }
.ocrop-help { margin: 0 0 12px; font-size: 13px; color: var(--gray-600, #4b5563); }
.ocrop-edit-btn { margin-right: 4px; }

/* ---- Duzenleyici penceresi ---- */
body.ocrop-open { overflow: hidden; }
.ocrop-back {
    position: fixed; inset: 0; z-index: 10050;
    background: rgba(17, 24, 39, .65);
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
}
.ocrop {
    background: var(--white, #fff);
    border-radius: 14px;
    width: 100%; max-width: 1080px;
    max-height: calc(100vh - 32px);
    display: flex; flex-direction: column; gap: 12px;
    padding: 18px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
    overflow: auto;
}
.ocrop button { font-family: inherit; }
.ocrop button:focus-visible, .ocrop-box:focus-visible { outline: 3px solid var(--primary, #b91c1c); outline-offset: 2px; }
.ocrop-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.ocrop-title { margin: 0; font-size: 18px; }
.ocrop-target { font-size: 13px; color: var(--gray-600, #4b5563); }
.ocrop > * { flex-shrink: 0; }
.ocrop-body { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; }
.ocrop-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }

.ocrop-modes { display: flex; flex-wrap: wrap; gap: 6px; }
.ocrop-mode {
    border: 1px solid var(--gray-300, #d1d5db);
    background: var(--white, #fff);
    color: var(--gray-700, #374151);
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 13px;
    line-height: 1.3;
    cursor: pointer;
    min-height: 34px;
}
.ocrop-mode:hover { border-color: var(--primary, #b91c1c); }
.ocrop-mode.is-active { background: var(--primary, #b91c1c); border-color: var(--primary, #b91c1c); color: #fff; }

.ocrop-stage {
    position: relative;
    height: min(56vh, 460px);
    background: #1f2937;
    background-image: linear-gradient(45deg, #273244 25%, transparent 25%, transparent 75%, #273244 75%),
                      linear-gradient(45deg, #273244 25%, transparent 25%, transparent 75%, #273244 75%);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    border-radius: 10px;
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.ocrop-frame { position: relative; flex: none; }
.ocrop-canvas { display: block; width: 100%; height: 100%; user-select: none; }
.ocrop-box {
    position: absolute;
    box-sizing: border-box;
    border: 2px solid #fff;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, .55);
    cursor: move;
    touch-action: none;
    background-image:
        linear-gradient(to right, transparent calc(33.33% - .5px), rgba(255,255,255,.45) calc(33.33% - .5px), rgba(255,255,255,.45) calc(33.33% + .5px), transparent calc(33.33% + .5px),
                                  transparent calc(66.66% - .5px), rgba(255,255,255,.45) calc(66.66% - .5px), rgba(255,255,255,.45) calc(66.66% + .5px), transparent calc(66.66% + .5px)),
        linear-gradient(to bottom, transparent calc(33.33% - .5px), rgba(255,255,255,.45) calc(33.33% - .5px), rgba(255,255,255,.45) calc(33.33% + .5px), transparent calc(33.33% + .5px),
                                   transparent calc(66.66% - .5px), rgba(255,255,255,.45) calc(66.66% - .5px), rgba(255,255,255,.45) calc(66.66% + .5px), transparent calc(66.66% + .5px));
}
.ocrop-box[hidden] { display: none; }
.ocrop-h {
    position: absolute;
    width: 18px; height: 18px;
    background: #fff;
    border: 2px solid var(--primary, #b91c1c);
    border-radius: 50%;
    box-sizing: border-box;
    touch-action: none;
}
/* Dokunmatikte genis tutma alani */
.ocrop-h::after { content: ""; position: absolute; inset: -12px; }
.ocrop-h-nw { left: -10px; top: -10px; cursor: nwse-resize; }
.ocrop-h-ne { right: -10px; top: -10px; cursor: nesw-resize; }
.ocrop-h-se { right: -10px; bottom: -10px; cursor: nwse-resize; }
.ocrop-h-sw { left: -10px; bottom: -10px; cursor: nesw-resize; }
.ocrop-h-n { left: calc(50% - 9px); top: -10px; cursor: ns-resize; }
.ocrop-h-s { left: calc(50% - 9px); bottom: -10px; cursor: ns-resize; }
.ocrop-h-e { right: -10px; top: calc(50% - 9px); cursor: ew-resize; }
.ocrop-h-w { left: -10px; top: calc(50% - 9px); cursor: ew-resize; }

.ocrop-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ocrop-info { margin-left: auto; font-size: 13px; color: var(--gray-600, #4b5563); font-variant-numeric: tabular-nums; }
.ocrop-note { margin: 0; font-size: 13px; color: var(--gray-600, #4b5563); }

.ocrop-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ocrop-side-title { margin: 0; font-size: 14px; color: var(--gray-700, #374151); }
.ocrop-prev { margin: 0; }
.ocrop-prev-box { position: relative; width: 100%; border-radius: 8px; overflow: hidden; border: 1px solid var(--gray-200, #e5e7eb); }
.ocrop-fit { background: var(--ocrop-fit-bg); }
.ocrop-fit img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ocrop-prev figcaption { font-size: 12px; color: var(--gray-600, #4b5563); margin-top: 4px; }
.ocrop-side-note { margin: 0; font-size: 12px; color: var(--gray-600, #4b5563); }

.ocrop-foot {
    display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap;
    /* uzun pencerede (telefon) butonlar hep gorunur */
    position: sticky; bottom: 0; z-index: 2;
    background: var(--white, #fff);
    padding: 10px 0 0;
    border-top: 1px solid var(--gray-200, #e5e7eb);
}

@media (max-width: 820px) {
    .ocrop-body { grid-template-columns: 1fr; }
    .ocrop-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .ocrop-side-title, .ocrop-side-note { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .ocrop-back { padding: 8px; }
    .ocrop { padding: 14px; max-height: calc(100vh - 16px); }
    .ocrop-foot { margin-bottom: -14px; padding-bottom: 14px; }
    .ocrop-stage { height: 44vh; }
    .ocrop-foot .btn { flex: 1 1 0; justify-content: center; }
    .ocrop-info { margin-left: 0; width: 100%; }
}


/* ==== OEXPRM.css ==== */
/* OEXPRM - olimpiyat sinavina giris ekrani (public/olympiad-exam.php) premium duzeni.
   Tum kurallar .oexprm kokuyle kapsamli (F7.css ayni siniflari baska sayfalarda da kullanir; burada ustune yazilir).
   Yon: sinav aninda sakin ve net. OLDPRM ailesi: soguk yesil-gri zemin, ince cizgi, kart 16px / ic kutu 10px / buton 8px,
   Manrope basliklar + DM Sans metin, kart-icinde-kart yok, mor/gradient yok. Mantiksal ozellikler (RTL). */

.oexprm {
    --ox-tint: #f1f6f2;
    --ox-line: #d6e3d9;
    --ox-field-line: #7a9281;
    --ox-text: #4a554e;
    --ox-ink: var(--dark);
    --ox-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --ox-danger: #b3261e;
    background: var(--ox-tint);
    padding: clamp(20px, 4vw, 44px) 0 clamp(36px, 5vw, 64px);
    box-shadow: 0 72px 0 0 var(--ox-tint); /* alt bilgi ust bosluguna kadar zemin */
}
.oexprm a, .oexprm button, .oexprm label, .oexprm input, .oexprm select { touch-action: manipulation; }
.oexprm h1, .oexprm h2 { text-wrap: balance; font-family: var(--ox-display); }
.oexprm :is(a, button, input, select):focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.oexprm .container.mo-narrow { max-width: 760px; }

.oexprm .alert { border-radius: 10px; border: 1px solid #e8b4b0; border-inline-start: 4px solid var(--ox-danger); color: var(--ox-danger); background: #fdf1f0; margin-bottom: 14px; overflow-wrap: anywhere; }

/* Kart */
.oexprm .f7-entry-card { background: #fff; border: 1px solid var(--ox-line); border-radius: 16px; box-shadow: none; overflow: hidden; }
.oexprm .f7-entry-cover .covdyn-fg, .oexprm .f7-entry-cover .covdyn-bg { border-radius: 0; }
.oexprm .f7-entry-hero-noimg .f7-entry-cover { aspect-ratio: auto; min-height: 0; padding: 20px 28px 0; justify-content: flex-start; background: #fff; color: var(--primary); font-size: 28px; }
.oexprm .f7-entry-hero-body { padding: 18px 28px 0; text-align: start; }
.oexprm .f7-entry-hero-noimg .f7-entry-hero-body { padding-top: 8px; }
.oexprm .f7-kicker { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--ox-text); opacity: 1; letter-spacing: 0; }
.oexprm .f7-entry-hero-body h1 { font-size: clamp(22px, 3vw, 30px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--ox-ink); overflow-wrap: anywhere; }

/* Bilgi seridi: ince cizgili hucreler */
.oexprm .f7-entry-stats { margin: 20px 28px 0; gap: 0; background: transparent; border: 1px solid var(--ox-line); border-radius: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.oexprm .f7-entry-stats li { background: #fff; flex-direction: row; align-items: center; justify-content: flex-start; text-align: start; gap: 12px; padding: 12px 14px; border-inline-start: 1px solid var(--ox-line); min-width: 0; }
.oexprm .f7-entry-stats li:first-child { border-inline-start: 0; }
.oexprm .f7-entry-stats li i { flex: 0 0 auto; width: 20px; text-align: center; font-size: 17px; color: var(--primary-dark); }
.oexprm .f7-entry-stats li strong { font-size: 15px; font-variant-numeric: tabular-nums; color: var(--ox-ink); }
.oexprm .f7-entry-stats li span { font-size: 13px; color: var(--ox-text); }

.oexprm .f7-entry-body { padding: 22px 28px 28px; }
.oexprm .f7-entry-ends { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; margin: 0 0 18px; font-size: 15px; color: var(--ox-text); }
.oexprm .f7-countdown { font-variant-numeric: tabular-nums; font-family: var(--ox-display); font-weight: 800; }
.oexprm .f7-entry-ends .f7-countdown { color: var(--ox-ink); font-size: 17px; }

/* Durum kartlari: tek duz yuzey, mor yok */
.oexprm .f7-card { border: 1px solid var(--ox-line); border-radius: 10px; background: #fff; padding: 18px 20px; margin-bottom: 14px; color: var(--ox-text); }
.oexprm .f7-card h2 { font-size: 19px; font-weight: 800; color: var(--ox-ink); margin: 0 0 6px; }
.oexprm .f7-card p { line-height: 1.6; }
.oexprm .f7-card-success, .oexprm .f7-card-onsite { background: #eef7f0; border-color: #b7d7c0; }
.oexprm .f7-card-success > i, .oexprm .f7-card-onsite > i { color: var(--primary-dark); }
.oexprm .f7-card-closed { background: var(--ox-tint); }
.oexprm .f7-card-closed > i { color: var(--ox-text); }
.oexprm .f7-countdown-card { padding: 28px 20px; text-align: center; background: var(--ox-tint); }
.oexprm .f7-countdown-card .f7-countdown { font-size: clamp(34px, 9vw, 54px); color: var(--ox-ink); letter-spacing: -0.02em; margin: 8px 0 14px; }
.oexprm .mo-muted { color: var(--ox-text); }

/* Kurallar ve guvenlik */
.oexprm .f7-entry-info-grid { gap: 14px; margin-bottom: 22px; }
.oexprm .f7-entry-rules, .oexprm .f7-entry-security { background: var(--ox-tint); border: 1px solid var(--ox-line); border-radius: 10px; padding: 16px 18px; }
.oexprm .f7-entry-rules h2, .oexprm .f7-entry-security h2 { font-size: 15px; font-weight: 800; color: var(--ox-ink); margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
.oexprm .f7-entry-rules h2 i, .oexprm .f7-entry-security h2 i { color: var(--primary-dark); }
.oexprm .f7-entry-rules li, .oexprm .f7-entry-security li { color: var(--ox-text); font-size: 14.5px; line-height: 1.55; }
.oexprm .f7-entry-rules li::before, .oexprm .f7-entry-security li::before { background: var(--primary-dark); }

/* Form */
.oexprm .f7-entry-form { gap: 8px; margin: 0; }
.oexprm .f7-entry-form label { margin: 0; font-size: 15px; font-weight: 700; color: var(--ox-ink); }
.oexprm .f7-entry-form input, .oexprm .f7-entry-form select { border: 1px solid var(--ox-field-line); border-radius: 8px; background: #fff; color: var(--ox-ink); min-height: 48px; }
.oexprm .f7-code-input { font-family: var(--ox-display); font-variant-numeric: tabular-nums; font-size: clamp(24px, 6vw, 30px); font-weight: 800; letter-spacing: .16em; padding: 12px; min-height: 60px; }
.oexprm .f7-code-input::placeholder { color: #6b7c71; letter-spacing: .16em; opacity: 1; }
.oexprm .f7-entry-form input:focus, .oexprm .f7-entry-form select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(16, 124, 66, .18); outline: 0; }
.oexprm .f7-code-help { font-size: 13.5px; line-height: 1.5; color: var(--ox-text); }
.oexprm .f7-entry-form .f7-entry-lang { margin: 14px 0 0; }
.oexprm .f7-entry-lang label { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.oexprm .f7-entry-lang label i { color: var(--primary-dark); }
.oexprm .f7-entry-actions { margin-top: 18px; }
.oexprm .f7-entry-submit { border-radius: 8px; font-weight: 700; min-height: 52px; }
.oexprm .f7-entry-submit:active { transform: translateY(1px); }
.oexprm .btn { border-radius: 8px; }

@media (max-width: 820px) {
    .oexprm .f7-entry-hero-body { padding: 16px 20px 0; }
    .oexprm .f7-entry-hero-noimg .f7-entry-cover { padding: 18px 20px 0; }
    .oexprm .f7-entry-stats { margin: 18px 20px 0; }
    .oexprm .f7-entry-stats li { border-inline-start: 0; border-top: 1px solid var(--ox-line); }
    .oexprm .f7-entry-stats li:first-child { border-top: 0; }
    .oexprm .f7-entry-body { padding: 18px 20px 22px; }
    .oexprm .f7-entry-actions { background: #fff; border-top: 1px solid var(--ox-line); box-shadow: none; }
}
@media (max-width: 480px) {
    .oexprm .f7-entry-hero-body, .oexprm .f7-entry-hero-noimg .f7-entry-cover { padding-inline: 16px; }
    .oexprm .f7-entry-stats { margin-inline: 16px; }
    .oexprm .f7-entry-body { padding: 16px 16px 18px; }
}
@media (prefers-reduced-motion: reduce) { .oexprm * { transition: none !important; } }


/* ==== OLDPRM.css ==== */
/* OLDPRM - olimpiyat detay sayfasi (public/olympiad.php) premium yeniden duzeni.
   Tum kurallar .oldprm kokuyle kapsamli (OPAY / OXST / OXRES / Z-responsive sonradan yuklenir; ozgulluk bu yuzden kok sinifla artirildi).
   Yon: olimpiyat listesinin (OLYPRM) devami - ayni "akademik hassasiyet": koyu yesil baslik bandi, soguk yesil-gri zemin,
   Manrope basliklar + DM Sans metin, kart 16px / ic kutu 10px / buton 8px / etiket tam yuvarlak, kart-icinde-kart yok.
   Masaustu: icerik + yapiskan eylem kutusu. Telefon: eylem kutusu icerigin ustunde, alta sabit CTA cubugu.
   Mantiksal ozellikler kullanilir (RTL: ar, fa, ur). */

.oldprm {
    --od-tint: #f1f6f2;
    --od-line: #d6e3d9;
    --od-text: #4a554e;
    --od-ink: var(--dark);
    --od-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --od-on-dark: #cfe3d5;
    --od-key: #a8dbb7;
    margin-bottom: -72px; /* alt bilgi (.ftr) kendi ust bosluguyla geliyor; govde zemini ona bitisik olsun */
}
.oldprm a:focus-visible,
.oldprm summary:focus-visible,
.oldprm button:focus-visible,
.oldprm input:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.oldprm .oldprm-hero a:focus-visible { outline-color: #fff; }

/* Denetim (web-design-guidelines): cift dokunma gecikmesi yok, basliklarda dengeli satir kirma, sabit cubuk odagi ortmesin, hedef baglantilar ust cubuga carpmasin */
.oldprm a, .oldprm summary, .oldprm button, .oldprm label, .oldprm-bar .btn { touch-action: manipulation; }
.oldprm .oldprm-title, .oldprm .oldprm-h2, .oldprm .oldprm-subtitle { text-wrap: balance; }
.oldprm .f6-action-card { scroll-margin-top: 96px; }

/* ---------- Baslik bandi ---------- */
.oldprm .oldprm-hero {
    padding: clamp(24px, 3.4vw, 40px) 0 clamp(32px, 5vw, 56px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #164426 100%);
    color: #fff;
}
.oldprm .oldprm-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 0 clamp(12px, 2vw, 20px);
    font-size: 15px; font-weight: 600; color: var(--od-on-dark); text-decoration: none; transition: color .2s;
}
.oldprm .oldprm-back:hover { color: #fff; }
[dir="rtl"] .oldprm .oldprm-back i { transform: scaleX(-1); }

.oldprm .oldprm-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.oldprm .oldprm-hero-grid.has-cover { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
.oldprm .oldprm-hero-grid.has-cover.is-portrait { grid-template-columns: minmax(0, 1fr) minmax(240px, 360px); }
.oldprm .oldprm-hero-text { min-width: 0; }

.oldprm .oldprm-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.oldprm .oldprm-tags .f6-badge { padding: 5px 12px; font-size: 13px; font-weight: 700; line-height: 1.3; border-radius: 999px; }

.oldprm .oldprm-title {
    margin: 0 0 14px; font-family: var(--od-display); font-weight: 800; color: #fff; text-align: start;
    font-size: clamp(30px, 3.8vw, 50px); line-height: 1.08; letter-spacing: -0.03em; overflow-wrap: anywhere;
}
.oldprm .oldprm-subtitle {
    margin: 0 0 12px; max-width: 54ch; font-family: var(--od-display); font-weight: 700;
    font-size: clamp(17px, 1.7vw, 20px); line-height: 1.4; color: var(--od-key);
}
.oldprm .oldprm-lead { margin: 0; max-width: 60ch; font-size: clamp(16px, 1.4vw, 17.5px); line-height: 1.65; color: var(--od-on-dark); overflow-wrap: anywhere; }

.oldprm .oldprm-deadline {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; width: fit-content; max-width: 100%;
    margin: clamp(20px, 3vw, 28px) 0 0; padding: 12px 16px; min-height: 52px;
    border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 10px; background: rgba(255, 255, 255, 0.07);
    font-size: 15px; line-height: 1.4; font-weight: 600; color: #fff;
}
.oldprm .oldprm-deadline i { color: var(--od-key); }
.oldprm .oldprm-deadline span { min-width: 0; overflow-wrap: anywhere; }
.oldprm .oldprm-left { flex: none; padding: 3px 12px; border-radius: 999px; background: var(--mint); color: var(--dark); font-size: 13px; font-weight: 800; line-height: 1.4; }
.oldprm .oldprm-deadline.is-urgent .oldprm-left { background: #fef3c7; color: #92400e; }

.oldprm .oldprm-cover {
    min-width: 0; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.18);
    background: #0b2314;
}
.oldprm .oldprm-cover .covdyn-hero .covdyn-fg { max-height: min(62vh, 520px); }

/* Ozet bilgiler (tur hedefi: .f6-facts-grid) */
.oldprm .f6-facts-grid.oldprm-facts {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px clamp(20px, 3vw, 40px);
    margin: clamp(28px, 4vw, 44px) 0 0; padding: clamp(20px, 3vw, 28px) 0 0; border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.oldprm .oldprm-facts > div {
    display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 0; background: transparent; box-shadow: none; border-radius: 0;
    grid-template-columns: none;
}
.oldprm .oldprm-facts dt { margin: 0; font-size: 14px; line-height: 1.3; color: var(--od-on-dark); }
.oldprm .oldprm-facts dd { margin: 0; font-family: var(--od-display); font-weight: 700; font-size: 17px; line-height: 1.35; color: #fff; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }

/* ---------- Govde ---------- */
.oldprm .oldprm-body { padding: clamp(28px, 4.5vw, 52px) 0 clamp(56px, 7vw, 88px); background: var(--od-tint); }
.oldprm .oldprm-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(24px, 3vw, 40px); align-items: start; }
.oldprm .oldprm-main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }

.oldprm .oldprm-sec { min-width: 0; padding: clamp(22px, 3vw, 36px); background: #fff; border: 1px solid var(--od-line); border-radius: 16px; scroll-margin-top: 96px; }
.oldprm .oldprm-h2 { margin: 0 0 clamp(16px, 2vw, 24px); font-family: var(--od-display); font-weight: 800; font-size: clamp(22px, 2.2vw, 26px); line-height: 1.2; letter-spacing: -0.02em; color: var(--od-ink); text-align: start; }

.oldprm .f6-rich { font-size: 16px; line-height: 1.75; color: var(--od-text); overflow-wrap: anywhere; }
.oldprm .f6-rich > :first-child { margin-top: 0; }
.oldprm .f6-rich > :last-child { margin-bottom: 0; }
.oldprm .f6-rich h2, .oldprm .f6-rich h3, .oldprm .f6-rich h4, .oldprm .f6-rich h5 { margin: 26px 0 10px; font-family: var(--od-display); font-weight: 800; line-height: 1.25; letter-spacing: -0.015em; color: var(--od-ink); }
.oldprm .f6-rich h2 { font-size: 24px; }
.oldprm .f6-rich h3 { font-size: 20px; }
.oldprm .f6-rich p { margin: 0 0 14px; }
.oldprm .f6-rich ul, .oldprm .f6-rich ol { padding-inline-start: 22px; margin: 0 0 14px; }
.oldprm .f6-rich li { margin-bottom: 6px; }
.oldprm .f6-rich li::marker { color: var(--primary); }
.oldprm .f6-rich a { color: var(--primary-dark); text-underline-offset: 3px; }
.oldprm .f6-rich img { max-width: 100%; height: auto; border-radius: 10px; }
.oldprm .f6-rich blockquote { margin: 16px 0; padding: 4px 16px; border: 0; border-inline-start: 3px solid var(--primary); color: var(--od-text); }
.oldprm .f6-rich table { display: block; max-width: 100%; overflow-x: auto; }

/* Asamalar: etiketler zaten "1. Asama" gibi numarali gelir; burada yalniz isaret + baglanti cizgisi */
.oldprm .oldprm-sec .f6-stages { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.oldprm .oldprm-sec .f6-stages > li { position: relative; padding-block: 0 26px; padding-inline-start: 36px; line-height: 1.7; color: var(--od-text); overflow-wrap: anywhere; }
.oldprm .oldprm-sec .f6-stages > li:last-child { padding-block-end: 0; }
.oldprm .oldprm-sec .f6-stages > li::before {
    content: ""; position: absolute; inset-block-start: 7px; inset-inline-start: 0; width: 16px; height: 16px; box-sizing: border-box;
    border-radius: 50%; border: 3px solid var(--primary); background: #fff;
}
.oldprm .oldprm-sec .f6-stages > li:last-child::before { background: var(--primary); }
.oldprm .oldprm-sec .f6-stages > li::after {
    content: ""; position: absolute; inset-block: 28px -2px; inset-inline-start: 7px; width: 2px; background: var(--od-line);
}
.oldprm .oldprm-sec .f6-stages > li:last-child::after { display: none; }
.oldprm .f6-stages > li > strong { display: block; margin: 0 0 6px; font-family: var(--od-display); font-weight: 800; font-size: 18px; line-height: 1.4; color: var(--od-ink); }
.oldprm .f6-stages > li > div { font-size: 15.5px; line-height: 1.7; color: var(--od-text); }
.oldprm .f6-stages p { margin: 0 0 10px; }

/* Sinav takvimi */
.oldprm .f6-muted { color: var(--od-text); font-size: 15px; margin: 0; }
.oldprm .oldprm-sec .f6-schedule { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.oldprm .f6-schedule > li { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 18px 0; }
.oldprm .f6-schedule > li:first-child { padding-block-start: 0; }
.oldprm .f6-schedule > li:last-child { padding-block-end: 0; }
.oldprm .f6-schedule > li + li { border-top: 1px solid var(--od-line); }
.oldprm .f6-sched-date {
    flex: 0 0 68px; height: 68px; border-radius: 10px; background: var(--od-tint); border: 1px solid var(--od-line); color: var(--primary-dark);
    display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: var(--od-display); direction: ltr;
}
.oldprm .f6-sched-date span { font-size: 20px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.oldprm .f6-sched-date small { margin: 3px 0 0; font-size: 12px; font-weight: 700; color: var(--od-text); }
.oldprm .f6-schedule .f6-sched-body { flex: 1 1 220px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.oldprm .f6-sched-body strong { font-family: var(--od-display); font-weight: 800; font-size: 17px; line-height: 1.3; color: var(--od-ink); overflow-wrap: anywhere; }
.oldprm .f6-sched-body .f6-muted { font-size: 14.5px; line-height: 1.5; }
.oldprm .oxst-sched-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.oldprm .f7-status { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.3; }
.oldprm .oxst-need-reg { font-size: 13.5px; color: var(--od-text); }

/* SSS */
.oldprm .f6-faq { display: block; }
.oldprm .f6-faq details { padding: 0; border: 0; border-top: 1px solid var(--od-line); }
.oldprm .f6-faq details:first-child { border-top: 0; }
.oldprm .f6-faq summary {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 0; cursor: pointer;
    list-style: none; font-family: var(--od-display); font-weight: 700; font-size: 16.5px; line-height: 1.4; color: var(--od-ink);
}
.oldprm .f6-faq summary::-webkit-details-marker { display: none; }
.oldprm .f6-faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--primary-light); color: var(--primary-dark); font-weight: 800; font-size: 18px; line-height: 1; }
.oldprm .f6-faq details[open] summary::after { content: "-"; }
.oldprm .f6-faq summary:hover { color: var(--primary-dark); }
.oldprm .f6-faq details > div { margin: 0; padding: 0 44px 18px 0; padding-inline: 0 44px; font-size: 15.5px; line-height: 1.7; color: var(--od-text); overflow-wrap: anywhere; }
.oldprm .f6-faq details > div > :first-child { margin-top: 0; }
.oldprm .f6-faq details > div > :last-child { margin-bottom: 0; }

/* ---------- Eylem kutusu ---------- */
.oldprm .oldprm-side { position: sticky; top: 96px; min-width: 0; display: flex; flex-direction: column; gap: 0; }
.oldprm .oldprm-action { background: #fff; border: 1px solid var(--od-line); border-radius: 16px; }
.oldprm .oldprm-action-body { display: flex; flex-direction: column; gap: 14px; padding: clamp(20px, 2.4vw, 28px); }
.oldprm .oldprm-action-body > * { margin-block: 0; }
.oldprm .oldprm-action p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--od-text); }
.oldprm .f6-price { font-family: var(--od-display); font-weight: 800; font-size: 34px; line-height: 1.1; letter-spacing: -0.03em; color: var(--od-ink); font-variant-numeric: tabular-nums; }
.oldprm .f6-price small { font-family: 'DM Sans', system-ui, sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--od-text); }
.oldprm .oldprm-action .btn { min-height: 48px; justify-content: center; font-size: 15px; font-weight: 700; border-radius: 8px; }
.oldprm .oldprm-action .btn-outline { border-width: 1.5px; }
.oldprm .oldprm-action .btn-outline:hover { color: #fff; }
.oldprm .f6-count-line { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--od-ink) !important; }
.oldprm .f6-count-line i { color: var(--primary); }
.oldprm .f6-done { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 10px; background: #dcfce7; color: #14532d; font-size: 15px; font-weight: 700; }
.oldprm .f6-note { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 0; border-radius: 10px; background: var(--od-tint); color: var(--od-ink); font-size: 14.5px; line-height: 1.55; }
.oldprm .f6-note i { flex: none; margin-top: 3px; color: var(--primary); }
.oldprm .f6-note-warn { background: #fffbeb; color: #78350f; }
.oldprm .f6-note-warn i { color: #b45309; }
.oldprm .f6-mini-schedule { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; font-size: 14.5px; }
.oldprm .f6-mini-schedule li { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; background: transparent; border-radius: 0; border-top: 1px solid var(--od-line); }
.oldprm .f6-mini-schedule li:first-child { border-top: 0; padding-block-start: 0; }
.oldprm .f6-mini-schedule li strong { font-weight: 700; color: var(--od-ink); }
.oldprm .f6-mini-schedule span { font-size: 13.5px; color: var(--od-text); }
.oldprm .f6-mode-pick { margin: 0 0 14px; padding: 12px 14px 8px; border: 1px solid var(--od-line); border-radius: 10px; display: flex; flex-direction: column; gap: 0; }
.oldprm .f6-mode-pick legend { padding: 0 6px; font-size: 13px; font-weight: 700; color: var(--od-text); }
.oldprm .f6-mode-pick label { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; font-weight: 600; color: var(--od-ink); cursor: pointer; }
.oldprm .f6-mode-pick input { width: 18px; height: 18px; accent-color: var(--primary); }

/* Slot / ek modul icerikleri kutu icinde duz kalsin */
.oldprm .oldprm-action .oxst-action-live,
.oldprm .oldprm-action .oxres-action { border-radius: 10px; }
.oldprm .oldprm-action .oxapp-pay-edit { font-size: 14.5px; font-weight: 600; }
.oldprm .oldprm-action .f8-box { margin: 0; }

/* ---------- Telefonda alta yapisan CTA cubugu ---------- */
.oldprm-bar { display: none; }

@media (max-width: 992px) {
    .oldprm .oldprm-hero-grid.has-cover,
    .oldprm .oldprm-hero-grid.has-cover.is-portrait { grid-template-columns: minmax(0, 1fr); }
    .oldprm .oldprm-hero-grid.has-cover.is-portrait .oldprm-cover { width: min(100%, 360px); }
    .oldprm .f6-facts-grid.oldprm-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .oldprm .oldprm-grid { grid-template-columns: minmax(0, 1fr); }
    .oldprm .oldprm-side { position: static; order: -1; }
    .oldprm.has-bar .oldprm-body { padding-block-end: calc(96px + env(safe-area-inset-bottom, 0px)); }
    .oldprm.has-bar a, .oldprm.has-bar summary, .oldprm.has-bar button, .oldprm.has-bar input { scroll-margin-block-end: 96px; }

    .oldprm-bar {
        display: flex; align-items: center; justify-content: space-between; gap: 14px;
        position: fixed; inset-inline: 0; bottom: 0; z-index: 500;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
        background: #fff; border-top: 1px solid #d6e3d9; box-shadow: 0 -8px 24px rgba(16, 51, 29, 0.1);
        transition: transform .25s ease;
    }
    .oldprm-bar.is-hidden { transform: translateY(110%); visibility: hidden; transition: transform .25s ease, visibility 0s .25s; }
    .oldprm-bar-price { min-width: 0; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif; font-weight: 800; font-size: 18px; line-height: 1.15; color: var(--dark); white-space: nowrap; }
    .oldprm-bar-price small { display: block; margin-top: 2px; font-family: 'DM Sans', system-ui, sans-serif; font-size: 12px; font-weight: 500; color: #4a554e; }
    .oldprm-bar .btn { flex: 0 1 auto; min-height: 48px; padding: 0 20px; font-size: 15px; font-weight: 700; border-radius: 8px; justify-content: center; text-align: center; }
}
@media (max-width: 640px) {
    .oldprm .oldprm-sec { padding: 20px; }
    .oldprm .oldprm-deadline { width: 100%; }
    .oldprm .f6-schedule .f6-sched-body { flex-basis: calc(100% - 90px); }
    .oldprm .oxst-sched-cta { flex: 1 1 100%; }
    .oldprm .f6-faq details > div { padding-inline-end: 0; }
}
@media (max-width: 520px) {
    .oldprm .f6-facts-grid.oldprm-facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .oldprm .oldprm-facts > div { flex-direction: row; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, 0.14); }
    .oldprm .oldprm-facts > div:first-child { border-top: 0; }
    .oldprm .oldprm-facts dd { text-align: end; font-size: 16px; }
    .oldprm .oldprm-action-body { padding: 20px; }
}
@media (max-width: 380px) {
    .oldprm-bar-price small { display: none; }
    .oldprm-bar .btn { padding: 0 16px; }
}

/* Tek orkestre hareket: baslik bandi icerigi sayfa acilisinda bir kez yukselir */
@media (prefers-reduced-motion: no-preference) {
    .oldprm .oldprm-hero-text > *, .oldprm .oldprm-cover { opacity: 0; transform: translateY(8px); animation: oldprmRise .6s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
    .oldprm .oldprm-hero-text > :nth-child(2) { animation-delay: .08s; }
    .oldprm .oldprm-hero-text > :nth-child(3) { animation-delay: .16s; }
    .oldprm .oldprm-hero-text > :nth-child(4) { animation-delay: .24s; }
    .oldprm .oldprm-hero-text > :nth-child(5) { animation-delay: .32s; }
    .oldprm .oldprm-cover { animation-delay: .2s; }
}
@keyframes oldprmRise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .oldprm .oldprm-back, .oldprm-bar { transition: none; }
}


/* ==== OLIST.css ==== */
/* OLIST — olimpiyat listesi (public/olympiads.php). Ayni tasarim dili EXLIST.css (deneme sinavlari
   katalogu) ile: kapak COVDYN.css uzerinden (gercek oran, kesme yok, bulanik zemin dolgu). */

/* ---- Hero: acik/yaklasan olimpiyat vurgusu ---- */
.olist-highlight {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--radius);
    color: var(--white);
    text-decoration: none;
    transition: var(--transition);
}
.olist-highlight:hover { background: rgba(255, 255, 255, .16); color: var(--white); }
.olist-highlight-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--mint, #42b365);
    color: var(--dark);
    font-size: 12px;
    font-weight: 800;
    padding: 5px 11px;
    border-radius: 20px;
    white-space: nowrap;
}
.olist-highlight-text { min-width: 0; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.olist-highlight-text strong { font-weight: 700; }
.olist-highlight-text span { opacity: .8; }
.olist-highlight-arrow { margin-left: auto; flex: 0 0 auto; opacity: .8; }
[dir="rtl"] .olist-highlight-arrow { margin-left: 0; margin-right: auto; transform: scaleX(-1); }

/* ---- Kart izgarasi ---- */
.olist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.olist-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
    min-width: 0;
}
.olist-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.olist-cover {
    position: relative;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-light) 0%, #e3f0e7 100%);
}
.olist-cover-empty { display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 38px; }
.olist-cover-empty i { opacity: .5; }
.olist-cover > .f6-badge { position: absolute; top: 12px; left: 12px; z-index: 2; box-shadow: var(--shadow); }
[dir="rtl"] .olist-cover > .f6-badge { left: auto; right: 12px; }

.olist-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 0; }
.olist-title { font-size: 18px; margin: 0; color: var(--dark); overflow-wrap: anywhere; }
.olist-subtitle { color: var(--gray-700); margin: 0; font-size: 14px; }
.olist-summary { color: var(--gray-600); font-size: 14px; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.olist-facts { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--gray-700); }
.olist-facts li { display: flex; align-items: baseline; gap: 8px; }
.olist-facts i { color: var(--primary); width: 16px; text-align: center; }
.olist-more { margin-top: auto; padding-top: 8px; color: var(--primary); font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 6px; }
[dir="rtl"] .olist-more i { transform: scaleX(-1); }

.olist-empty { text-align: center; padding: 56px 20px; color: var(--gray-600); }
.olist-empty i { font-size: 44px; color: var(--gray-400); margin-bottom: 14px; display: block; }
.olist-empty h3 { color: var(--dark); margin-bottom: 6px; }

@media (max-width: 640px) {
    .olist-highlight { flex-wrap: wrap; }
    .olist-highlight-arrow { display: none; }
}
@media (max-width: 480px) {
    .olist-grid { grid-template-columns: 1fr; gap: 16px; }
}


/* ==== OLYPRM.css ==== */
/* OLYPRM - olimpiyat listesi (public/olympiads.php) premium yeniden duzeni.
   Tum kurallar .olp kokuyle kapsamli. Ana sayfa (HOMEPRM) ile ayni dil: "akademik hassasiyet" -
   marka yesili, koyu bant + soguk yesil-gri zemin, Manrope basliklar + DM Sans metin,
   sekil kilidi: kart 16px / ic kutu 10px / buton 8px / etiket tam yuvarlak, kart-icinde-kart yok.
   Mantiksal ozellikler (RTL: ar, fa, ur). */

.olp {
    --olp-tint: #f1f6f2;
    --olp-line: #d6e3d9;
    --olp-text: #4a554e;
    --olp-ink: var(--dark);
    --olp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --olp-on-dark: #cfe3d5;
    --olp-key: #a8dbb7;
    margin-bottom: -72px; /* alt bilgi kendi ust boslugunu getiriyor (ana sayfadaki gibi) */
}
.olp [hidden] { display: none !important; }
.olp a:focus-visible,
.olp button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.olp .olp-hero a:focus-visible { outline-color: #fff; }

/* ---------- Baslik bandi ---------- */
.olp-hero {
    padding: clamp(40px, 6vw, 72px) 0 clamp(36px, 5vw, 56px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #164426 100%);
    color: #fff;
}
.olp .olp-hero h1 {
    font-family: var(--olp-display); font-weight: 800; color: #fff; text-align: start;
    font-size: clamp(38px, 5vw, 62px); line-height: 1.04; letter-spacing: -0.035em; margin: 0 0 16px;
}
.olp .olp-lead { max-width: 56ch; margin: 0; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; color: var(--olp-on-dark); opacity: 1; }

.olp-stats { display: flex; flex-wrap: wrap; gap: 20px clamp(28px, 5vw, 64px); margin: clamp(28px, 4vw, 40px) 0 0; padding: 0; }
.olp-stats > div { display: flex; flex-direction: column-reverse; gap: 6px; min-width: 0; }
.olp-stats dt { font-size: 14px; line-height: 1.3; color: var(--olp-on-dark); }
.olp-stats dd {
    margin: 0; font-family: var(--olp-display); font-weight: 800; font-size: clamp(32px, 3.6vw, 46px);
    line-height: 1; letter-spacing: -0.03em; color: #fff; font-variant-numeric: tabular-nums; unicode-bidi: isolate;
}

.olp-next {
    display: flex; align-items: center; gap: 14px; margin-top: clamp(24px, 3.4vw, 36px); max-width: 760px;
    padding: 14px 18px; min-height: 56px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 10px;
    background: rgba(255, 255, 255, 0.07); color: #fff; text-decoration: none; transition: background-color .2s, border-color .2s;
}
.olp-next:hover { background: rgba(255, 255, 255, 0.13); border-color: rgba(255, 255, 255, 0.5); color: #fff; }
.olp-next-badge { flex: none; padding: 5px 12px; border-radius: 999px; background: var(--mint); color: var(--dark); font-size: 13px; font-weight: 800; line-height: 1.3; white-space: nowrap; }
.olp-next-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.olp-next-text strong { font-size: 15.5px; font-weight: 700; }
.olp-next-text span { color: var(--olp-on-dark); }
.olp-next-arrow { flex: none; }
[dir="rtl"] .olp-next-arrow { transform: scaleX(-1); }

/* ---------- Liste ---------- */
.olp .olp-list { padding: clamp(32px, 5vw, 56px) 0 clamp(56px, 7vw, 88px); background: var(--olp-tint); }

.olp-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 clamp(20px, 3vw, 32px); }
.olp-chip {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px;
    border: 1px solid var(--olp-line); border-radius: 999px; background: #fff; color: var(--olp-ink);
    font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s;
}
.olp-chip span { font-size: 13px; font-weight: 700; color: var(--olp-text); font-variant-numeric: tabular-nums; }
.olp-chip:hover { border-color: var(--primary); }
.olp-chip.is-on { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.olp-chip.is-on span { color: var(--olp-key); }

.olp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 24px; }
.olp-card {
    position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    background: #fff; border: 1px solid var(--olp-line); border-radius: 16px; box-shadow: none; transition: border-color .2s;
}
.olp-card:hover, .olp-card:focus-within { border-color: var(--primary); }

.olp-cover { position: relative; aspect-ratio: 16 / 8; overflow: hidden; background: var(--primary-light); border-block-end: 1px solid var(--olp-line); }
.olp-cover-empty { aspect-ratio: 16 / 5; display: flex; align-items: center; justify-content: center; background: #e3f0e6; }
.olp-cover-num { font-family: var(--olp-display); font-weight: 800; font-size: clamp(44px, 5vw, 60px); line-height: 1; letter-spacing: -0.04em; color: #9cc7a8; font-variant-numeric: tabular-nums; direction: ltr; }

.olp-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px 24px 24px; min-width: 0; }
.olp-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.olp .f6-badge { padding: 5px 12px; font-size: 13px; font-weight: 700; line-height: 1.3; border-radius: 999px; }
.olp-title { margin: 6px 0 0; font-family: var(--olp-display); font-size: 21px; line-height: 1.22; letter-spacing: -0.02em; color: var(--olp-ink); overflow-wrap: anywhere; }
.olp-link { color: inherit; text-decoration: none; }
.olp-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.olp-link:hover { color: var(--primary-dark); }
.olp-link:focus-visible { outline-offset: 2px; }
.olp-subtitle { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--primary-dark); }
.olp-summary { margin: 0; font-size: 15px; line-height: 1.6; color: var(--olp-text); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.olp-date {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 6px 0 0; padding: 12px 14px;
    background: var(--olp-tint); border-radius: 10px; font-size: 14px; line-height: 1.45; color: var(--olp-ink);
}
.olp-date i { color: var(--primary); }
.olp-date span { flex: 1 1 auto; min-width: 0; }
.olp-left { flex: none; padding: 3px 10px; border-radius: 999px; background: var(--primary-light); color: var(--primary-dark); font-size: 13px; font-weight: 800; }
.olp-date.is-urgent .olp-left { background: #fef3c7; color: #92400e; }

.olp-facts { list-style: none; margin: 6px 0 0; padding: 14px 0 0; border-top: 1px solid var(--olp-line); display: grid; gap: 8px; font-size: 14.5px; line-height: 1.45; color: var(--olp-text); }
.olp-facts li { display: flex; align-items: baseline; gap: 10px; }
.olp-facts i { flex: none; width: 18px; text-align: center; color: var(--primary); }

.olp-cta { margin-top: auto; padding-top: 14px; }
.olp-cta .btn { position: relative; z-index: 2; width: 100%; justify-content: center; min-height: 48px; font-size: 15px; font-weight: 700; border-radius: 8px; }
.olp-cta .btn-outline { border-width: 1.5px; }
.olp-cta .btn-outline:hover { color: #fff; }

/* ---------- Bos durumlar ---------- */
.olp-empty { max-width: 520px; margin: 0 auto; padding: clamp(40px, 7vw, 80px) 0; text-align: center; }
.olp-empty i { display: block; margin-bottom: 18px; font-size: 40px; color: var(--primary); }
.olp-empty h2 { margin: 0 0 10px; font-family: var(--olp-display); font-size: 24px; line-height: 1.25; color: var(--olp-ink); }
.olp-empty p, .olp-none { margin: 0; font-size: 16px; line-height: 1.6; color: var(--olp-text); }
.olp-none { padding: 40px 0; text-align: center; }

@media (max-width: 640px) {
    .olp-next { flex-direction: column; align-items: flex-start; gap: 10px; }
    .olp-next-text { width: 100%; }
    .olp-next-arrow { display: none; }
    .olp-body { padding: 20px; }
    .olp-grid { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .olp-next, .olp-chip, .olp-card { transition: none; }
}


/* ==== OPAY.css ==== */
/* OPAY — Olimpiyat odeme sayfasi (2 sutunlu duzen) ve detay kartinda tek eylem dugmesi */

/* Odeme sayfasi: sol = kart formu, sag = siparis ozeti (masaustu); telefonda ozet ustte, katlanir */
.opay-pay-grid > .opay-form-card { order: 1; }
.opay-pay-grid > .opay-summary-card { order: 2; }

.opay-summary-card { border: none; }
.opay-summary-head {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 20px 24px; border-bottom: 1px solid var(--gray-200);
    cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent;
}
.opay-summary-head::-webkit-details-marker { display: none; }
.opay-summary-head-label { font-size: 16px; font-weight: 700; color: var(--dark); display: flex; align-items: center; gap: 8px; }
.opay-summary-head-amt { font-size: 15px; font-weight: 700; color: var(--dark); display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.opay-summary-caret { font-size: 12px; color: var(--gray-500); transition: transform .15s ease; }
.opay-summary-card[open] .opay-summary-caret { transform: rotate(180deg); }

.opay-lines { margin-top: 6px; border-top: 1px solid var(--gray-100); padding-top: 10px; }
.opay-line { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 0; font-size: 14px; color: var(--gray-700); }
.opay-line-discount { color: var(--success); font-weight: 600; }
.opay-line-total { border-top: 1px solid var(--gray-200); margin-top: 4px; padding-top: 12px; font-size: 15px; color: var(--dark); }
.opay-line-total strong { font-size: 22px; }

.opay-coupon-wrap { padding: 2px 0 8px; }
.opay-coupon-wrap .com-coupon-toggle { margin: 0; }
.opay-coupon-wrap .com-coupon-disclosure summary {
    list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 600; color: var(--primary); padding: 4px 0;
}
.opay-coupon-wrap .com-coupon-disclosure summary::-webkit-details-marker { display: none; }
.opay-coupon-wrap .com-coupon-disclosure summary::before {
    content: '\f02b'; font-family: 'Font Awesome 6 Free', sans-serif; font-weight: 900; font-size: 12px;
}
.opay-coupon-wrap .com-coupon-disclosure .com-coupon-form { margin-top: 8px; }
.opay-coupon-wrap .com-coupon-is-applied .com-coupon-applied { padding: 8px 10px; margin: 4px 0; }

/* Odeme sayfasi telefonda: siparis ozeti (katlanir) en ustte, kart formu altta */
@media (max-width: 992px) {
    .opay-pay-grid > .opay-summary-card { order: -1; margin-bottom: 16px; }
    .opay-pay-grid > .opay-form-card { order: 1; }
    .opay-summary-head { padding: 16px 18px; }
    .opay-page .card-body { padding: 18px; }
}

/* ------------------------------------------------------------------------
 * Olimpiyat detay sayfasi (public/olympiad.php) — tipografi, bilgi kartlari,
 * telefonda alta yapisan eylem cubugu. Kapak (hero) kurallari COVDYN.css'te.
 * ------------------------------------------------------------------------ */

/* Baslik blogu: alt baslik ince bir vurgu satiri, ozet rahat okunur genislikte */
.f6-hero-text .f6-subtitle { color: var(--primary-dark); font-weight: 600; font-size: 15px; margin: 2px 0 0; }
.f6-hero-text .f6-lead { max-width: 62ch; line-height: 1.65; color: var(--gray-700); }

/* Bilgi kartlari: ikon rozeti + net etiket/deger hiyerarsisi (grid duzeni F6.css'te kalir, sutun
   genisligi rozetin 34px boyutuna gore burada ayarlanir) */
.f6-facts-grid > div { grid-template-columns: 34px 1fr; align-items: start; }
.f6-facts-grid i {
    width: 34px; height: 34px; border-radius: 10px;
    background: var(--primary-light); color: var(--primary); display: flex;
    align-items: center; justify-content: center; font-size: 14px; margin-top: 0;
}
.f6-facts-grid strong { font-size: 15px; line-height: 1.35; }

/* Aciklama / asamalar / SSS: rahat okuma genisligi ve satir araligi */
.f6-detail-main .f6-rich,
.f6-detail-main .f6-stages,
.f6-detail-main .f6-faq { max-width: 68ch; }
.f6-detail-main .f6-rich { font-size: 15px; line-height: 1.7; }
.f6-detail-main .f6-stages li strong { font-size: 15.5px; }
.f6-detail-main .f6-stages p, .f6-detail-main .f6-stages div { line-height: 1.65; }
.f6-detail-main .f6-faq summary { font-size: 15px; }
.f6-detail-main .f6-faq details > div { line-height: 1.65; }

/* Telefonda alta yapisan eylem cubugu: ucret + tek birincil dugme, ust karta caps atlar (#f6-action-card) */
.f6-cta-bar-spacer, .f6-cta-bar { display: none; }
@media (max-width: 992px) {
    .f6-cta-bar-spacer { display: block; height: 78px; }
    .f6-cta-bar {
        display: flex; align-items: center; justify-content: space-between; gap: 14px;
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 500;
        background: var(--white); border-top: 1px solid var(--gray-200);
        box-shadow: 0 -8px 24px rgba(0,0,0,.08);
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    }
    .f6-cta-bar-price { font-size: 17px; font-weight: 800; color: var(--dark); white-space: nowrap; min-width: 0; }
    .f6-cta-bar-price small { display: block; font-size: 11px; font-weight: 500; color: var(--gray-600); }
    .f6-cta-bar .btn { flex: 0 0 auto; padding: 12px 20px; white-space: nowrap; }
}
@media (max-width: 380px) {
    .f6-cta-bar-price small { display: none; }
}


/* ==== OPYPRM.css ==== */
/* OPYPRM - olimpiyat odeme sayfasi (public/olympiad-pay.php) premium duzeni. Tum kurallar .opypay kokuyle kapsamli
   (OPAY / PAYFORM / OXAPP / F6 sonradan yuklenebilir; ozgulluk kok sinifla artirildi).
   Yon: olimpiyat detayinin (OLDPRM) devami - soguk yesil-gri zemin, Manrope baslik + DM Sans metin, kart 16px / ic kutu 10px /
   buton 8px, kart-icinde-kart yok. Uygulama ekrani: hero yok, yogunluk ve okunurluk onde.
   Masaustu: sol kart formu, sag siparis ozeti. Telefon: ozet (katlanir) ustte. Mantiksal ozellikler (RTL: ar, fa, ur). */

.opypay {
    --op-tint: #f1f6f2;
    --op-line: #d6e3d9;
    --op-text: #4a554e;
    --op-ink: var(--dark);
    --op-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--op-tint);
    padding: clamp(16px, 3vw, 32px) 0 clamp(72px, 8vw, 104px);
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla geliyor; govde zemini ona bitisik olsun */
    min-height: 60vh;
}
.opypay a:focus-visible,
.opypay summary:focus-visible,
.opypay button:focus-visible,
.opypay input:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.opypay a, .opypay summary, .opypay button, .opypay label { touch-action: manipulation; }

/* ---------- Ust: geri + baslik ---------- */
.opypay .f6-pay-wrap { max-width: 1040px; }
.opypay .f6-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 0 4px;
    font-size: 15px; font-weight: 600; color: var(--op-text);
}
.opypay .f6-back:hover { color: var(--primary-dark); }
[dir="rtl"] .opypay .f6-back i { transform: scaleX(-1); }
.opypay .opypay-h1 {
    margin: 0 0 clamp(16px, 2.4vw, 24px); font-family: var(--op-display); font-weight: 800; color: var(--op-ink);
    font-size: clamp(26px, 3.2vw, 36px); line-height: 1.12; letter-spacing: -0.03em; text-align: start; text-wrap: balance;
}

/* ---------- Kartlar ---------- */
.opypay .opay-pay-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.opypay .dashboard-card {
    background: #fff; border: 1px solid var(--op-line); border-radius: 16px; box-shadow: none; margin-bottom: 0; overflow: hidden;
}
.opypay .card-header { padding: 18px 24px; border-bottom: 1px solid var(--op-line); }
.opypay .card-header h3 { font-family: var(--op-display); font-size: 17px; font-weight: 800; letter-spacing: -0.02em; color: var(--op-ink); }
.opypay .card-header h3 i { color: var(--primary); font-size: 15px; }
.opypay .card-body { padding: 24px; }

/* Siparis ozeti basligi (katlanir) */
.opypay .opay-summary-card { border: 1px solid var(--op-line); }
.opypay .opay-summary-head { padding: 18px 24px; border-bottom: 1px solid var(--op-line); min-height: 44px; }
.opypay .opay-summary-head-label { font-family: var(--op-display); font-size: 17px; font-weight: 800; letter-spacing: -0.02em; color: var(--op-ink); }
.opypay .opay-summary-head-label i { color: var(--primary); font-size: 15px; }
.opypay .opay-summary-head-amt { font-family: var(--op-display); font-weight: 800; font-variant-numeric: tabular-nums; }
.opypay .opay-summary-card:not([open]) .opay-summary-head { border-bottom-color: transparent; }
@media (prefers-reduced-motion: reduce) { .opypay .opay-summary-caret { transition: none; } }

/* ---------- Odenecek tutar: acik tint kutu (gradient yok), buyuk tabular rakam ---------- */
.opypay .payment-amount-box {
    background: var(--op-tint); color: var(--op-ink); border: 1px solid var(--op-line); border-radius: 10px;
    padding: 16px 18px; margin: 0 0 20px; text-align: start;
}
.opypay .payment-amount-label { font-size: 14px; font-weight: 600; opacity: 1; color: var(--op-text); }
.opypay .payment-amount {
    font-family: var(--op-display); font-size: clamp(30px, 4vw, 38px); font-weight: 800; letter-spacing: -0.03em;
    line-height: 1.15; font-variant-numeric: tabular-nums; color: var(--op-ink);
}
.opypay .payment-try-info { font-size: 13px; opacity: 1; color: var(--op-text); margin-top: 6px; line-height: 1.5; }

/* ---------- Form ---------- */
.opypay .payment-form .form-group { margin-bottom: 16px; }
.opypay .payment-form label { font-size: 14px; font-weight: 600; color: var(--op-ink); margin-bottom: 6px; }
.opypay .payment-form input {
    min-height: 48px; padding: 11px 14px; font-size: 16px; /* 16px: iOS yakinlastirmayi onler */
    border: 1px solid #b9cbbe; border-radius: 8px; background: #fff; color: var(--op-ink);
    font-variant-numeric: tabular-nums;
}
.opypay .payment-form input::placeholder { color: #6b7a70; opacity: 1; }
.opypay .payment-form input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .16); outline: none; }
.opypay .payment-form input:focus-visible { outline: none; }
.opypay .pf-expiry-row { gap: 12px; }
.opypay .pf-expiry-row .form-group { margin-bottom: 16px; }
.opypay .pf-field-err { color: #b42318; font-weight: 600; font-size: 13px; }
.opypay .pf-bin { border-radius: 10px; margin: -4px 0 16px; font-size: 13px; }
.opypay .pf-pay-btn, .opypay .com-free .btn, .opypay .opypay-demo .btn {
    min-height: 52px; border-radius: 8px; font-weight: 700; box-shadow: none; letter-spacing: 0;
}
.opypay .pf-pay-btn { font-variant-numeric: tabular-nums; }
.opypay .pf-pay-btn[disabled], .opypay .pf-pay-btn[aria-busy="true"] { opacity: .7; cursor: progress; }
.opypay .pf-secure-badges { border-top-color: var(--op-line); justify-content: flex-start; gap: 16px; }
.opypay .pf-secure-badges span { font-size: 13px; color: var(--op-text); }
.opypay .pf-secure-badges i { color: var(--primary); }
.opypay .com-free p { margin: 0 0 14px; color: var(--op-text); line-height: 1.6; }

/* Bilgi / uyari notlari */
.opypay .f6-note {
    display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 0; border-radius: 10px;
    background: var(--op-tint); color: var(--op-ink); font-size: 14.5px; line-height: 1.55; margin: 0 0 14px;
}
.opypay .f6-note i { flex: none; margin-top: 3px; color: var(--primary); }
.opypay .f6-note-warn { background: #fffbeb; color: #78350f; }
.opypay .f6-note-warn i { color: #b45309; }

/* ---------- Siparis ozeti ---------- */
.opypay .oxapp-pay-cover { border-radius: 10px; margin-bottom: 16px; max-height: 240px; }
.opypay .f6-pay-title {
    font-family: var(--op-display); font-size: 22px; font-weight: 800; letter-spacing: -0.025em; line-height: 1.2;
    margin: 0 0 14px; color: var(--op-ink); overflow-wrap: anywhere; text-wrap: balance;
}
.opypay .oxapp-pay-rows { margin: 0 0 12px; font-size: 14.5px; }
.opypay .oxapp-pay-rows > div { border-bottom-color: #e4ede7; padding: 8px 0; }
.opypay .oxapp-pay-rows dt { color: var(--op-text); white-space: normal; }
.opypay .oxapp-pay-rows dd { color: var(--op-ink); }
.opypay .oxapp-pay-rows dt i { color: var(--primary); }
.opypay .oxapp-pay-edit { min-height: 44px; display: inline-flex; align-items: center; font-weight: 600; margin-bottom: 4px; }

.opypay .f6-pay-students { max-height: 320px; margin: 0; }
.opypay .f6-pay-students li { padding: 10px 0; border-bottom-color: #e4ede7; font-size: 15px; color: var(--op-ink); line-height: 1.4; }
.opypay .f6-pay-students li span:last-child { font-variant-numeric: tabular-nums; font-weight: 600; }
.opypay .f6-pay-students .oxapp-stu-sel,
.opypay .f6-pay-students .f6-muted { display: block; margin-top: 3px; font-size: 13px; color: var(--op-text); line-height: 1.45; }
.opypay .f6-pay-students .f6-muted { display: inline; margin: 0; }

.opypay .opay-lines { border-top: 0; margin-top: 8px; padding-top: 0; }
.opypay .opay-line { font-size: 15px; color: var(--op-text); font-variant-numeric: tabular-nums; }
.opypay .opay-line-discount { color: #166534; }
.opypay .opay-line-total { border-top: 1px solid var(--op-line); color: var(--op-ink); font-weight: 700; margin-top: 6px; padding-top: 14px; flex-wrap: wrap; row-gap: 2px; }

.opypay .opay-line-total strong { white-space: nowrap; font-family: var(--op-display); font-size: 26px; font-weight: 800; letter-spacing: -0.03em; }
.opypay .opay-coupon-wrap .com-coupon-disclosure summary { min-height: 44px; font-size: 14px; color: var(--primary-dark); }
.opypay .f6-muted.f6-small { font-size: 13px; line-height: 1.55; color: var(--op-text); margin: 12px 0 0; }

/* ---------- Tablet / telefon ---------- */
@media (max-width: 992px) {
    .opypay .opay-pay-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .opypay .opay-pay-grid > .opay-summary-card { margin-bottom: 0; }
    .opypay .card-body { padding: 20px; }
    .opypay .opay-summary-head { padding: 14px 20px; }
    .opypay .card-header { padding: 16px 20px; }
}
@media (max-width: 400px) {
    .opypay .card-body { padding: 16px; }
    .opypay .opay-summary-head { padding: 12px 16px; gap: 8px; }
    .opypay .opay-summary-head-label, .opypay .card-header h3 { font-size: 16px; }
    .opypay .pf-expiry-row { gap: 10px; }
    .opypay .f6-pay-title { font-size: 20px; }
    .opypay .opay-line-total strong { font-size: 22px; }
}


/* ==== ORSPRM.css ==== */
/* ORSPRM - olimpiyat sonucu (public/olympiad-result.php) premium duzeni. Tum kurallar .orsprm kapsamli
   (F7 / OXRES sonradan yuklenir; ozgulluk kok sinifla artirildi). OLDPRM ailesi: koyu yesil baslik bandi, soguk yesil-gri zemin,
   Manrope basliklar + DM Sans metin, kart 16px / ic kutu 10px / buton 8px, kart-icinde-kart yok. Mantiksal ozellikler (RTL). */

.orsprm {
    --or-tint: #f1f6f2; --or-line: #d6e3d9; --or-text: #4a554e; --or-ink: var(--dark);
    --or-display: 'Manrope', 'DM Sans', system-ui, sans-serif; --or-on-dark: #cfe3d5; --or-key: #a8dbb7;
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla geliyor; zemin ona bitisik */
}
.orsprm a:focus-visible, .orsprm button:focus-visible, .orsprm input:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.orsprm .orsprm-hero a:focus-visible { outline-color: #fff; }
.orsprm a, .orsprm button, .orsprm label { touch-action: manipulation; }
.orsprm h1, .orsprm h2 { text-wrap: balance; }

/* ---------- Baslik bandi ---------- */
.orsprm .orsprm-hero {
    padding: clamp(24px, 3.4vw, 40px) 0 clamp(28px, 4.4vw, 48px);
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #164426 100%); color: #fff;
}
.orsprm .orsprm-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; margin: 0 0 clamp(8px, 1.5vw, 14px);
    font-size: 15px; font-weight: 600; color: var(--or-on-dark); text-decoration: none; transition: color .2s; overflow-wrap: anywhere;
}
.orsprm .orsprm-back:hover { color: #fff; }
[dir="rtl"] .orsprm .orsprm-back i { transform: scaleX(-1); }
.orsprm .orsprm-title {
    margin: 0 0 10px; font-family: var(--or-display); font-weight: 800; color: #fff; text-align: start;
    font-size: clamp(28px, 3.6vw, 44px); line-height: 1.1; letter-spacing: -0.03em; overflow-wrap: anywhere;
}
.orsprm .orsprm-sub { margin: 0; font-family: var(--or-display); font-weight: 700; font-size: clamp(16px, 1.6vw, 19px); color: var(--or-key); }

/* ---------- Govde ---------- */
.orsprm .orsprm-body { padding: clamp(24px, 4vw, 48px) 0 clamp(56px, 7vw, 88px); background: var(--or-tint); }
.orsprm .f7-card { background: #fff; border: 1px solid var(--or-line); border-radius: 16px; padding: clamp(20px, 3vw, 32px); margin: 0 0 20px; box-shadow: none; }
.orsprm .orsprm-panel { max-width: 640px; margin-inline: auto; }
.orsprm .f7-card h2 { margin: 0 0 8px; font-family: var(--or-display); font-weight: 800; font-size: clamp(19px, 2vw, 23px); line-height: 1.25; letter-spacing: -0.02em; color: var(--or-ink); }
.orsprm .f7-card p { color: var(--or-text); line-height: 1.6; overflow-wrap: anywhere; }
.orsprm .f7-card-closed > i { color: var(--primary); font-size: 26px; }
.orsprm .oxres-wait-card > i.fa-circle-check { color: var(--success); }
.orsprm .oxres-wait-done { font-weight: 700; color: var(--success); }
.orsprm .oxres-wait-card .oxres-countdown { margin: 0 0 14px; font-family: var(--or-display); font-size: clamp(26px, 5vw, 34px); color: var(--primary-dark); font-variant-numeric: tabular-nums; }
.orsprm .oxres-countdown-label { margin: 6px 0 2px; font-size: 14px; color: var(--or-text); }
.orsprm .f7-card .btn { min-height: 44px; border-radius: 8px; font-weight: 700; justify-content: center; }

/* Giris kodu formu */
.orsprm .f7-entry-form { margin: 0; gap: 8px; }
.orsprm .f7-entry-form label { margin-top: 0; font-weight: 700; color: var(--or-ink); }
.orsprm .f7-code-input {
    min-height: 56px; border: 1.5px solid var(--or-line); border-radius: 10px; background: #fff;
    font-family: var(--or-display); font-size: clamp(22px, 5vw, 28px); letter-spacing: .14em; font-variant-numeric: tabular-nums;
}
.orsprm .f7-code-input:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(34, 197, 94, .2); }
.orsprm .f7-entry-form small { font-size: 14px; line-height: 1.5; color: var(--or-text); }
.orsprm .f7-entry-form .btn { margin-top: 6px; }
.orsprm .f7-entry-form a { color: var(--primary-dark); text-underline-offset: 3px; }
.orsprm .alert { border-radius: 10px; }

/* ---------- Sonuc ozeti: tek kart, ince ayiricili hucreler ---------- */
.orsprm .orsprm-stats {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 0 28px; padding: 0;
    background: var(--or-line); border: 1px solid var(--or-line); border-radius: 16px; overflow: hidden;
}
.orsprm .orsprm-stats .result-stat {
    display: flex; align-items: center; gap: 14px; min-width: 0; padding: clamp(16px, 2.4vw, 24px);
    background: #fff; border-radius: 0; box-shadow: none;
}
.orsprm .orsprm-stats .result-stat i { flex: none; width: 24px; text-align: center; font-size: 20px; }
.orsprm .orsprm-stats .result-stat > div { min-width: 0; }
.orsprm .orsprm-stats .result-stat strong {
    display: block; font-family: var(--or-display); font-weight: 800; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.15;
    letter-spacing: -0.02em; color: var(--or-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
    unicode-bidi: isolate; /* Sira "12 / 340" RTL'de ters donmesin */
}
.orsprm .orsprm-stats .result-stat span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.3; color: var(--or-text); }
.orsprm .orsprm-stats .f7-stat-score, .orsprm .orsprm-stats .f7-stat-rank { background: #f6fbf7; }
.orsprm .orsprm-stats .f7-stat-score i { color: var(--primary); }
.orsprm .orsprm-stats .f7-stat-rank i { color: var(--primary-dark); }

/* ---------- Cevap anahtari ---------- */
.orsprm .orsprm-key h2 { margin: 0 0 18px; font-family: var(--or-display); font-weight: 800; font-size: clamp(22px, 2.2vw, 26px); letter-spacing: -0.02em; color: var(--or-ink); display: flex; align-items: center; gap: 10px; }
.orsprm .orsprm-key h2 i { color: var(--primary); font-size: .85em; }
.orsprm .solution-card { background: #fff; border: 1px solid var(--or-line); border-radius: 16px; box-shadow: none; margin: 0 0 16px; overflow: hidden; min-width: 0; }
.orsprm .solution-card.correct, .orsprm .solution-card.wrong, .orsprm .solution-card.empty-answer { border-left: 0; border-inline-start: 4px solid; }
.orsprm .solution-card.correct { border-inline-start-color: var(--success); }
.orsprm .solution-card.wrong { border-inline-start-color: var(--danger); }
.orsprm .solution-card.empty-answer { border-inline-start-color: var(--gray-400); }
.orsprm .solution-header { gap: 12px; align-items: center; padding: 14px clamp(16px, 2.4vw, 22px); background: var(--or-tint); border-bottom: 1px solid var(--or-line); }
.orsprm .solution-number { font-family: var(--or-display); font-weight: 800; color: var(--or-ink); }
.orsprm .solution-status { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--or-text); white-space: nowrap; }
.orsprm .solution-card.empty-answer .solution-status { color: var(--gray-600); }
.orsprm .solution-question { padding: clamp(16px, 2.4vw, 22px); font-size: 16px; line-height: 1.7; color: var(--or-ink); overflow-wrap: anywhere; min-width: 0; }
.orsprm .solution-question img, .orsprm .question-image img, .orsprm .solution-image img { max-width: 100%; height: auto; border-radius: 10px; }
.orsprm .question-image { padding: 0 clamp(16px, 2.4vw, 22px) 16px; }
.orsprm .solution-options { padding: 0 clamp(16px, 2.4vw, 22px) clamp(16px, 2.4vw, 22px); gap: 10px; }
.orsprm .solution-option { min-width: 0; min-height: 44px; border: 1px solid var(--or-line); border-radius: 10px; font-size: 15px; line-height: 1.5; }
.orsprm .solution-option .option-text { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.orsprm .solution-option .option-image { max-width: 100%; height: auto; }
.orsprm .solution-option .option-letter { background: var(--or-tint); color: var(--or-ink); }
.orsprm .solution-option.correct-answer { background: #e6f4ea; border-color: var(--success); }
.orsprm .solution-option.wrong-answer { background: #fce8e6; border-color: var(--danger); }
.orsprm .solution-option.correct-answer .option-letter { background: var(--success); color: #fff; }
.orsprm .solution-option.wrong-answer .option-letter { background: var(--danger); color: #fff; }
.orsprm .solution-option.user-selected:not(.wrong-answer):not(.correct-answer) { border-color: var(--primary); }
.orsprm .solution-option > i { flex: none; }
.orsprm .solution-option.correct-answer > i { color: var(--success); }
.orsprm .solution-option.wrong-answer > i { color: var(--danger); }
.orsprm .solution-explanation { padding: clamp(16px, 2.4vw, 22px); background: #f6fbf7; border-top: 1px solid var(--or-line); }
.orsprm .solution-explanation h4 { margin: 0 0 8px; font-family: var(--or-display); font-size: 15px; font-weight: 800; color: var(--primary-dark); }
.orsprm .solution-text { font-size: 15px; line-height: 1.7; color: var(--or-text); overflow-wrap: anywhere; }

@media (max-width: 820px) {
    .orsprm .orsprm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .orsprm .solution-options { grid-template-columns: minmax(0, 1fr); }
    .orsprm .f7-card-closed { flex-direction: column; gap: 10px; }
}
@media (max-width: 360px) {
    .orsprm .orsprm-stats .result-stat { gap: 10px; padding: 14px 12px; }
}
@media (prefers-reduced-motion: reduce) { .orsprm * { transition: none !important; } }
/* Sira "12 / 340" RTL'de ters donmesin */
[dir="rtl"] .orsprm .orsprm-stats .result-stat strong { direction: ltr; text-align: end; }


/* ==== OXAPP.css ==== */
/* OXAPP — olimpiyat basvuru sihirbazi, odeme ozeti ekleri, mentor satir secimleri, admin basvuru ayarlari */

/* ---------- Sihirbaz ---------- */
.oxapp-page { --ox-line: #d9e6dc; --ox-ink: var(--dark, #141a15); --ox-soft: var(--primary-light, #eef7f0); }
.oxapp-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 24px; }
.oxapp-head h1 { margin: 0; font-size: clamp(24px, 3.2vw, 32px); line-height: 1.15; color: var(--ox-ink); letter-spacing: -0.01em; }

.oxapp-steps { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0; counter-reset: none; }
.oxapp-steps li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--gray-600); white-space: nowrap; }
.oxapp-steps li + li::before { content: ""; width: 28px; height: 2px; background: var(--ox-line); margin-inline: 10px; border-radius: 2px; }
.oxapp-step-n { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px;
    border: 2px solid var(--ox-line); color: var(--gray-600); background: var(--white); transition: background .2s, border-color .2s, color .2s; }
.oxapp-steps li.is-current { color: var(--ox-ink); font-weight: 600; }
.oxapp-steps li.is-current .oxapp-step-n { border-color: var(--primary); background: var(--primary); color: #fff; }
.oxapp-steps li.is-done .oxapp-step-n { border-color: var(--primary); color: var(--primary); }
.oxapp-steps li.is-done + li::before, .oxapp-steps li.is-current::before { background: var(--primary); }

.oxapp-alert { margin-bottom: 20px; }
.oxapp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: 28px; align-items: start; }
.oxapp-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.oxapp-side { position: sticky; top: 90px; min-width: 0; }

.oxapp-block { background: var(--white); border: 1px solid var(--ox-line); border-radius: var(--radius); padding: 20px 22px; margin: 0; min-width: 0; transition: box-shadow .25s, border-color .25s; }
.oxapp-block.oxapp-need { border-color: var(--warning, #d97706); box-shadow: 0 0 0 3px rgba(217, 119, 6, .18); }
.oxapp-q { display: block; font-size: 17px; font-weight: 700; color: var(--ox-ink); margin: 0 0 14px; padding: 0; }
legend.oxapp-q { float: left; width: 100%; }
legend.oxapp-q + * { clear: both; }
.oxapp-hint { color: var(--gray-600); font-size: 13px; margin: 8px 0 0; }
.oxapp-hint i { color: var(--primary); margin-inline-end: 4px; }
.oxapp-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.oxapp-two .form-group { margin-bottom: 12px; min-width: 0; }
.oxapp-two select, .oxapp-two input { width: 100%; }
div.oxapp-two.oxapp-block .oxapp-q { margin-bottom: 10px; }

/* Bicim karolari */
.oxapp-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.oxapp-mode { position: relative; cursor: pointer; display: block; }
.oxapp-mode input { position: absolute; opacity: 0; inset-inline-start: 14px; top: 14px; }
.oxapp-mode-card { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; align-items: center;
    border: 2px solid var(--ox-line); border-radius: var(--radius); padding: 14px 16px; height: 100%; transition: border-color .15s, background .15s; }
.oxapp-mode-card i { grid-row: span 2; width: 40px; height: 40px; border-radius: 10px; background: var(--ox-soft); color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.oxapp-mode-card strong { font-size: 16px; color: var(--ox-ink); }
.oxapp-mode-card small { color: var(--gray-600); font-size: 13px; line-height: 1.35; }
.oxapp-mode:hover .oxapp-mode-card { border-color: #b5d3bd; }
.oxapp-mode input:checked + .oxapp-mode-card { border-color: var(--primary); background: var(--ox-soft); }
.oxapp-mode input:checked + .oxapp-mode-card i { background: var(--primary); color: #fff; }
.oxapp-mode input:focus-visible + .oxapp-mode-card { outline: 3px solid rgba(50, 131, 74, .35); outline-offset: 2px; }
.oxapp-fixed { display: flex; gap: 12px; align-items: center; background: var(--ox-soft); border-radius: var(--radius-sm); padding: 12px 14px; }
.oxapp-fixed i { color: var(--primary); font-size: 20px; }
.oxapp-fixed div { display: flex; flex-direction: column; }
.oxapp-fixed small { color: var(--gray-600); font-size: 13px; }

/* Sehir + merkez */
.oxapp-cities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.oxapp-city { border: 1px solid var(--ox-line); background: var(--white); color: var(--gray-700); border-radius: 999px; padding: 7px 14px; font: inherit; font-size: 14px; cursor: pointer; }
.oxapp-city:hover { border-color: var(--primary); color: var(--primary); }
.oxapp-city.is-active { background: var(--ox-ink); border-color: var(--ox-ink); color: #fff; }
.oxapp-city:focus-visible { outline: 3px solid rgba(50, 131, 74, .35); outline-offset: 2px; }
.oxapp-venue-list { display: flex; flex-direction: column; gap: 8px; }
.oxapp-venue { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--ox-line); border-radius: var(--radius-sm); padding: 12px 14px; cursor: pointer; transition: border-color .15s, background .15s; }
.oxapp-venue input { margin-top: 4px; accent-color: var(--primary); flex: 0 0 auto; width: 18px; height: 18px; }
.oxapp-venue:has(input:checked) { border-color: var(--primary); background: var(--ox-soft); }
.oxapp-venue.is-full { cursor: not-allowed; opacity: .6; background: var(--gray-50, #f9fafb); }
.oxapp-venue-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.oxapp-venue-body strong { color: var(--ox-ink); overflow-wrap: anywhere; }
.oxapp-venue-addr { color: var(--gray-700); font-size: 14px; overflow-wrap: anywhere; }
.oxapp-venue-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--gray-600); }
.oxapp-venue-meta i { color: var(--primary); }
.oxapp-seat { font-weight: 600; color: #166534; }
.oxapp-seat.is-low { color: #92400e; }
.oxapp-seat.is-full { color: #991b1b; }

.oxapp-cat { margin: 8px 0 0; font-weight: 600; color: var(--primary-dark, #183f23); min-height: 1.4em; }
.oxapp-cat.is-none { color: #92400e; font-weight: 500; }

/* Bilet (ozet) */
.oxapp-ticket { background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; border: 1px solid var(--ox-line); }
.oxapp-ticket-cover { position: relative; aspect-ratio: 16 / 9; background: var(--ox-soft); color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 44px; overflow: hidden; }
.oxapp-ticket-body { padding: 18px 20px 16px; }
.oxapp-ticket-title { font-size: 18px; line-height: 1.3; margin: 0 0 12px; color: var(--ox-ink); overflow-wrap: anywhere; }
.oxapp-ticket-rows { margin: 0; display: flex; flex-direction: column; }
.oxapp-ticket-rows > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid #edf2ee; font-size: 14px; }
.oxapp-ticket-rows > div[hidden] { display: none; }
.oxapp-ticket-rows dt { color: var(--gray-600); white-space: nowrap; }
.oxapp-ticket-rows dt i { color: var(--primary); width: 16px; text-align: center; margin-inline-end: 4px; }
.oxapp-ticket-rows dd { margin: 0; font-weight: 600; color: var(--ox-ink); text-align: end; overflow-wrap: anywhere; min-width: 0; }
.oxapp-ticket-stub { position: relative; padding: 18px 20px 20px; background: #f6faf7; border-top: 2px dashed var(--ox-line); }
.oxapp-ticket-stub::before, .oxapp-ticket-stub::after { content: ""; position: absolute; top: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--gray-100, #f3f4f6); border: 1px solid var(--ox-line); }
.oxapp-ticket-stub::before { left: -11px; }
.oxapp-ticket-stub::after { right: -11px; }
.oxapp-ticket-fee { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.oxapp-ticket-fee span { color: var(--gray-700); font-size: 14px; }
.oxapp-ticket-fee strong { font-size: 24px; color: var(--ox-ink); letter-spacing: -0.01em; }
.oxapp-ticket-note { margin: 10px 0 0; font-size: 12px; color: var(--gray-600); text-align: center; }

/* Odenmis kayit gorunumu */
.oxapp-paid { display: flex; align-items: center; gap: 8px; font-weight: 700; color: #166534; margin: 0 0 12px; }
.oxapp-dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
.oxapp-dl > div { min-width: 0; }
.oxapp-dl dt { font-size: 13px; color: var(--gray-600); }
.oxapp-dl dt i { color: var(--primary); width: 16px; }
.oxapp-dl dd { margin: 2px 0 0; font-weight: 600; color: var(--ox-ink); overflow-wrap: anywhere; }
.oxapp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

@media (max-width: 900px) {
    .oxapp-grid { grid-template-columns: minmax(0, 1fr); }
    .oxapp-side { position: static; }
    .oxapp-ticket-cover { aspect-ratio: 16 / 7; }
}
@media (max-width: 600px) {
    .oxapp-head { align-items: flex-start; }
    .oxapp-steps li span:not(.oxapp-step-n) { display: none; }
    .oxapp-steps li.is-current span:not(.oxapp-step-n) { display: inline; }
    .oxapp-steps li + li::before { width: 18px; margin-inline: 6px; }
    .oxapp-block { padding: 16px; }
    .oxapp-modes, .oxapp-two, .oxapp-dl { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .oxapp-block, .oxapp-mode-card, .oxapp-step-n { transition: none; }
}

/* ---------- Odeme sayfasi ozeti (OPAY) ---------- */
.oxapp-pay-cover { position: relative; aspect-ratio: 16 / 7; border-radius: var(--radius-sm); overflow: hidden; background: var(--primary-light); margin-bottom: 14px; }
.oxapp-pay-rows { margin: 0 0 12px; display: flex; flex-direction: column; font-size: 14px; }
.oxapp-pay-rows > div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--gray-100); }
.oxapp-pay-rows dt { color: var(--gray-600); white-space: nowrap; }
.oxapp-pay-rows dt i { color: var(--primary); width: 16px; margin-inline-end: 4px; }
.oxapp-pay-rows dd { margin: 0; font-weight: 600; text-align: end; overflow-wrap: anywhere; min-width: 0; }
.oxapp-pay-edit { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; margin-bottom: 12px; }
.oxapp-stu-sel { display: block; font-size: 12px; color: var(--gray-600); margin-top: 2px; overflow-wrap: anywhere; }

/* ---------- Mentor: ogrenci satirinda secimler ---------- */
.oxapp-mrow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; width: 100%; margin-top: 10px; }
.oxapp-mrow select { width: 100%; min-width: 0; font-size: 13px; padding: 6px 8px; }
.oxapp-mrow .oxapp-mcat { grid-column: 1 / -1; font-size: 12px; color: var(--primary-dark, #183f23); font-weight: 600; min-height: 1em; }
.oxapp-mrow .oxapp-mcat.is-none { color: #92400e; font-weight: 500; }
.oxapp-mdefaults { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 8px; align-items: end; background: var(--primary-light); border-radius: var(--radius-sm); padding: 12px; margin-bottom: 14px; }
.oxapp-mdefaults label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--gray-700); min-width: 0; }
.oxapp-mdefaults select { width: 100%; min-width: 0; font-size: 13px; }
.oxapp-mdefaults-title { grid-column: 1 / -1; font-weight: 600; font-size: 14px; margin: 0; }
.f6-st .oxapp-mrow[hidden] { display: none; }
@media (max-width: 700px) {
    .oxapp-mrow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .oxapp-mdefaults { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Admin: basvuru ayarlari ---------- */
.oxapp-adm-langs { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px 12px; margin: 6px 0 4px; }
.oxapp-adm-langs label { display: flex; gap: 6px; align-items: center; font-size: 14px; justify-content: flex-start; text-align: start; font-weight: 400; margin: 0; }
.oxapp-adm-map { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; }
.oxapp-adm-maprow { display: grid; grid-template-columns: 90px 90px minmax(0, 2fr) minmax(0, 2fr) auto; gap: 8px; align-items: center; }
.oxapp-adm-maprow select, .oxapp-adm-maprow input { width: 100%; min-width: 0; }
.oxapp-adm-maphead { font-size: 12px; color: var(--gray-600); font-weight: 600; }
.oxapp-adm-venues { width: 100%; }
.oxapp-adm-venues td, .oxapp-adm-venues th { vertical-align: top; }
.oxapp-adm-meter { height: 6px; border-radius: 3px; background: var(--gray-100, #f3f4f6); overflow: hidden; margin-top: 4px; min-width: 80px; }
.oxapp-adm-meter span { display: block; height: 100%; background: var(--primary); }
.oxapp-adm-meter span.is-full { background: var(--danger, #dc2626); }
.oxapp-adm-vform { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; margin-top: 10px; }
.oxapp-adm-vform .oxapp-wide { grid-column: 1 / -1; }
.oxapp-adm-vform label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; min-width: 0; }
.oxapp-adm-vform input { width: 100%; min-width: 0; }
.oxapp-adm-inline { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; margin: 0; }
.oxapp-adm-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-bottom: 16px; }
.oxapp-adm-stat { background: var(--white); border: 1px solid var(--gray-200, #e5e7eb); border-radius: 10px; padding: 12px 14px; }
.oxapp-adm-stat span { display: block; font-size: 12px; color: var(--gray-600); }
.oxapp-adm-stat strong { font-size: 15px; }
.oxapp-adm-stat ul { list-style: none; margin: 6px 0 0; padding: 0; font-size: 13px; }
.oxapp-adm-stat li { display: flex; justify-content: space-between; gap: 8px; }
.oxapp-adm-muted { color: var(--gray-600); font-size: 13px; }
.oxapp-adm-regedit { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; align-items: end; margin-top: 8px; }
.oxapp-adm-regedit label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; min-width: 0; }
.oxapp-adm-regedit select, .oxapp-adm-regedit input { width: 100%; min-width: 0; }
@media (max-width: 760px) {
    .oxapp-adm-maprow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .oxapp-adm-maprow .oxapp-adm-maphead { display: none; }
    .oxapp-adm-vform, .oxapp-adm-regedit { grid-template-columns: minmax(0, 1fr); }
}
.oxapp-mrow select, .oxapp-mdefaults select { padding: 7px 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: var(--radius-sm); background-color: var(--white); color: var(--dark); min-height: 36px; }
.oxapp-mrow select:focus-visible, .oxapp-mdefaults select:focus-visible { outline: 3px solid rgba(50, 131, 74, .3); outline-offset: 1px; border-color: var(--primary); }
.oxapp-adm-langs input[type="checkbox"], .oxapp-adm-vform input[type="checkbox"] { width: auto; flex: 0 0 auto; margin: 0; }
.oxapp-adm-vform input:not([type="checkbox"]), .oxapp-adm-regedit input, .oxapp-adm-regedit select {
    padding: 8px 10px; border: 1px solid var(--gray-300, #d1d5db); border-radius: 8px; font-size: 14px; background: var(--white); min-height: 38px; }
.oxapp-adm-vform label.f5-check { flex-direction: row; align-items: center; align-self: end; gap: 8px; min-height: 38px; }

/* Merkez arama (sehir / merkez / adres) */
.oxapp-venue-search { position: relative; margin-bottom: 12px; }
.oxapp-venue-search i { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); color: var(--gray-500, #6b7280); pointer-events: none; }
.oxapp-venue-search input { width: 100%; min-height: 46px; padding: 10px 14px; padding-inline-start: 40px; border: 1px solid var(--gray-300, #d1d5db); border-radius: var(--radius, 10px); font-size: 16px; background: #fff; }
.oxapp-venue-search input:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.oxapp-cities.is-dim { opacity: .55; }


/* ==== OXCAT.css ==== */
/* OXCAT — kategoriye ozel olimpiyat oturumlari + kategori ici / genel degerlendirme */

/* Admin: Sinavlar sekmesi */
.oxcat-hint { font-size: 13px; color: var(--gray-600); background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 10px 12px; margin: 0 0 14px; }
.oxcat-summary { margin-bottom: 18px; }
.oxcat-table td, .oxcat-table th { white-space: normal; }
.oxcat-group { border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 14px; margin: 0 0 16px; background: var(--white); }
.oxcat-group.is-empty { border-color: #fde68a; background: #fffdf5; }
.oxcat-common { border-style: dashed; }
.oxcat-group-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin-bottom: 10px; }
.oxcat-group-head h3 { margin: 0; font-size: 16px; }
.oxcat-group-head h3 small { font-weight: 500; color: var(--gray-600); margin-inline-start: 6px; }
.oxcat-group-meta { font-size: 13px; color: var(--gray-600); }
.oxcat-empty { color: #92400e; font-size: 14px; margin: 0 0 10px; }
.oxcat-add > summary { cursor: pointer; font-weight: 600; font-size: 14px; color: var(--primary); padding: 6px 0; list-style-position: inside; }
.oxcat-add[open] > summary { margin-bottom: 8px; }
.f5-badge.oxcat-badge-cat { background: #e0f2fe; color: #075985; }
.f5-badge.oxcat-badge-mode { background: #ede9fe; color: #5b21b6; }
.f5-badge.oxcat-badge-warn { background: #fef3c7; color: #92400e; }
.oxcat-map-sess { font-size: 13px; font-weight: 600; text-decoration: none; }
.oxcat-map-sess.is-none { color: #b45309; }

/* Ogrenci / mentor */
.oxcat-sess-cat { display: inline-block; font-size: 12px; font-weight: 600; color: #075985; background: #e0f2fe; border-radius: 999px; padding: 1px 8px; vertical-align: middle; }
.oxcat-stat small.oxcat-pct { display: block; font-size: 12px; color: var(--gray-600); margin-top: 2px; }
.oxcat-rank-note { font-size: 13px; color: var(--gray-600); margin: -16px 0 24px; }
.oxcat-other p { margin: 0 0 10px; }

/* Admin: sonuc gorunumleri */
.oxcat-views, .oxcat-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.oxcat-tabs { margin: 0 0 12px; }
.oxcat-views a, .oxcat-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--gray-200); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--gray-700); text-decoration: none; background: var(--white); }
.oxcat-views a.active, .oxcat-tabs a.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.oxcat-tabs a small { font-weight: 500; opacity: .85; }
.oxcat-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.oxcat-stats > div { border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 10px 12px; background: var(--gray-50); }
.oxcat-stats span { display: block; font-size: 12px; color: var(--gray-600); }
.oxcat-stats strong { font-size: 20px; }
.oxcat-sub { font-size: 15px; margin: 6px 0 8px; }

@media (max-width: 820px) {
    .oxcat-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .oxcat-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .oxcat-group { padding: 10px; }
    .oxcat-rank-note { margin-top: -8px; }
}


/* ==== OXDATE.css ==== */
/* OXDATE - sinav tarihi gosterimi. Olimpiyat detay baslik bandi (.oldprm) ve olimpiyat listesi kartlari (.olp).
   Akademik hassasiyet: tarih karosu, tabular rakamlar, gradient yok, geri sayimda animasyon yok. Mantiksal ozellikler (RTL). */

/* ---------- Detay: baslik bandi icindeki tarih paneli ---------- */
.oldprm .oxdate {
    margin: clamp(24px, 3.6vw, 36px) 0 0; padding: clamp(16px, 2.4vw, 22px);
    border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 16px; background: rgba(255, 255, 255, 0.06); color: #fff;
}
.oldprm .oxdate-main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px clamp(16px, 2.6vw, 28px); }
.oldprm .oxdate-tile {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    min-width: 96px; max-width: 132px; padding: 12px 10px; border-radius: 10px; background: #fff; color: var(--dark);
    font-family: var(--od-display); text-align: center; font-variant-numeric: tabular-nums;
}
.oldprm .oxdate-tile b { font-size: clamp(38px, 5vw, 48px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; }
.oldprm .oxdate-tile span { max-width: 100%; font-size: 14px; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; color: var(--primary-dark); }
.oldprm .oxdate-tile small { font-size: 12.5px; font-weight: 700; line-height: 1.2; color: var(--od-text); }
.oldprm .oxdate-text { min-width: 0; }
.oldprm .oxdate-text p { margin: 0; }
.oldprm .oxdate-label { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--od-key); }
.oldprm .oxdate-when { margin-block-start: 4px !important; font-family: var(--od-display); font-weight: 800; font-size: clamp(20px, 2.6vw, 28px); line-height: 1.2; letter-spacing: -0.02em; color: #fff; overflow-wrap: anywhere; }
.oldprm .oxdate-time { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-block-start: 8px !important; font-size: 16px; line-height: 1.45; color: var(--od-on-dark); font-variant-numeric: tabular-nums; }
.oldprm .oxdate-time i { color: var(--od-key); }
.oldprm .oxdate-time bdi:first-of-type { font-weight: 700; color: #fff; }
.oldprm .oxdate-tz, .oldprm .oxdate-dur { font-size: 14px; }
.oldprm .oxdate-session { margin-block-start: 6px !important; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--od-on-dark); overflow-wrap: anywhere; }
.oldprm .oxdate-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; min-width: 0; }

/* Durum rozeti (geri sayim): sade, animasyonsuz */
.oldprm .oxdate-chip, .olp .olp-exam-chip {
    display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 999px; font-size: 14px; font-weight: 800; line-height: 1.3;
    background: var(--mint); color: var(--dark); white-space: nowrap; font-variant-numeric: tabular-nums;
}
.oldprm .oxdate-chip.is-today, .oldprm .oxdate-chip.is-tomorrow, .olp .olp-exam-chip { background: #fef3c7; color: #92400e; }
.oldprm .oxdate-chip.is-live { background: #fff; color: var(--primary-dark); }
.oldprm .oxdate-chip.is-done { background: transparent; color: var(--od-on-dark); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35); }

.oldprm .oxdate-card-link {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 8px;
    background: #fff; color: var(--dark); font-size: 14.5px; font-weight: 700; text-decoration: none; transition: background .2s;
}
.oldprm .oxdate-card-link:hover { background: var(--mint); }
.oldprm .oxdate-card-link i { color: var(--primary-dark); }
.oldprm .oxdate-card-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* Diger oturumlar */
.oldprm .oxdate-others { margin-block-start: 16px; padding-block-start: 14px; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.oldprm .oxdate-others-h { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--od-key); }
.oldprm .oxdate-others ul { list-style: none; margin: 0; padding: 0; }
.oldprm .oxdate-others li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 9px 0; font-size: 15px; line-height: 1.45; color: var(--od-on-dark); font-variant-numeric: tabular-nums; }
.oldprm .oxdate-others li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.oldprm .oxdate-o-when { flex: 1 1 240px; min-width: 0; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.oldprm .oxdate-o-time { margin-inline-start: 8px; font-weight: 500; color: var(--od-on-dark); }
.oldprm .oxdate-o-title { flex: 1 1 160px; min-width: 0; overflow-wrap: anywhere; }
.oldprm .oxdate-others .oxdate-chip { padding: 3px 12px; font-size: 13px; }

@media (max-width: 720px) {
    .oldprm .oxdate-main { grid-template-columns: auto minmax(0, 1fr); }
    .oldprm .oxdate-side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; }
    .oldprm .oxdate-card-link { flex: 1 1 220px; justify-content: center; }
}
@media (max-width: 400px) {
    .oldprm .oxdate-tile { min-width: 76px; padding: 10px 6px; }
    .oldprm .oxdate-tile b { font-size: 34px; }
    .oldprm .oxdate-tile span { font-size: 13px; }
}


/* ---------- Detay: ayrintili takvim bolumu (#f6-schedule) ---------- */
.oldprm .oxdate-row .f6-sched-date { flex: 0 0 92px; width: 92px; height: auto; min-height: 84px; padding: 10px 6px; gap: 2px; text-align: center; position: relative; z-index: 1; }
.oldprm .oxdate-row .f6-sched-date b { font-size: 32px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.oldprm .oxdate-row .f6-sched-date span { max-width: 100%; font-size: 13px; font-weight: 800; line-height: 1.2; overflow-wrap: break-word; }
.oldprm .oxdate-row .f6-sched-date small { margin: 0; font-size: 12px; }
.oldprm .oxdate-row.is-next .f6-sched-date { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.oldprm .oxdate-row.is-next .f6-sched-date small { color: var(--od-on-dark); }
.oldprm .oxdate-row.is-done .f6-sched-date { background: #f4f6f4; color: #5b655f; }
.oldprm .oxdate-row.is-done .f6-sched-body strong { color: #4a554e; }
.oldprm .oxdate-r-when { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--od-ink); }
.oldprm .oxdate-r-time { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; font-size: 15px; line-height: 1.5; color: var(--od-text); font-variant-numeric: tabular-nums; }
.oldprm .oxdate-r-time i { color: var(--primary-dark); }
.oldprm .oxdate-r-time bdi:first-of-type { font-weight: 700; color: var(--od-ink); }
.oldprm .oxdate-row .oxdate-tz { font-size: 13.5px; }
.oldprm .f6-sched-body .oxdate-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 8px 0 0; padding: 0; }
.oldprm .f6-sched-body .oxdate-meta li {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border: 1px solid var(--od-line); border-radius: 999px;
    background: #fff; font-size: 13.5px; font-weight: 600; line-height: 1.4; color: var(--od-text); font-variant-numeric: tabular-nums;
}
.oldprm .f6-sched-body .oxdate-meta li i { color: var(--primary-dark); font-size: 12px; }
/* Dilim notu acik zeminde */
.oldprm .oxdate-row .oxdate-chip { background: var(--primary-light); color: var(--primary-dark); padding: 5px 12px; font-size: 13px; }
.oldprm .oxdate-row .oxdate-chip.is-today, .oldprm .oxdate-row .oxdate-chip.is-tomorrow { background: #fef3c7; color: #92400e; }

/* Zaman cizelgesi: birden cok oturum */
.oldprm .f6-schedule.oxdate-timeline > li { position: relative; padding-block: 0 24px; border-top: 0; }
.oldprm .f6-schedule.oxdate-timeline > li:last-child { padding-block-end: 0; }
.oldprm .f6-schedule.oxdate-timeline > li:not(:last-child)::after {
    content: ""; position: absolute; inset-inline-start: 45px; inset-block: 90px 4px; width: 2px; background: var(--od-line);
}

@media (max-width: 520px) {
    .oldprm .oxdate-row .f6-sched-date { flex-basis: 88px; width: 88px; min-height: 76px; padding-inline: 4px; }
    .oldprm .oxdate-row .f6-sched-date span { font-size: 12px; }
    .oldprm .oxdate-row .f6-sched-date b { font-size: 28px; }
    .oldprm .f6-schedule.oxdate-timeline > li:not(:last-child)::after { display: none; }
    .oldprm .f6-schedule.oxdate-timeline > li { padding-block-end: 20px; border-bottom: 1px solid var(--od-line); }
    .oldprm .f6-schedule.oxdate-timeline > li:last-child { border-bottom: 0; }
    .oldprm .f6-schedule.oxdate-timeline > li + li { padding-block-start: 0; }
}

/* ---------- Liste: kart icinde sinav satiri ---------- */
.olp .olp-exam {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 6px 0 0; padding: 10px 14px;
    border: 1px solid var(--olp-line); border-radius: 10px; background: #fff; font-size: 14.5px; font-weight: 700; line-height: 1.45;
    color: var(--olp-ink); font-variant-numeric: tabular-nums;
}
.olp .olp-exam i { color: var(--primary-dark); }
.olp .olp-exam span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.olp .olp-exam.is-done { font-weight: 600; color: var(--olp-text); }
.olp .olp-exam.is-done i { color: var(--olp-text); }
.olp .olp-exam-chip { padding: 3px 10px; font-size: 13px; }

@media print { .oldprm .oxdate { border-color: #999; background: none; color: #000; } }


/* ==== OXDEL.css ==== */
/* OXDEL — olimpiyat sinav oturumunu verileriyle silme onay penceresi (admin). Tum kurallar .oxdel- onekli. */

.oxdel-dialog { width: min(520px, calc(100vw - 24px)); max-width: 100%; max-height: calc(100dvh - 24px); border: 0; border-radius: var(--radius); padding: 0; box-shadow: 0 24px 60px rgba(15, 23, 42, .3); color: var(--gray-800, #1f2937); overflow: hidden; }
.oxdel-dialog[open] { display: flex; flex-direction: column; }
.oxdel-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.oxdel-form { display: flex; flex-direction: column; min-height: 0; margin: 0; }

.oxdel-head { display: flex; align-items: flex-start; gap: 12px; padding: 18px 18px 14px; border-bottom: 1px solid var(--gray-200); }
.oxdel-icon { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fee2e2; color: #b91c1c; font-size: 16px; }
.oxdel-head > div { flex: 1 1 auto; min-width: 0; }
.oxdel-head h3 { margin: 0 0 2px; font-size: 17px; line-height: 1.3; color: #991b1b; }
.oxdel-name { margin: 0; font-size: 14px; font-weight: 600; color: var(--gray-700); overflow-wrap: anywhere; }
.oxdel-name small { font-weight: 400; color: var(--gray-500); }
.oxdel-x { flex: 0 0 auto; border: 0; background: transparent; color: var(--gray-500); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 16px; }
.oxdel-x:hover, .oxdel-x:focus-visible { background: var(--gray-100); color: var(--gray-700); }

.oxdel-body { padding: 14px 18px 4px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.oxdel-lead { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.oxdel-alert { margin: 0 0 12px; padding: 10px 12px; border-radius: var(--radius-sm); background: #fef3c7; color: #92400e; font-size: 13px; line-height: 1.5; display: flex; gap: 8px; align-items: flex-start; }
.oxdel-alert i { margin-top: 3px; }
.oxdel-alert-live { background: #fee2e2; color: #991b1b; font-weight: 600; }

.oxdel-counts { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.oxdel-counts li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); background: var(--gray-50); font-size: 13px; min-width: 0; }
.oxdel-counts li i { color: var(--gray-500); width: 16px; text-align: center; flex: 0 0 16px; }
.oxdel-counts li span { flex: 1 1 auto; min-width: 0; color: var(--gray-700); line-height: 1.3; }
.oxdel-counts li strong { font-size: 15px; font-variant-numeric: tabular-nums; color: #b91c1c; }

.oxdel-kept { margin: 0 0 8px; font-size: 13px; line-height: 1.5; color: var(--gray-600); display: flex; gap: 8px; align-items: flex-start; }
.oxdel-kept i { margin-top: 3px; color: #16a34a; }

.oxdel-confirm-label { display: block; margin: 12px 0 6px; font-size: 13px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.oxdel-confirm { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 15px; }
.oxdel-confirm:focus { outline: 2px solid #fca5a5; outline-offset: 1px; border-color: #dc2626; }

.oxdel-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 18px 18px; border-top: 1px solid var(--gray-200); margin-top: 12px; flex-wrap: wrap; }
.oxdel-actions .btn[disabled] { opacity: .55; cursor: not-allowed; }
.oxdel-actions .btn.is-loading { opacity: .7; }

@media (max-width: 480px) {
    .oxdel-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
    .oxdel-head { padding: 14px 14px 12px; }
    .oxdel-body { padding: 12px 14px 4px; }
    .oxdel-counts { grid-template-columns: 1fr; }
    .oxdel-actions { padding: 12px 14px 14px; }
    .oxdel-actions .btn { flex: 1 1 auto; justify-content: center; }
}


/* ==== OXFLOW.css ==== */
/* OXFLOW - olimpiyat takviminde oturum etiketi (kategori + sinif + bicim), ogrencinin kendi oturumu vurgusu
   ve tek formlu basvuru basligi. Mantiksal ozellikler (RTL), animasyon yok, gradient yok. */

/* ---------- Etiket rozeti (ortak) ---------- */
.oldprm .oxflow-tag {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 10px; border-radius: 999px;
    font-size: 13px; font-weight: 700; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; font-variant-numeric: tabular-nums;
}
.oldprm .oxflow-tag i { font-size: 11.5px; }

/* Baslik bandi (koyu zemin): sıradaki sinav + diger oturumlar */
.oldprm .oxdate .oxflow-tag { background: rgba(255, 255, 255, 0.1); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24); }
.oldprm .oxdate .oxflow-tag i { color: var(--od-key); }
.oldprm .oxdate .oxflow-tag.is-mine { background: var(--od-key); color: #0e1610; box-shadow: none; }
.oldprm .oxdate .oxflow-tag.is-mine i { color: #0e1610; }
.oldprm .oxdate .oxflow-tag.is-common { background: transparent; }
.oldprm .oxdate-session { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.oldprm .oxdate-o-title { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.oldprm .oxdate-others li.oxflow-other { opacity: .7; }

/* Takvim bolumu (acik zemin) */
.oldprm .f6-sched-body .oxflow-tags { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 2px 0 4px; }
.oldprm .f6-sched-body .oxflow-tag { background: var(--primary-light); color: var(--primary-dark); }
.oldprm .f6-sched-body .oxflow-tag i { color: var(--primary-dark); }
.oldprm .f6-sched-body .oxflow-tag.is-mine { background: var(--primary-dark); color: #fff; }
.oldprm .f6-sched-body .oxflow-tag.is-mine i { color: #fff; }
.oldprm .f6-sched-body .oxflow-tag.is-common, .oldprm .f6-sched-body .oxflow-tag.is-mode { background: #fff; color: var(--od-text); box-shadow: inset 0 0 0 1px var(--od-line); }
.oldprm .f6-schedule > li.oxflow-mine .f6-sched-date { box-shadow: 0 0 0 2px var(--primary-dark); }
.oldprm .f6-schedule > li.oxflow-other { opacity: .66; }
.oldprm .f6-schedule > li.oxflow-other .oxst-need-reg { display: none; }

/* ---------- Basvuru sayfasi: tek form basligi ---------- */
.oapprm .oxflow-head-text { min-width: 0; flex: 1 1 320px; }
.oapprm .oxflow-lead { margin: 8px 0 0; max-width: 60ch; font-size: 15.5px; line-height: 1.55; color: var(--od-on-dark, rgba(255, 255, 255, 0.82)); }

@media (max-width: 520px) {
    .oldprm .oxdate-others .oxdate-o-title { flex-basis: 100%; }
}

@media print { .oldprm .f6-schedule > li.oxflow-other, .oldprm .oxdate-others li.oxflow-other { opacity: 1; } }


/* ==== OXGUEST.css ==== */
/* OXGUEST - hesapsiz hizli olimpiyat basvurusu (public/olympiad-quick-apply.php) + olimpiyat sayfasindaki ziyaretci dugmesi.
   OAPPRM (.oapprm koku) ailesinin ustune yazilir: kart 16px / ic kutu 10px / buton 8px / etiket tam yuvarlak.
   Mantiksal ozellikler (RTL), rakamlar tabular-nums, ölçülü hareket + prefers-reduced-motion. */

/* ---------- Olimpiyat sayfasi: giris kutusundan ayri "Hesapsiz hizli basvuru" karti (OXGUEST2) ----------
   Giris kutusunun birincil dugmesiyle yarismaz: soguk yesil-gri zemin + cerceveli ana dugme (ikincil agirlik). */
.oxguest-card {
    margin-block-start: 16px; padding: 20px 22px 18px; border: 1px solid #d6e3d9; border-radius: 16px; background: #f1f6f2;
    border-inline-start: 4px solid var(--primary, #32834a);
}
.oxguest-card-title {
    display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-family: 'Manrope', 'DM Sans', system-ui, sans-serif;
    font-size: 18px; font-weight: 800; line-height: 1.25; color: var(--dark, #0e1610); letter-spacing: -0.01em;
}
.oxguest-card-title i { color: var(--primary, #32834a); font-size: 15px; }
.oxguest-card-lead { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: #4a554e; }
.oxguest-card-steps { list-style: none; margin: 0 0 16px; padding: 0; counter-reset: oxgcard; display: flex; flex-direction: column; gap: 8px; }
.oxguest-card-steps li {
    counter-increment: oxgcard; position: relative; padding-inline-start: 34px; min-height: 24px; font-size: 14px; line-height: 1.45; color: #1f2a23;
}
.oxguest-card-steps li::before {
    content: counter(oxgcard); position: absolute; inset-inline-start: 0; inset-block-start: -1px; display: grid; place-items: center;
    inline-size: 24px; block-size: 24px; border-radius: 999px; background: #fff; border: 1px solid #b9dcc3; color: #1f4d2c;
    font-size: 12.5px; font-weight: 800; font-variant-numeric: tabular-nums;
}
.oxguest-card .oxguest-card-main { min-height: 46px; font-weight: 700; background: #fff; }
.oxguest-card-bulk {
    display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-top: 6px;
    font-size: 14px; font-weight: 600; color: var(--primary, #32834a); text-decoration: none;
}
.oxguest-card-bulk:hover { text-decoration: underline; }
.oxguest-cta-status, .oxguest-cta-done {
    display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 12px;
    border: 1px solid #cfe3d5; border-radius: 10px; background: #eaf3ec; color: #1f4d2c;
    font-size: 14px; line-height: 1.4; font-weight: 600; text-decoration: none; overflow-wrap: anywhere;
}
.oxguest-cta-status:hover { border-color: var(--primary, #32834a); }
.oxguest-cta-status i, .oxguest-cta-done i { margin-top: 2px; color: var(--primary, #32834a); }

/* ---------- Honeypot (ekran okuyucudan ve gorunumden gizli) ---------- */
.oxguest .oxguest-hp { position: absolute; inset-inline-start: -10000px; inline-size: 1px; block-size: 1px; overflow: hidden; }

/* ---------- Tur secimi (bireysel / toplu) ---------- */
.oxguest .oxguest-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 10px; }
.oxguest .oxguest-tab {
    display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 14px 18px;
    background: #fff; border: 1px solid var(--od-line); border-radius: 10px; color: var(--od-ink); text-decoration: none;
    transition: border-color .2s, box-shadow .2s;
}
.oxguest .oxguest-tab:hover { border-color: #9cc6a9; }
.oxguest .oxguest-tab i {
    flex: 0 0 auto; display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: 8px;
    background: var(--ox-soft); color: var(--primary, #32834a); font-size: 17px;
}
.oxguest .oxguest-tab span { display: flex; flex-direction: column; min-width: 0; }
.oxguest .oxguest-tab strong { font-family: var(--od-display); font-size: 16px; font-weight: 800; line-height: 1.2; }
.oxguest .oxguest-tab small { font-size: 13px; color: var(--od-text); line-height: 1.35; }
.oxguest .oxguest-tab.is-active { border-color: var(--primary, #32834a); box-shadow: inset 0 0 0 1px var(--primary, #32834a); }
.oxguest .oxguest-tab.is-active i { background: var(--primary, #32834a); color: #fff; }
.oxguest .oxguest-have-account { margin: 0 0 20px; font-size: 14px; color: var(--od-text); }
.oxguest .oxguest-have-account a { font-weight: 700; }

.oxguest .oxguest-wide { grid-column: 1 / -1; }
.oxguest .form-group.has-error input, .oxguest .form-group.has-error select { border-color: #b42318; }
.oxguest .oxguest-side-note {
    display: flex; gap: 8px; margin: 14px 0 0; padding: 0 4px; font-size: 13px; line-height: 1.45; color: var(--od-text);
}
.oxguest .oxguest-side-note i { margin-top: 3px; color: var(--primary, #32834a); }

/* ---------- Toplu form ---------- */
.oxguest .oxguest-bulk { display: flex; flex-direction: column; gap: 20px; max-width: 980px; }
/* OXGUEST2: ogrenci karti — ust bant (sira + sil), satir 1: ad | soyad | e-posta | sinif, satir 2: dil | bicim | ulke | sehir */
.oxguest .oxguest-rows { display: flex; flex-direction: column; gap: 12px; margin: 6px 0 14px; }
.oxguest .oxguest-row, .oxguest .oxguest-dgrid {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, .8fr); gap: 10px 12px; align-items: start;
}
.oxguest .oxguest-row { padding: 12px 14px 14px; border: 1px solid var(--od-line); border-radius: 10px; background: #fbfdfb; }
.oxguest .oxguest-row.has-error { border-color: #e7a59d; background: #fff8f7; }
.oxguest .oxguest-row-head { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
.oxguest .oxguest-c-place { display: contents; }
.oxguest .oxguest-c-place[hidden] { display: none; }
.oxguest .oxguest-row .form-group, .oxguest .oxguest-dgrid .form-group { margin: 0; min-width: 0; }
.oxguest .oxguest-row label, .oxguest .oxguest-dgrid label { font-size: 12.5px; margin-bottom: 4px; }
.oxguest .oxguest-row input, .oxguest .oxguest-row select, .oxguest .oxguest-dgrid input, .oxguest .oxguest-dgrid select { width: 100%; }
.oxguest .oxguest-row-n {
    display: grid; place-items: center; inline-size: 28px; block-size: 28px; border-radius: 999px;
    background: var(--ox-soft); color: #1f4d2c; font-family: var(--od-display); font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums;
}
.oxguest .oxguest-row-del {
    display: grid; place-items: center; inline-size: 44px; block-size: 36px; border: 1px solid var(--od-line); border-radius: 8px;
    background: #fff; color: var(--od-text); cursor: pointer;
}
.oxguest .oxguest-row-del:hover { border-color: #b42318; color: #b42318; }
.oxguest .oxguest-row .form-group.has-error input, .oxguest .oxguest-row .form-group.has-error select { border-color: #b42318; }
.oxguest .oxguest-row-err { grid-column: 1 / -1; margin: 0; font-size: 13px; color: #b42318; }
.oxguest .oxguest-defaults-hint { margin: 0 0 12px; }
.oxguest .oxguest-apply { margin-top: 14px; min-height: 44px; }
.oxguest .oxguest-applied { margin-inline-start: 10px; font-size: 13.5px; font-weight: 600; color: #1f6b35; }
.oxguest .oxguest-add { min-height: 44px; }
.oxguest .oxguest-bulk-pay {
    display: flex; gap: 10px; margin: 0 0 14px; padding: 12px 14px; border-radius: 10px; background: var(--ox-soft);
    color: #1f4d2c; font-size: 14.5px; line-height: 1.5;
}
.oxguest .oxguest-bulk-pay i { margin-top: 3px; }
.oxguest .oxguest-bulk-foot .btn-lg { margin-top: 14px; min-height: 50px; }

/* ---------- Tamamlama ekrani ---------- */
.oxguest .oxguest-done { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(20px, 3vw, 36px); align-items: start; }
.oxguest .oxguest-done-main, .oxguest .oxguest-done-side {
    background: #fff; border: 1px solid var(--od-line); border-radius: 16px; padding: clamp(20px, 2.6vw, 30px); min-width: 0;
}
.oxguest .oxguest-done-main:only-child { grid-column: 1 / -1; max-width: 760px; }
.oxguest .oxguest-flash {
    display: flex; gap: 8px; margin: 0 0 16px; padding: 10px 12px; border-radius: 10px; background: #eaf3ec; color: #1f4d2c; font-weight: 600;
}
.oxguest .oxguest-mailbox { display: flex; gap: 16px; align-items: flex-start; }
.oxguest .oxguest-mailbox > i {
    flex: 0 0 auto; display: grid; place-items: center; inline-size: 52px; block-size: 52px; border-radius: 10px;
    background: var(--primary, #32834a); color: #fff; font-size: 22px;
}
.oxguest .oxguest-mailbox h2, .oxguest .oxguest-side-title {
    margin: 0 0 6px; font-family: var(--od-display); font-size: clamp(19px, 2vw, 22px); font-weight: 800; color: var(--od-ink); letter-spacing: -0.01em;
}
.oxguest .oxguest-mailbox p { margin: 0; color: var(--od-text); line-height: 1.55; }
.oxguest .oxguest-next { list-style: none; margin: 22px 0 0; padding: 0; counter-reset: oxgnext; display: flex; flex-direction: column; gap: 12px; }
.oxguest .oxguest-next li {
    counter-increment: oxgnext; position: relative; display: flex; flex-direction: column; gap: 2px;
    padding-inline-start: 44px; min-height: 32px; line-height: 1.45;
}
.oxguest .oxguest-next li::before {
    content: counter(oxgnext); position: absolute; inset-inline-start: 0; inset-block-start: 0;
    display: grid; place-items: center; inline-size: 30px; block-size: 30px; border-radius: 999px;
    border: 1px solid var(--od-line); background: var(--od-tint); color: #1f4d2c; font-family: var(--od-display); font-weight: 800; font-variant-numeric: tabular-nums;
}
.oxguest .oxguest-next strong { color: var(--od-ink); }
.oxguest .oxguest-next span { color: var(--od-text); font-size: 14.5px; }
.oxguest .oxguest-spam { display: flex; gap: 8px; margin: 20px 0 0; font-size: 13.5px; color: var(--od-text); }
.oxguest .oxguest-spam i { margin-top: 3px; }
.oxguest .oxguest-apps { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; }
.oxguest .oxguest-app {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-block-end: 1px solid var(--od-line);
}
.oxguest .oxguest-app:last-child { border-block-end: 0; }
.oxguest .oxguest-app-who { display: flex; flex-direction: column; min-width: 0; }
.oxguest .oxguest-app-who strong { color: var(--od-ink); overflow-wrap: anywhere; }
.oxguest .oxguest-app-who span { font-size: 13px; color: var(--od-text); overflow-wrap: anywhere; }
.oxguest .oxguest-app .btn { flex: 0 0 auto; min-height: 40px; }
.oxguest .oxguest-badge {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px;
    background: var(--od-tint); border: 1px solid var(--od-line); color: var(--od-text); font-size: 12.5px; font-weight: 700; text-align: center;
}
.oxguest .oxguest-badge.is-paid { background: #eaf3ec; border-color: #b9dcc3; color: #1f6b35; }
.oxguest .oxguest-badge.is-err { background: #fff1f0; border-color: #f2c4bf; color: #a3241a; white-space: normal; }
.oxguest .oxguest-done-foot { margin: 22px 0 0; }
.oxguest .oxguest-done-foot a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; }
[dir="rtl"] .oxguest .oxguest-done-foot a i { transform: scaleX(-1); }

@media (max-width: 900px) {
    .oxguest .oxguest-done { grid-template-columns: minmax(0, 1fr); }
    /* Telefon/tablet: kart — ad | soyad / e-posta (tam) / sinif | dil / bicim | ulke / sehir (tam) */
    .oxguest .oxguest-row, .oxguest .oxguest-dgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .oxguest .oxguest-c-email { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
    .oxguest .oxguest-c-place .form-group:last-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .oxguest .oxguest-tabs { grid-template-columns: minmax(0, 1fr); }
    .oxguest .oxguest-mailbox { flex-direction: column; }
    .oxguest .oxguest-app { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    .oxguest .oxguest-tab { transition: none; }
}

/* ---------- OXGUEST3: kayit durumu uyarilari + ard arda odeme ---------- */
.oxguest .oxguest-warn { display: block; margin-top: 4px; font-size: 12.5px; line-height: 1.4; font-weight: 600; color: #a3241a; }
.oxguest .oxguest-warn.is-paid { color: #8a4b00; }
.oxguest .oxguest-paid {
    display: flex; gap: 12px; align-items: flex-start; margin: 0 0 20px; padding: 14px 16px;
    border: 1px solid #b9dcc3; border-radius: 10px; background: #eaf3ec; color: #1f4d2c;
}
.oxguest .oxguest-paid > i { margin-top: 3px; font-size: 18px; color: var(--primary, #32834a); }
.oxguest .oxguest-paid p { margin: 0; line-height: 1.5; }
.oxguest .oxguest-paid .oxguest-paid-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.oxguest .oxguest-paid .btn { min-height: 40px; }
.oxguest-seq {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 8px 14px; border-radius: 999px;
    background: #eaf3ec; border: 1px solid #b9dcc3; color: #1f4d2c; font-weight: 700; font-size: 14.5px; font-variant-numeric: tabular-nums;
    max-width: 100%; overflow-wrap: anywhere;
}


/* ==== OXNEXT.css ==== */
/* OXNEXT - siradaki sinav: ayni anda baslayan oturumlar esit oncelikte (public/olympiad.php baslik bandi + takvim).
   Tarih karosu tek kez; altinda o anda baslayan oturumlar esit agirlikta. Mantiksal ozellikler (RTL), gradient/animasyon yok. */

/* ---------- Baslik bandi: ayni anda baslayan oturumlar ---------- */
.oldprm .oxnext-sessions {
    list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px;
    margin: 16px 0 0; padding: 0;
}
.oldprm .oxnext-s {
    display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 10px; background: rgba(255, 255, 255, 0.05);
}
.oldprm .oxnext-s.oxflow-mine { border-color: var(--od-key); background: rgba(255, 255, 255, 0.1); }
.oldprm .oxnext-s.oxflow-other { opacity: .7; }
.oldprm .oxnext-s-title {
    font-family: var(--od-display); font-size: 16.5px; font-weight: 800; line-height: 1.3; letter-spacing: -0.01em;
    color: #fff; overflow-wrap: anywhere;
}
.oldprm .oxnext-s-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-width: 0; }
.oldprm .oxnext-s-time { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; line-height: 1.4; color: var(--od-on-dark); font-variant-numeric: tabular-nums; }
.oldprm .oxnext-s-time i { color: var(--od-key); }

/* "Ayni anda N oturum" notu */
.oldprm .oxnext-same {
    display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700;
    line-height: 1.4; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.oldprm .oxdate .oxnext-same { margin-inline-start: 8px; color: var(--od-key); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24); }
.oldprm .f6-sched-body .oxnext-same { background: #fff; color: var(--od-text); box-shadow: inset 0 0 0 1px var(--od-line); }

/* Diger oturumlar: ayni anda birden cok oturum alt alta */
.oldprm .oxnext-o-list { display: flex; flex-direction: column; gap: 4px; flex: 1 1 160px; min-width: 0; }
.oldprm .oxnext-o-list .oxdate-o-title { flex: none; }
.oldprm .oxnext-o-list .oxdate-o-title.oxflow-other { opacity: .7; }

@media (max-width: 520px) {
    .oldprm .oxnext-o-list { flex-basis: 100%; }
    .oldprm .oxnext-s { padding: 10px 12px; }
}

@media print {
    .oldprm .oxnext-s { border-color: #999; background: none; }
    .oldprm .oxnext-s-title, .oldprm .oxnext-s-time { color: #000; }
    .oldprm .oxnext-s.oxflow-other, .oldprm .oxnext-o-list .oxdate-o-title.oxflow-other { opacity: 1; }
}


/* ==== OXNOCTR.css ==== */
/* OXNOCTR — yuz yuze basvuru: ulke + sehir (sinav merkezi secimi yok), "merkez daha sonra bildirilecek" notu,
   mentor satiri alanlari ve admin ulke/sehir ozeti. */

/* Bilgi notu (basvuru, odenmis ozet, mentor varsayilanlari) */
.oxnoctr-note { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 0; padding: 10px 12px; border-radius: var(--radius-sm, 8px);
    background: var(--primary-light, #eef7f0); color: var(--primary-dark, #183f23); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.oxnoctr-note i { color: var(--primary, #32834a); margin-top: 3px; flex: 0 0 auto; }
.oxnoctr-place .oxapp-two { margin-bottom: 4px; }
.oxnoctr-place .form-group label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }

/* Mentor: ogrenci satiri — solda secim + tam ad/sinif, sagda secimler (yuz yuze ise ulke + sehir de) */
.f6-students .f6-st-name strong, .f6-students .f6-st-name small { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.f6-students .f6-st-name strong { line-height: 1.3; }
.f6-st.f6-st--ox { grid-template-columns: minmax(180px, 0.9fr) minmax(0, 2fr); grid-template-areas: "main ctl" "tags ctl"; align-items: start; column-gap: 18px; row-gap: 4px; padding: 14px 8px; }
.f6-st--ox .f6-st-main { grid-area: main; align-items: flex-start; padding-top: 6px; }
.f6-st--ox .f6-st-main input { margin-top: 2px; }
.f6-st--ox .f6-st-tags { grid-area: tags; margin-inline-start: 28px; }
.f6-st--ox .f6-st-tags:empty { display: none; }
.f6-st--ox .oxapp-mrow { grid-area: ctl; width: auto; min-width: 0; margin-top: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.f6-st--ox .oxapp-mrow > select, .f6-st--ox .oxapp-mrow > input { flex: 1 1 140px; width: auto; }
.oxapp-mrow [hidden] { display: none !important; }
.oxapp-mrow select, .oxapp-mrow input[type="text"] { width: 100%; min-width: 0; }
.oxapp-mrow input[type="text"], .oxapp-mdefaults input[type="text"] {
    width: 100%; min-width: 0; font: inherit; font-size: 13px; padding: 7px 10px; min-height: 36px;
    border: 1px solid var(--gray-300, #d1d5db); border-radius: var(--radius-sm, 8px); background: var(--white, #fff); color: var(--dark, #141a15); }
.oxapp-mrow input[type="text"]:focus-visible, .oxapp-mdefaults input[type="text"]:focus-visible {
    outline: 3px solid rgba(50, 131, 74, .3); outline-offset: 1px; border-color: var(--primary, #32834a); }
/* Kategori / hata metni: satirin altinda, alanlarla ayni hizada */
.f6-st--ox .oxapp-mrow .oxapp-mcat { flex: 1 1 100%; margin: 0; line-height: 1.4; }
.f6-st--ox .oxapp-mrow .oxapp-mcat:empty { display: none; }
.oxapp-mrow .oxapp-mcat.is-none { display: block; padding: 6px 10px; border-radius: var(--radius-sm, 8px); background: #fef3c7; border: 1px solid #fde68a; color: #92400e; font-size: 12.5px; }

/* "Tum secili ogrencilere uygula" kutusu: alanlar esit genislikte akar, buton son satirda alanlarla hizali */
.oxapp-mdefaults { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.oxapp-mdefaults > .oxapp-mdefaults-title, .oxapp-mdefaults > .oxnoctr-mnote { flex: 1 1 100%; }
.oxapp-mdefaults > label { flex: 1 1 150px; }
.oxapp-mdefaults > label[hidden] { display: none; }
.oxapp-mdefaults > .btn { flex: 0 0 auto; min-height: 36px; white-space: nowrap; }
.oxapp-mdefaults .mo-ctry-select, .oxapp-mdefaults .ui-select { width: 100%; min-width: 0; }
.oxapp-mdefaults .oxnoctr-mnote { font-size: 13px; background: var(--white, #fff); margin: 0; }
.f6-reg-actions .oxapp-mrow { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }

@media (max-width: 900px) {
    .f6-st.f6-st--ox { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "tags" "ctl"; }
    .f6-st--ox .oxapp-mrow { margin-inline-start: 28px; margin-top: 6px; }
}
@media (max-width: 420px) {
    .f6-st--ox .oxapp-mrow { margin-inline-start: 0; }
    .f6-st--ox .oxapp-mrow > select, .f6-st--ox .oxapp-mrow > input { flex-basis: 120px; }
    .oxapp-mdefaults > .btn { flex: 1 1 100%; }
}

/* Admin: ulke / sehir ozeti ve filtre */
.oxnoctr-adm-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 12px 0; }
.oxnoctr-adm-filter label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: var(--gray-700, #374151); min-width: 0; flex: 1 1 160px; }
.oxnoctr-adm-filter select, .oxnoctr-adm-filter input { width: 100%; min-width: 0; }
.oxnoctr-adm-filter .btn { flex: 0 0 auto; }
.oxnoctr-adm-table td small { overflow-wrap: anywhere; }
.oxnoctr-adm-table tfoot th { text-align: start; }

@media (max-width: 600px) {
    .oxnoctr-adm-filter label { flex-basis: 100%; }
    .oxnoctr-adm-filter .btn { width: 100%; }
}


/* ==== OXRES.css ==== */
/* OXRES — sinav sonrasi sonuc/cozum tarihi ve "Sonucumu gor": olympiad.php (takvim satiri + eylem karti),
   ogrenci paneli OXST karti, olympiad-result.php yayin oncesi ekran. */

/* ---- Takvim satiri notu (f6-sched-body icinde) ---- */
.oxres-sched-note {
    display: flex; align-items: flex-start; gap: 6px; margin-top: 4px;
    font-size: 13px; line-height: 1.4; color: var(--success); font-weight: 600; overflow-wrap: anywhere;
}
.oxres-sched-note i { margin-top: 2px; flex: 0 0 auto; }

/* ---- Eylem karti ---- */
.oxres-action p { margin: 0; }
.oxres-action-exam { font-weight: 600; color: var(--gray-700); overflow-wrap: anywhere; }
.oxres-action-desc { font-size: 13px; color: var(--gray-700); }
.oxres-action-wait {
    background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: var(--radius-sm);
    padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px;
}
.oxres-action-title { font-weight: 700; color: var(--success); display: flex; align-items: center; gap: 8px; }
.oxres-action-date { font-size: 14px; color: var(--gray-700); display: flex; align-items: flex-start; gap: 8px; line-height: 1.45; }
.oxres-action-date i { color: var(--success); margin-top: 3px; flex: 0 0 auto; }
.oxres-action.oxst-action-live { margin-bottom: 12px; }
.oxres-countdown-label { font-size: 12px; color: var(--gray-600); margin: 0; }
.oxres-countdown { font-variant-numeric: tabular-nums; font-weight: 800; font-size: 20px; color: var(--success); }

/* ---- Ogrenci paneli karti ---- */
.oxres-dash-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.oxres-dash-list li {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 10px 12px; border: 1px solid var(--gray-200, #e5e7eb); border-radius: var(--radius-sm);
}
.oxres-dash-list li.oxres-published { border-color: var(--primary); background: var(--primary-light); }
.oxres-dash-text { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.oxres-dash-text strong { overflow-wrap: anywhere; }
.oxres-dash-text small { color: var(--gray-600); overflow-wrap: anywhere; }
.oxres-dash-status { font-size: 13px; color: var(--gray-700); display: flex; align-items: flex-start; gap: 6px; }
.oxres-dash-status i { color: var(--success); margin-top: 2px; }
.oxres-dash-list .oxres-countdown { font-size: 16px; }
@media (max-width: 480px) {
    .oxres-dash-list li .btn { flex: 1 1 100%; justify-content: center; }
}

/* ---- Sonuc sayfasi yayin oncesi ---- */
.oxres-wait-card > div { min-width: 0; }
.oxres-wait-card > i.fa-circle-check { color: var(--success); }
.oxres-wait-done { font-weight: 700; color: var(--success); }
.oxres-wait-card .oxres-countdown { margin: 0 0 12px; }
.oxres-wait-card .btn { margin-top: 4px; }
/* Kart basligi: ikon + baslik solda (dashboard-card basligi varsayilan olarak iki uca yaslar) */
.oxst-dash-card .card-header { justify-content: flex-start; }
.oxst-dash-card .card-header h3 { margin: 0; }


/* ==== OXST.css ==== */
/* OXST — olimpiyat sinavina erisim: takvim rozeti/eylemi (olympiad.php), panel karti (dashboard),
   eylem karti "su an acik" banneri (olympiad.php action card), header baglantisi. */

/* ---- Sinav takvimi satiri: tarih kutusu + baslik + rozet/eylem (public/olympiad.php #f6-schedule) ---- */
.f6-schedule li { flex-wrap: wrap; }
.f6-schedule .f6-sched-body { flex: 1 1 180px; min-width: 0; }
.oxst-sched-cta { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; flex: 0 0 auto; }
.oxst-need-reg { font-size: 12px; color: var(--gray-600); white-space: nowrap; }
@media (max-width: 480px) {
    .oxst-sched-cta { margin-inline-start: 0; flex-basis: 100%; }
}

/* ---- Eylem karti: sinav su an acikken tek birincil dugme banneri (OPAY deseniyle tutarli) ---- */
.oxst-action-live {
    background: var(--primary-light); border-radius: var(--radius-sm); padding: 12px 14px;
    display: flex; flex-direction: column; gap: 10px;
}
.oxst-action-live-title { margin: 0; font-weight: 700; color: var(--primary-dark); display: flex; align-items: center; gap: 8px; }
.oxst-action-live-title i { color: var(--primary); }

/* ---- Ogrenci panel karti (student_dashboard_top slotu) ---- */
.oxst-dash-card.dashboard-card-open { border-color: var(--primary); }
.oxst-dash-card .card-header { display: flex; align-items: center; gap: 10px; }
.oxst-dash-card .card-header i { color: var(--primary); }
.oxst-dash-card .card-body p { margin: 0 0 12px; font-size: 14px; color: var(--gray-700); }
.oxst-dash-countdown { font-variant-numeric: tabular-nums; font-weight: 800; font-size: 22px; color: var(--primary); margin: 0 0 12px; }

/* ---- Header hesap menusu baglantisi ---- */
.oxst-header-link { color: var(--danger) !important; font-weight: 700; }
.oxst-header-link i { color: var(--danger); }


/* ==== PAYFORM.css ==== */
/* PAYFORM — tum odeme sayfalarinda (payment.php, olympiad-pay.php, mentor-exam-pay.php,
   packages.php) ortak duzen: iki sutun + katlanir siparis ozeti (duzen/renkler OPAY.css'teki
   .opay-pay-grid / .opay-summary-* / .opay-line* siniflarindan; burada dis istek gerektirmeyen
   kart turu ikonu, birlesik AA/YY alani ve kupon kutusunun telefonda dokunma uyumu eklenir). */

/* ---- Kart numarasi: giris kutusu + marka ikonu (Visa/Mastercard/Troy/Amex, yalniz on yuz) ---- */
.pf-card-input { position: relative; }
.pf-card-input input { padding-inline-end: 46px !important; direction: ltr; text-align: left; }
.pf-card-brand {
    position: absolute; top: 50%; inset-inline-end: 12px; transform: translateY(-50%);
    font-size: 20px; color: var(--gray-400); line-height: 1; pointer-events: none;
}
.pf-card-brand.is-visa { color: #1a1f71; }
.pf-card-brand.is-mastercard { color: #eb001b; }
.pf-card-brand.is-amex { color: #2e77bc; }
.pf-brand-troy {
    display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .03em;
    color: #b91c1c; background: #fee2e2; border-radius: 4px; padding: 2px 5px;
}

/* ---- Son kullanma: birlesik AA/YY ---- */
.pf-expiry-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pf-expiry-row input { direction: ltr; text-align: left; letter-spacing: .04em; }
.pf-field-err {
    display: block; margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--danger, #d32f2f);
}
.pf-field-err[hidden] { display: none; }
input[aria-invalid="true"] { border-color: var(--danger, #d32f2f) !important; }

/* ---- BIN bilgisi (server tarafi bin-check.php'den; sadece bilgilendirme) ---- */
.pf-bin { font-size: 12px; padding: 8px 12px; border-radius: 8px; margin: -8px 0 16px; }
.pf-bin.is-tr { background: #ecfdf5; color: #065f46; }
.pf-bin.is-intl { background: #eff6ff; color: #1e40af; }

/* ---- Guvenli odeme rozetleri: sade, tek satir, orta hizali ---- */
.pf-secure-badges {
    display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap;
    margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--gray-100);
}
.pf-secure-badges span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-600); }
.pf-secure-badges i { color: var(--gray-400); font-size: 14px; }

/* ---- Odeme dugmesi: belirgin, tam genislik ---- */
.pf-pay-btn { font-size: 16px; letter-spacing: .01em; box-shadow: 0 6px 18px rgba(50,131,74,.22); }

/* ---- Kupon kutusu: telefonda taşmasin, dokunma hedefi >= 44px ---- */
.com-coupon-row input,
.com-coupon-row .btn,
.com-coupon-applied .btn { min-height: 44px; }
.com-coupon-applied .btn { padding-inline: 14px; }
.opay-coupon-wrap .com-coupon-row { gap: 8px; }

@media (max-width: 420px) {
    .com-coupon-row { flex-direction: column; align-items: stretch; }
    .com-coupon-row input { width: 100%; }
    .com-coupon-row .btn { width: 100%; }
    .com-coupon-applied { flex-direction: row; }
    .com-coupon-applied .btn { margin-inline-start: auto; }
}

/* ---- Ekstra kucuk ekran guvenligi: AA/YY + CVV yan yana ciftinde bosluk daraltilir, taşmasin ---- */
@media (max-width: 360px) {
    .pf-expiry-row { gap: 10px; }
}

/* RTL: marka ikonu ve rakam alanlari her zaman soldan sagadir (kart numarasi/tarih yazi yonu degismez) */
[dir="rtl"] .pf-card-input input,
[dir="rtl"] .pf-expiry-row input,
[dir="rtl"] #pfCvv { direction: ltr; text-align: right; }


/* ==== PAYPRM.css ==== */
/* PAYPRM - sinav odeme sayfasi (public/payment.php) premium duzeni.
   Tum kurallar .payprm kokuyle kapsamli: OPAY/PAYFORM/F6/COM siniflarini kullanan olympiad-pay, packages vb. etkilenmez.
   Dil: marka yesili, soguk yesil-gri zemin, Manrope + DM Sans, kart 16px / ic kutu 10px / buton-alan 8px,
   gradient yok, kart icinde kart yok (tutar ve paket hakki duz satir + ayirici). Mantiksal ozellikler: RTL kendiliginden aynalanir. */
.payprm {
    --pp-tint: #f1f6f2; --pp-line: #d6e3d9; --pp-field-line: #7a9281; --pp-ink: var(--dark); --pp-text: #4a554e;
    --pp-r: 16px; --pp-r-sm: 10px; --pp-r-btn: 8px;
    --pp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--pp-tint); color: var(--pp-text);
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla gelir; zemin ona kadar uzansin */
}
.payprm a, .payprm button, .payprm label, .payprm input, .payprm summary { touch-action: manipulation; }

/* ---------- baslik ---------- */
.payprm .payprm-head { padding-block: clamp(28px, 4vw, 48px) 0; }
.payprm .payprm-head h1 {
    margin: 0; font-family: var(--pp-display); font-weight: 800; color: var(--pp-ink);
    font-size: clamp(28px, 3.4vw, 40px); line-height: 1.12; letter-spacing: -0.03em; text-align: start;
}
.payprm .payprm-lead { margin: 8px 0 0; max-width: 60ch; font-size: 16px; line-height: 1.55; text-align: start; }

/* ---------- govde + izgara ---------- */
.payprm .payprm-body { padding-block: clamp(20px, 3vw, 32px) clamp(48px, 6vw, 88px); }
.payprm .payprm-head .container, .payprm .f6-pay-wrap { max-width: 1040px; }
.payprm .f6-pay-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; }
.payprm .dashboard-card {
    background: #fff; border: 1px solid var(--pp-line); border-radius: var(--pp-r); box-shadow: none;
    margin-bottom: 0; overflow: hidden;
}
.payprm .card-header { padding: 20px 28px; border-bottom: 1px solid var(--pp-line); }
.payprm .card-header h3 { margin: 0; font-family: var(--pp-display); font-size: 18px; font-weight: 800; letter-spacing: -0.015em; color: var(--pp-ink); }
.payprm .card-header h3 i { color: var(--primary); font-size: 16px; }
.payprm .f6-page .card-body { padding: 24px 28px; }

/* ---------- tutar: duz satir ---------- */
.payprm .payment-amount-box {
    display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px 16px;
    margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid var(--pp-line);
    background: none; color: var(--pp-ink); text-align: start; border-radius: 0;
}
.payprm .payment-amount-label { font-size: 15px; font-weight: 600; opacity: 1; color: var(--pp-text); }
.payprm .payment-amount {
    font-family: var(--pp-display); font-size: clamp(26px, 3vw, 32px); font-weight: 800; letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums; color: var(--pp-ink); text-align: end; overflow-wrap: anywhere;
}
.payprm .payment-try-info { grid-column: 1 / -1; font-size: 13px; opacity: 1; color: var(--pp-text); margin: 4px 0 0; text-align: end; }
.payprm .payment-try-info[hidden] { display: none; }

/* ---------- form alanlari ---------- */
.payprm .payment-form .form-group { margin-bottom: 20px; }
.payprm .payment-form label { margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--pp-ink); }
.payprm .payment-form input {
    min-height: 48px; padding: 10px 14px; font-size: 16px; color: var(--pp-ink); background: #fff;
    border: 1px solid var(--pp-field-line); border-radius: var(--pp-r-btn); transition: border-color .15s, box-shadow .15s;
}
.payprm .payment-form input::placeholder { color: #6b786f; opacity: 1; }
.payprm .payment-form input:hover { border-color: var(--primary-dark); }
.payprm .payment-form input:focus, .payprm .payment-form input:focus-visible {
    border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, .28); outline-offset: 1px; box-shadow: none;
}
.payprm .payment-form input[aria-invalid="true"] { border-color: #b3261e !important; }
.payprm .pf-card-brand { color: #6b786f; }
.payprm .pf-field-err { color: #b3261e; font-size: 13px; font-weight: 600; }
.payprm .pf-expiry-row { gap: 16px; }
.payprm .pf-expiry-row .form-group { margin-bottom: 20px; }
.payprm .pf-bin { margin: -8px 0 20px; padding: 10px 14px; font-size: 13px; border-radius: var(--pp-r-btn); }
.payprm .pf-bin.is-tr { background: var(--pp-tint); color: #14532d; border: 1px solid var(--pp-line); }
.payprm .pf-bin.is-intl { background: #eef4fb; color: #1e3a8a; border: 1px solid #cfdcf0; }
.payprm .pf-bin[hidden] { display: none; }

/* ---------- eylem dugmeleri ---------- */
.payprm .btn { border-radius: var(--pp-r-btn); font-weight: 700; min-height: 48px; justify-content: center; }
.payprm .btn:hover { transform: none; box-shadow: none; }
.payprm .btn-primary { background: var(--primary-dark); border-color: var(--primary-dark); }
.payprm .btn-primary:hover { background: #1f5a33; border-color: #1f5a33; }
.payprm .btn-outline { color: var(--primary-dark); border-color: var(--primary-dark); background: #fff; }
.payprm .btn-outline:hover { background: var(--primary-dark); color: #fff; }
.payprm .btn-lg { min-height: 52px; }
.payprm .pf-pay-btn { box-shadow: none; letter-spacing: 0; font-variant-numeric: tabular-nums; gap: 8px; }
.payprm .btn:focus-visible, .payprm summary:focus-visible, .payprm a:focus-visible {
    outline: 3px solid var(--primary); outline-offset: 3px; border-radius: var(--pp-r-btn);
}
.payprm .btn-primary:focus-visible { outline-color: var(--primary-dark); }

/* guven satiri: sade */
.payprm .pf-secure-badges { justify-content: flex-start; gap: 8px 20px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pp-line); }
.payprm .pf-secure-badges span { font-size: 13px; color: var(--pp-text); }
.payprm .pf-secure-badges i { color: var(--primary); }

/* ---------- paket hakki / ucretsiz / uyari: duz, kutusuz ---------- */
.payprm .com-pkg-use { background: none; border: 0; border-radius: 0; padding: 0 0 20px; margin: 0 0 24px; border-bottom: 1px solid var(--pp-line); }
.payprm .com-pkg-use p { margin: 0 0 12px; font-weight: 600; color: var(--pp-ink); display: flex; gap: 8px; align-items: flex-start; }
.payprm .com-pkg-use p i { color: var(--primary); margin-top: 3px; }
.payprm .com-pkg-hint { margin: 0 0 20px; font-size: 14px; }
.payprm .com-pkg-hint a, .payprm .com-pkg-hint i { color: var(--primary-dark); }
.payprm .com-pkg-hint a { font-weight: 600; text-underline-offset: 3px; }
.payprm .com-free { text-align: start; }
.payprm .com-free p { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: var(--pp-text); }
.payprm .f6-note {
    display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 14px 16px; font-size: 15px; line-height: 1.55;
    background: #fdf6e3; border: 1px solid #ecd9a0; border-inline-start: 3px solid #b7791f; border-radius: var(--pp-r-sm); color: #5b4210;
}
.payprm .f6-note i { margin-top: 3px; color: #8a5a0b; }

/* ---------- siparis ozeti ---------- */
.payprm .opay-summary-card { border: 1px solid var(--pp-line); }
.payprm .opay-summary-head { padding: 20px 28px; border-bottom: 1px solid var(--pp-line); }
.payprm .opay-summary-head-label { font-family: var(--pp-display); font-size: 18px; font-weight: 800; letter-spacing: -0.015em; color: var(--pp-ink); }
.payprm .opay-summary-head-label i { color: var(--primary); font-size: 16px; }
.payprm .opay-summary-head-amt { font-variant-numeric: tabular-nums; font-size: 15px; color: var(--pp-ink); }
.payprm .opay-summary-caret { color: var(--pp-text); }
.payprm .opay-summary-card:not([open]) .opay-summary-head { border-bottom-color: transparent; }
.payprm .exam-category-badge { background: var(--pp-tint); border: 1px solid var(--pp-line); color: var(--primary-dark); font-weight: 700; padding: 4px 12px; }
.payprm .f6-pay-title { margin: 12px 0 8px; font-family: var(--pp-display); font-size: 22px; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; overflow-wrap: anywhere; text-align: start; color: var(--pp-ink); }
.payprm .f6-muted { font-size: 15px; line-height: 1.6; color: var(--pp-text); overflow-wrap: anywhere; margin: 0; max-width: 60ch; }
.payprm .opay-lines { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--pp-line); }
.payprm .opay-line { padding: 8px 0; font-size: 15px; color: var(--pp-text); font-variant-numeric: tabular-nums; }
.payprm .opay-line-discount { color: #1b6b3a; font-weight: 700; }
.payprm .opay-line-total { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--pp-line); color: var(--pp-ink); font-weight: 700; }
.payprm .opay-line-total strong { font-family: var(--pp-display); font-size: 24px; letter-spacing: -0.02em; }

/* kupon */
.payprm .opay-coupon-wrap { padding: 4px 0 8px; }
.payprm .opay-coupon-wrap .com-coupon-disclosure summary {
    min-height: 44px; font-size: 15px; font-weight: 700; color: var(--primary-dark); padding-block: 8px;
}
.payprm .com-coupon-row { gap: 8px; }
.payprm .com-coupon-row input {
    min-height: 48px; padding: 10px 14px; font-size: 16px; border: 1px solid var(--pp-field-line); border-radius: var(--pp-r-btn); background: #fff; color: var(--pp-ink);
}
.payprm .com-coupon-row input:focus-visible { border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, .28); outline-offset: 1px; }
.payprm .com-coupon-applied { background: var(--pp-tint); border: 1px solid var(--pp-line); border-radius: var(--pp-r-sm); padding: 8px 8px 8px 14px; padding-inline: 14px 8px; }
.payprm .opay-coupon-wrap .com-coupon-is-applied .com-coupon-applied { padding: 8px 8px 8px 14px; padding-inline: 14px 8px; }
.payprm .com-coupon-tag { color: var(--primary-dark); }
.payprm .com-coupon-applied .btn { min-height: 44px; }

/* ---------- tablet / telefon ---------- */
@media (max-width: 992px) {
    .payprm .f6-pay-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .payprm .opay-pay-grid > .opay-summary-card { margin-bottom: 0; }
}
@media (max-width: 560px) {
    .payprm .card-header, .payprm .opay-summary-head { padding: 16px 18px; }
    .payprm .f6-page .card-body { padding: 20px 18px; }
    .payprm .opay-summary-head-label, .payprm .card-header h3 { font-size: 16px; }
    .payprm .opay-summary-head { flex-wrap: wrap; }
    .payprm .payment-amount-box { grid-template-columns: minmax(0, 1fr); }
    .payprm .payment-amount, .payprm .payment-try-info { text-align: start; }
    .payprm .pf-expiry-row .form-group > label { line-height: 1.4; min-height: 2.8em; display: flex; align-items: flex-end; }
    .payprm .pf-secure-badges { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 360px) {
    .payprm .pf-expiry-row { gap: 10px; }
}

/* RTL: kart no, tarih, CVV ve tutar rakamlari soldan saga kalir (PAYFORM kurali korunur) */
[dir="rtl"] .payprm .payment-form input#pfHolder { direction: rtl; text-align: right; }

@media (prefers-reduced-motion: reduce) {
    .payprm *, .payprm *::before, .payprm *::after { transition: none !important; animation: none !important; }
}
.payprm .com-coupon-row input::placeholder { text-transform: none; letter-spacing: 0; }
.payprm .payprm-head h1, .payprm .f6-pay-title { text-wrap: balance; }


/* ==== PAYUI.css ==== */
/* PAYUI — eski admin/payments.php duzeltmeleri. ADMUI2: odeme sayfasi ADMUI'ye gectigi (ADM-PAY.css) icin tum pay-* kurallari
 * kaldirildi (PHP/JS'te kullanan yok). Yalniz admin genelindeki status-badge "info" rengi kaldi. */

/* Tum admin paneli: status-badge "info" (iade vb.) baska yerde tanimli degil (orn. mentor-admin.php rozetleri) */
.admin-body .status-badge.info { background: #e0f2fe; color: #075985; }


/* ==== PEN.css ==== */
/* PEN — sinav ekrani karalama kalemi (public/exam-take.php). Secicilerin tamami .pen- onekli.
 * Arac cubugu: alt kenarda, basparmakla ulasilir "kalem kutusu"; kalem kapaliyken yalniz kalem dugmesi gorunur. */

:root {
    --pen-tray: #1e293b;
    --pen-tray-edge: #334155;
    --pen-ink-on: #f8fafc;
    --pen-accent: #1a73e8;
    --pen-accent-soft: rgba(26, 115, 232, .22);
    --pen-muted: #94a3b8;
}

/* ---------- Cizim katmani: tum sinav icerik alani (.exam-layout), sayfayla birlikte kayar ---------- */
body.pen-ready .exam-layout { position: relative; }
.pen-canvas {
    position: absolute; top: 0; left: 0; z-index: 5;   /* ust cubuk (z 100), arac cubugu (900), filigran (1500) ustte */
    pointer-events: none;                     /* kalem kapali: siklar tiklanir, sayfa kayar */
    -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
}
body.pen-active .pen-canvas {
    pointer-events: auto; touch-action: none; cursor: crosshair;
    outline: 2px dashed var(--pen-accent-soft); outline-offset: -3px;   /* "cizim modunda" isareti */
}
body.pen-active .pen-canvas.is-tap { cursor: pointer; }   /* gezgin / onceki-sonraki uzerinde (fare) */

/* Siklarin altinda cozum icin bos karalama alani */
.pen-pad {
    height: 160px; margin: -12px 0 24px;
    border-radius: 10px; border: 1px dashed transparent;
    background-image: radial-gradient(circle, rgba(100, 116, 139, .18) 1px, transparent 1.2px);
    background-size: 18px 18px;
}
body.pen-active .pen-pad { border-color: rgba(100, 116, 139, .35); }

/* Sabit arac cubugu icerigin son satirlarini ortmesin */
body.pen-ready .exam-question-area { padding-bottom: 96px; }

/* ---------- Arac cubugu ---------- */
.pen-bar {
    position: fixed; z-index: 900;
    inset-inline-end: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    display: flex; align-items: center; gap: 6px;
    max-width: calc(100vw - 32px);
    font-size: 14px;
    pointer-events: none;                     /* bos alan alttaki icerigi engellemesin */
}
.pen-toggle, .pen-tools { pointer-events: auto; }
.pen-bar button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.pen-bar[hidden] { display: none; }

.pen-toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-width: 52px; height: 52px; padding: 0 18px; border-radius: 26px;
    border: 1px solid var(--pen-tray-edge); background: var(--pen-tray); color: var(--pen-ink-on);
    font: inherit; font-weight: 600; cursor: pointer;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .28);
    transition: background-color .15s, transform .15s;
    order: 2;
}
.pen-toggle i { font-size: 18px; }
.pen-toggle:hover { background: #0f172a; }
.pen-toggle[aria-pressed="true"] { background: var(--pen-accent); border-color: var(--pen-accent); }
.pen-toggle[aria-pressed="true"] i { transform: rotate(-12deg); }

.pen-tools {
    display: none; align-items: center; gap: 2px; position: relative;
    padding: 4px; border-radius: 30px;
    background: var(--pen-tray); border: 1px solid var(--pen-tray-edge);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .28);
    order: 1;
}
.pen-bar.is-on .pen-tools { display: flex; }

.pen-btn {
    position: relative;
    width: 44px; height: 44px; flex: 0 0 44px; border-radius: 22px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0; background: transparent; color: var(--pen-ink-on); font-size: 17px; cursor: pointer;
    transition: background-color .12s;
}
.pen-btn:hover:not(:disabled) { background: rgba(255, 255, 255, .1); }
.pen-btn:disabled { color: #475569; cursor: default; }
.pen-btn[aria-pressed="true"] { background: var(--pen-ink-on); color: var(--pen-tray); }
.pen-toggle:focus-visible, .pen-btn:focus-visible, .pen-confirm button:focus-visible {
    outline: 3px solid #93c5fd; outline-offset: 2px;
}
.pen-sep { width: 1px; height: 24px; background: var(--pen-tray-edge); margin: 0 4px; flex: 0 0 1px; }

/* Renk: murekkep damlasi */
.pen-swatch span {
    width: 20px; height: 20px; border-radius: 50%;
    background: radial-gradient(circle at 34% 30%, rgba(255, 255, 255, .45), transparent 48%), var(--pen-ink);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .85);
}
.pen-swatch[aria-checked="true"] span { box-shadow: 0 0 0 2px var(--pen-tray), 0 0 0 4px var(--pen-ink-on); }

/* Kalinlik: yatay cizgi */
.pen-size span { display: block; width: 20px; border-radius: 4px; background: var(--pen-ink-on); }
.pen-size-thin span { height: 2px; }
.pen-size-mid span { height: 4px; }
.pen-size-thick span { height: 8px; }
.pen-size[aria-checked="true"] { background: rgba(255, 255, 255, .16); }

.pen-palette { display: flex; align-items: center; gap: 2px; }
.pen-group { display: flex; align-items: center; gap: 2px; }

/* Dar ekranda renk + kalinlik tek dugmenin ardinda acilir pencerede */
.pen-style-btn { display: none; }
.pen-style-dot {
    display: block; width: 20px; height: 20px; border-radius: 50%;
    background: radial-gradient(circle at 34% 30%, rgba(255, 255, 255, .45), transparent 48%), var(--pen-cur, #1f2937);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .85);
}
.pen-bar[data-size="0"] .pen-style-dot { transform: scale(.7); }
.pen-bar[data-size="2"] .pen-style-dot { transform: scale(1.15); }

@media (max-width: 760px) {
    .pen-bar { inset-inline-start: 16px; justify-content: flex-end; }
    .pen-style-btn { display: inline-flex; }
    .pen-palette {
        display: none; position: absolute; bottom: calc(100% + 10px); inset-inline-start: 0;
        flex-wrap: wrap; justify-content: center; padding: 6px; border-radius: 18px; max-width: calc(100vw - 32px);
        background: var(--pen-tray); border: 1px solid var(--pen-tray-edge); box-shadow: 0 8px 24px rgba(15, 23, 42, .3);
    }
    .pen-bar.is-palette .pen-palette { display: flex; }
    .pen-palette > .pen-sep { display: none; }
    .pen-palette > .pen-group { flex: 1 1 100%; justify-content: center; }
    .pen-bar.is-on .pen-toggle-text { display: none; }
    .pen-bar.is-on .pen-toggle { padding: 0; width: 52px; }
    /* Acilir pencereler tum cubuk genisligine gore konumlanir (dar ekranda tasmasin) */
    .pen-tools { position: static; }
    .pen-confirm { inset-inline: 0; width: auto; max-width: none; }
}
@media (max-width: 400px) {
    .pen-bar { gap: 4px; }
    .pen-tools { padding: 3px; }
    .pen-btn { width: 42px; height: 44px; flex-basis: 42px; }
    .pen-tools > .pen-sep { display: none; }
}

/* Temizleme onayi (tarayici confirm() yerine: odak kaybi ihlali olusmasin) */
.pen-confirm {
    position: absolute; bottom: calc(100% + 10px); inset-inline-end: 0;
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    width: max-content; max-width: min(320px, calc(100vw - 32px)); padding: 12px;
    border-radius: 14px; background: #fff; color: #1f2937; border: 1px solid #e2e8f0;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .25);
}
.pen-confirm[hidden] { display: none; }
.pen-confirm span { flex: 1 1 100%; font-weight: 600; line-height: 1.4; }
.pen-confirm button {
    min-height: 44px; padding: 0 16px; border-radius: 10px; font: inherit; font-weight: 600; cursor: pointer;
    border: 1px solid #cbd5e1; background: #fff; color: #1f2937; flex: 1 1 0;
}
.pen-confirm .pen-confirm-yes { background: #dc2626; border-color: #dc2626; color: #fff; }

/* Durum bildirimi */
.pen-status {
    position: absolute; bottom: calc(100% + 10px); inset-inline-end: 0;
    width: max-content; max-width: min(300px, calc(100vw - 32px));
    padding: 8px 12px; border-radius: 10px; background: #0f172a; color: #fff; font-size: 13px; line-height: 1.4;
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s; pointer-events: none;
}
.pen-status.is-show { opacity: 1; visibility: visible; transform: none; }
.pen-bar.is-palette .pen-status, .pen-bar:has(.pen-confirm:not([hidden])) .pen-status { visibility: hidden; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
    .pen-toggle, .pen-status, .pen-btn { transition: none; }
}
@media print { .pen-bar, .pen-canvas, .pen-pad { display: none !important; } }

/* ---------- Admin: sinav butunlugu ayar formundaki onay kutusu ---------- */
.exsec-adm-settings label.pen-adm-check { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.exsec-adm-settings .pen-adm-check input { width: auto; flex: 0 0 auto; margin-top: 2px; }


/* ==== PHUB.css ==== */
/* PHUB — profil sayfasi "Hesabim" kisayol izgarasi + makbuz mini tablosu (.admin-body altinda calismaz) */

.phub { margin: 4px 0 28px; max-width: 960px; margin-left: auto; margin-right: auto; }
.phub-heading { font-size: 19px; font-weight: 700; color: var(--gray-900); margin: 0 0 2px; }

.phub-nav { display: flex; flex-direction: column; gap: 22px; margin-top: 14px; }
.phub-group-title { font-size: 13.5px; font-weight: 700; color: var(--gray-700); margin: 0 0 10px; }

.phub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .phub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .phub-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.phub-card {
    display: flex; align-items: flex-start; gap: 10px;
    min-height: 44px; padding: 13px; border-radius: var(--radius);
    background: var(--white); border: 1px solid var(--gray-200);
    text-decoration: none; color: inherit; transition: var(--transition);
}
.phub-card:hover { border-color: var(--primary); box-shadow: var(--shadow); transform: translateY(-1px); }
.phub-card:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-color: var(--primary); }
@media (prefers-reduced-motion: reduce) { .phub-card { transition: none; } .phub-card:hover { transform: none; } }

.phub-ic {
    flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; font-size: 15px;
}
.phub-c-green .phub-ic { background: rgba(50, 131, 74, .12); color: var(--primary); }
.phub-c-amber .phub-ic { background: rgba(217, 119, 6, .13); color: var(--warning); }
.phub-c-blue .phub-ic { background: rgba(66, 133, 244, .13); color: var(--info); }
.phub-c-slate .phub-ic { background: var(--gray-100); color: var(--gray-700); }
.phub-c-teal .phub-ic { background: rgba(24, 63, 35, .12); color: var(--secondary-dark); }

.phub-body { min-width: 0; flex: 1 1 auto; }
.phub-title-row { display: flex; align-items: center; gap: 6px; }
.phub-title { font-size: 13.5px; font-weight: 700; color: var(--gray-900); line-height: 1.25; }
.phub-badge {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
    background: var(--danger); color: #fff; font-size: 10.5px; font-weight: 700;
}
.phub-desc {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 2px; font-size: 12px; color: var(--gray-600); line-height: 1.35;
}

/* Makbuz mini tablosu */
.phub-receipts { margin-top: 26px; }
.phub-rc-wrap { overflow-x: auto; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); }
.phub-rc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.phub-rc-table th, .phub-rc-table td { padding: 10px 12px; text-align: start; border-bottom: 1px solid var(--gray-100); white-space: nowrap; }
.phub-rc-table thead th { color: var(--gray-600); font-weight: 600; font-size: 11.5px; }
.phub-rc-table tbody tr:last-child td { border-bottom: 0; }
.phub-rc-th-action, .phub-rc-td-action { text-align: end; }
.phub-rc-link { color: var(--primary); font-weight: 600; text-decoration: none; font-size: 12.5px; }
.phub-rc-link:hover { text-decoration: underline; }
.phub-rc-all {
    display: inline-flex; align-items: center; gap: 6px; margin-top: 10px;
    font-size: 13px; font-weight: 600; color: var(--primary); text-decoration: none;
}
.phub-rc-all:hover { text-decoration: underline; }
[dir="rtl"] .phub-rc-all i { transform: scaleX(-1); }

@media (max-width: 640px) {
    .phub-rc-table thead { display: none; }
    .phub-rc-table tr { display: block; border-bottom: 1px solid var(--gray-200); padding: 8px 0; }
    .phub-rc-table tr:last-child { border-bottom: 0; }
    .phub-rc-table td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 4px 12px; text-align: end; white-space: normal; }
    .phub-rc-table td[data-label]::before { content: attr(data-label); font-weight: 600; color: var(--gray-600); text-align: start; }
    .phub-rc-table td.phub-rc-td-action { justify-content: flex-end; }
}

@media (max-width: 480px) {
    .phub-card { padding: 11px; gap: 8px; }
    .phub-ic { width: 34px; height: 34px; font-size: 14px; }
    .phub-title { font-size: 13px; }
    .phub-desc { font-size: 11.5px; }
}

/* Profil formu: alanlari anlamli alt bolumlere ayirir (mevcut form-row-2/form-group duzenine dokunmaz) */
.phub-form-sec { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--gray-100); }
.phub-form-sec:last-of-type { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.phub-form-sec-title {
    display: flex; align-items: center; gap: 8px; margin: 0 0 14px;
    font-size: 13.5px; font-weight: 700; color: var(--gray-700);
}
.phub-form-sec-title i { color: var(--primary); font-size: 13px; }


/* ==== PKGPRM.css ==== */
/* PKGPRM - deneme paketleri (public/packages.php) premium duzeni. Tum kurallar .pkg kokuyle kapsamli.
   Ayni dil: soguk yesil-gri zemin, Manrope baslik, kart 16px / ic kutu 10px / buton 8px. */
.pkg {
    --pkg-tint: #f1f6f2; --pkg-line: #d6e3d9; --pkg-text: #4a554e;
    --pkg-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    margin-bottom: -72px;
}
.pkg a:focus-visible, .pkg button:focus-visible, .pkg summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

.pkg-hero { background: var(--secondary); color: #fff; padding: clamp(32px, 4.5vw, 56px) 0; }
.pkg-hero h1 { font-family: var(--pkg-display); font-weight: 800; color: #fff; text-align: start; font-size: clamp(32px, 4.2vw, 50px); line-height: 1.08; letter-spacing: -0.035em; margin: 0 0 14px; }
.pkg-hero p { color: rgba(255, 255, 255, .84); font-size: 17px; line-height: 1.65; max-width: 60ch; margin: 0; }

.pkg-main { background: var(--pkg-tint); padding: clamp(24px, 4vw, 44px) 0 clamp(72px, 8vw, 104px); min-height: 380px; }
.pkg-back { min-height: 44px; font-weight: 600; }

.pkg .pkg-credits { background: #fff; border: 1px solid var(--pkg-line); border-radius: 10px; color: var(--primary-dark); }
.pkg .pkg-credits .btn { margin-inline-start: auto; margin-left: 0; border-radius: 8px; min-height: 40px; }

.pkg .pkg-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 16px; align-items: stretch; }
.pkg .pkg-card { border: 1px solid var(--pkg-line); border-radius: 16px; padding: 24px; gap: 12px; }
.pkg .pkg-card h2 { font-family: var(--pkg-display); font-size: 19px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.25; }
.pkg .pkg-desc { color: var(--pkg-text); font-size: 15px; line-height: 1.55; }
.pkg-facts { list-style: none; margin: auto 0 0; padding: 12px 0 0; border-top: 1px solid var(--pkg-line); display: grid; gap: 8px; font-size: 15px; color: var(--pkg-text); }
.pkg-facts li { display: flex; gap: 10px; align-items: baseline; }
.pkg-facts i { width: 16px; flex: none; text-align: center; color: var(--primary-dark); }
.pkg .com-pkg-count { color: var(--dark); font-weight: 700; }
.pkg-buy { padding-top: 4px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pkg .com-pkg-price { margin: 0; padding: 0; font-family: var(--pkg-display); font-size: 26px; font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.pkg .pkg-buy .btn { border-radius: 8px; min-height: 44px; padding-inline: 20px; }

.pkg .pkg-empty { background: #fff; border: 1px solid var(--pkg-line); border-radius: 16px; }
.pkg .pkg-my { margin-top: 28px; border-radius: 16px; border-color: var(--pkg-line); }
.pkg .com-table th { text-transform: none; letter-spacing: 0; font-size: 13px; text-align: start; }
.pkg .com-table td { text-align: start; font-variant-numeric: tabular-nums; }
.pkg .com-table .btn { min-height: 40px; border-radius: 8px; }

@media (max-width: 640px) {
    .pkg .pkg-credits .btn { margin-inline-start: 0; }
    .pkg .pkg-card { padding: 20px; }
    .pkg .pkg-buy .btn { flex: 1 1 auto; justify-content: center; }
    .pkg .com-table td { text-align: end; }
    .pkg .com-table td[data-label]::before { text-align: start; }
}
@media (prefers-reduced-motion: reduce) { .pkg * { transition: none !important; animation: none !important; } }


/* ==== PROFPRM.css ==== */
/* PROFPRM / PROF2PRM - profil sayfasi (public/profile.php) premium duzeni.
   Tum kurallar .profprm kokuyle kapsamli. Ana sayfa (HOMEPRM) ile ayni dil: marka yesili, koyu bant,
   soguk yesil-gri zemin, Manrope basliklar + DM Sans metin; kart 16px / ic kutu 10px / buton-alan 8px,
   kart icinde kart yok. Mentor profili (mentor-profile.php) ayni .profile-card'i kullanir; o sayfa etkilenmez.
   Yerlesim: masaustunde solda yapiskan bolum menusu, sagda baslikli bolumler (her bolum kendi karti + Kaydet);
   mobilde menu ustte yapiskan yatay cipler. Mantiksal ozellikler: RTL (ar, fa, ur) kendiliginden aynalanir. */

.profprm {
    --pp-tint: #f1f6f2;
    --pp-line: #d6e3d9;
    --pp-field-line: #7a9281;   /* beyazda >= 3:1 */
    --pp-text: #4a554e;
    --pp-ink: var(--dark);
    --pp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    --pp-r: 16px; --pp-r-sm: 10px; --pp-r-btn: 8px;
    background: var(--pp-tint);
    box-shadow: 0 72px 0 0 var(--pp-tint); /* alt bilgi 72px ust bosluk koyar; zemin oraya kadar uzansin */
}
.profprm a, .profprm button, .profprm label, .profprm input, .profprm select { touch-action: manipulation; }
.profprm a:focus-visible, .profprm button:focus-visible, .profprm summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- Baslik bandi ---------- */
.profprm .profprm-head {
    padding: clamp(28px, 4vw, 44px) 0;
    background: linear-gradient(105deg, #0e1610 0%, #10331d 62%, #164426 100%);
}
.profprm .profprm-title {
    margin: 0; color: #fff; text-align: start;
    font-family: var(--pp-display); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1;
    font-size: clamp(28px, 3.4vw, 40px); text-wrap: balance;
}

/* ---------- Yerlesim: menu + bolumler ---------- */
.profprm .profile-section { padding: 0 0 clamp(32px, 4vw, 56px); }
.profprm .container { max-width: 1080px; }
.profprm .profprm-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.profprm .profprm-main { min-width: 0; display: flex; flex-direction: column; gap: 14px; padding-top: 6px; }

/* bolum menusu: mobil = ustte yapiskan yatay cipler */
.profprm .profprm-nav {
    position: sticky; top: var(--hdr-h, 61px); z-index: 20; margin-inline: -12px; padding: 8px 12px;
    background: rgba(241, 246, 242, .96); border-bottom: 1px solid var(--pp-line);
}
.profprm .profprm-nav ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.profprm .profprm-nav ul::-webkit-scrollbar { display: none; }
.profprm .profprm-nav li { flex: 0 0 auto; }
.profprm .profprm-nav a {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--pp-line);
    border-radius: 999px; background: #fff; color: #2d3830; font-size: 14px; font-weight: 600; white-space: nowrap; text-decoration: none;
}
.profprm .profprm-nav a i { font-size: 13px; color: #566159; }
.profprm .profprm-nav a:hover { border-color: var(--primary); color: var(--primary-dark); }
.profprm .profprm-nav a.is-active { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.profprm .profprm-nav a.is-active i { color: #8fe0a9; }

/* masaustu: solda yapiskan dikey menu */
@media (min-width: 900px) {
    .profprm .profprm-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 28px; padding-top: clamp(20px, 3vw, 36px); }
    .profprm .profprm-nav { top: calc(var(--hdr-h, 69px) + 16px); margin: 0; padding: 0; background: none; border: 0; z-index: 1; }
    .profprm .profprm-nav ul { flex-direction: column; gap: 2px; overflow: visible; }
    .profprm .profprm-nav a {
        display: flex; width: 100%; border: 0; border-radius: var(--pp-r-sm); background: none; padding: 0 12px; position: relative;
    }
    .profprm .profprm-nav a:hover { background: #e4efe7; }
    .profprm .profprm-nav a.is-active { background: #fff; color: var(--primary-dark); font-weight: 800; box-shadow: inset 0 0 0 1px var(--pp-line); }
    .profprm .profprm-nav a.is-active i { color: var(--primary); }
    .profprm .profprm-nav a.is-active::before {
        content: ""; position: absolute; inset-inline-start: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: var(--primary);
    }
    .profprm .profprm-main { padding-top: 0; }
}

/* ---------- Bolum basligi (kartin disinda, kart ona ait) ---------- */
.profprm .pp-sec-head {
    margin-top: 18px; scroll-margin-top: calc(var(--hdr-h, 61px) + 64px);
}
.profprm .profprm-main > .pp-sec-head:first-child,
.profprm .profprm-main > .pp-alert:first-child + .pp-sec-head { margin-top: 0; }
@media (min-width: 900px) { .profprm .pp-sec-head { scroll-margin-top: calc(var(--hdr-h, 69px) + 16px); } }
.profprm .pp-sec-title {
    display: flex; align-items: center; gap: 10px; margin: 0;
    font-family: var(--pp-display); font-size: 20px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.3; color: var(--pp-ink);
}
.profprm .pp-sec-title i {
    display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 auto;
    border-radius: var(--pp-r-sm); background: #e4f1e8; color: #1f6b3a; font-size: 14px;
}
.profprm .pp-form { display: flex; flex-direction: column; gap: 14px; margin: 0; }

/* iletiler bolumun icinde */
.profprm .pp-alert { margin: 0; border-radius: var(--pp-r-sm); max-width: none; }

/* ---------- Kartlar ---------- */
.profprm .profile-card {
    max-width: none; margin: 0; padding: clamp(18px, 3vw, 28px);
    background: #fff; border: 1px solid var(--pp-line); border-radius: var(--pp-r); box-shadow: none;
}
.profprm .profile-card h3 {
    display: flex; align-items: center; gap: 8px; margin: 0 0 12px;
    font-family: var(--pp-display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; color: var(--pp-ink);
}
.profprm .profile-card h3 i { color: var(--primary); font-size: 15px; }
.profprm .profile-card .btn { border-radius: var(--pp-r-btn); }
.profprm .profile-card .btn-sm { min-height: 44px; }

/* fotograf karti (AVATAR slotu): kart kabugu ayni, ic duzen sade */
.profprm .av-card { margin: 0; padding: clamp(18px, 3vw, 28px); }
.profprm .av-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 22px; text-align: start; }
.profprm .av-body { flex: 1 1 0; min-width: 0; }
.profprm .av-hint, .profprm .f1-muted { color: var(--pp-text); }
@media (max-width: 540px) {
    .profprm .av-row { flex-direction: column; text-align: center; }
    .profprm .av-card .av-title { justify-content: center; }
}

/* alanlar */
.profprm .form-group { margin-bottom: 16px; }
.profprm .form-row-2 { gap: 0 16px; }
.profprm .form-group label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--pp-ink); }
.profprm .form-group input, .profprm .form-group select {
    min-height: 46px; border: 1px solid var(--pp-field-line); border-radius: var(--pp-r-btn); background-color: #fff;
}
.profprm .form-group input:focus, .profprm .form-group select:focus {
    border-color: var(--primary); outline: 3px solid rgba(50, 131, 74, 0.28); outline-offset: 0; box-shadow: none;
}
.profprm .form-group small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--pp-text); }
.profprm .pp-card .form-row-2:has(.mo-phone-input) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .profprm .pp-card .form-row-2:has(.mo-phone-input) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* her kartin kendi Kaydet dugmesi */
.profprm .pp-actions { display: flex; justify-content: flex-start; margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--pp-line); }
.profprm .profprm-save { min-height: 48px; padding-inline: 28px; border-radius: var(--pp-r-btn); font-weight: 700; }
@media (max-width: 540px) {
    .profprm .profile-card { padding: 18px 16px; }
    .profprm .pp-actions .profprm-save { width: 100%; justify-content: center; }
}

/* ---------- Hesap ve guvenlik ---------- */
.profprm .pp-account { display: flex; flex-direction: column; gap: 20px; }
.profprm .pp-account .ev-card { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.profprm .pp-account .ev-title { font-size: 14px; color: var(--pp-text); }
.profprm .pp-account .ev-email, .profprm .pp-acc-addr { font-size: 16px; font-weight: 700; color: var(--pp-ink); overflow-wrap: anywhere; }
.profprm .pp-acc-note { display: block; margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--pp-text); }
.profprm .pp-acc-pw {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
    padding-top: 20px; border-top: 1px solid var(--pp-line);
}
.profprm .pp-acc-pw-text { min-width: 0; flex: 1 1 260px; }
.profprm .pp-acc-pw-text strong { font-family: var(--pp-display); font-size: 16px; color: var(--pp-ink); }
.profprm .pp-acc-pw-text p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--pp-text); }
@media (max-width: 540px) { .profprm .pp-acc-pw .btn { width: 100%; justify-content: center; } }

/* ---------- Mentor bilgilerim (MSTU bolumu; kendi baslik ve menusu yerine sayfa duzenini kullanir) ---------- */
.profprm .mstu-msec.mprf { padding: 0; background: none; box-shadow: none; scroll-margin-top: calc(var(--hdr-h, 61px) + 64px); }
.profprm .mstu-msec .container { max-width: none; width: auto; padding: 0; }
.profprm .mstu-msec .mstu-msec-head, .profprm .mstu-msec .mprf-toc { display: none; }
.profprm .mstu-msec .mprf-grid { display: block; }
.profprm .mstu-msec .f1-status { margin-bottom: 14px; }
.profprm .mstu-msec .profile-card.mprf-card { padding: clamp(18px, 3vw, 28px); border: 1px solid var(--pp-line); border-radius: var(--pp-r); }
.profprm .mstu-msec .mprf-sec-title { font-size: 17px; }
.profprm .mstu-msec .mprf-save { margin-top: 4px; }

/* ---------- Hesabim kisayol izgarasi (PHUB) ---------- */
.profprm .phub { max-width: none; margin: 0; }
.profprm .phub-heading { display: none; } /* bolum basligi sayfa duzeninde */
.profprm .phub-nav { margin-top: 0; }
.profprm .phub-group-title { font-family: var(--pp-display); font-size: 14px; font-weight: 800; color: var(--pp-text); }
.profprm .phub-card { border: 1px solid var(--pp-line); border-radius: var(--pp-r-sm); background: #fff; padding: 14px; }
.profprm .phub-card:hover { border-color: var(--primary); box-shadow: none; transform: none; }
.profprm .phub-title { font-size: 14px; color: var(--pp-ink); }
.profprm .phub-desc { font-size: 12.5px; color: var(--pp-text); }
.profprm .phub-rc-wrap { border-color: var(--pp-line); border-radius: var(--pp-r-sm); }
.profprm .phub-rc-table th, .profprm .phub-rc-table td { font-variant-numeric: tabular-nums; }

/* yapiskan menu odaktaki alani kapatmasin */
.profprm input, .profprm select, .profprm textarea, .profprm a, .profprm button { scroll-margin-top: calc(var(--hdr-h, 61px) + 76px); }
@media (min-width: 900px) { .profprm input, .profprm select, .profprm textarea, .profprm a, .profprm button { scroll-margin-top: calc(var(--hdr-h, 69px) + 16px); } }

html:has(.profprm) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
    html:has(.profprm) { scroll-behavior: auto; }
    .profprm * { transition: none !important; animation: none !important; }
}


/* ==== PRVPRM.css ==== */
/* PRVPRM - gizlilik politikasi (public/privacy-policy.php). Okuma duzeni LEGPRM.css/js'ten gelir
   (legprm sinifi); burada yalniz bu sayfaya ozgu eklemeler. Hukuki metin degismez. */
.prvprm .legprm-meta { margin-top: 0; }
.prvprm .legprm-head .container { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.prvprm .legprm-head .legprm-meta { margin-top: 0; }
.prvprm .legprm-doc h3:first-child { padding-top: 0; border-top: 0; }
.prvprm .prvprm-cookie { margin: 0 0 1.4em; }
.prvprm .prvprm-cookie .btn { min-height: 44px; border-radius: 8px; }
.prvprm .legprm-doc .prvprm-updated { margin-top: 2.4em; padding-top: 1em; border-top: 1px solid var(--lp-line); font-size: 15px; color: var(--lp-muted); font-variant-numeric: tabular-nums; }
@media print { .prvprm .prvprm-cookie { display: none; } }


/* ==== QVIEW.css ==== */
/* QVIEW — ortak "soru karti" gorunumu (includes/mo/question-view.php).
   Su an public/exam-result.php kullanir; sinif adlari .qv- ile baslar, baska sayfa/modulle
   celismez. Lightbox tek ortak katman olarak sayfaya bir kez eklenir (assets/js/mo/RES.js). */

.qv-card {
    background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow);
    border-inline-start: 4px solid var(--gray-300); padding: 20px 24px; margin-bottom: 16px; min-width: 0;
    scroll-margin-top: 96px;
}
.qv-card.is-correct { border-inline-start-color: var(--success); }
.qv-card.is-wrong { border-inline-start-color: var(--danger); }
.qv-card.is-empty { border-inline-start-color: var(--gray-400); }
.qv-card.is-flash { outline: 3px solid var(--primary); outline-offset: 3px; }

.qv-head { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; margin-bottom: 14px; }
.qv-num { font-weight: 800; font-size: 15px; color: var(--dark); }
.qv-status-chip {
    display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700;
    padding: 4px 10px; border-radius: 999px; white-space: nowrap;
}
.qv-status-chip.is-correct { background: #e6f4ea; color: var(--success); }
.qv-status-chip.is-wrong { background: #fce8e6; color: var(--danger); }
.qv-status-chip.is-empty { background: var(--gray-100); color: var(--gray-600); }
.qv-time { margin-inline-start: auto; font-size: 12px; color: var(--gray-600); white-space: nowrap; }
.qv-time i { margin-inline-end: 4px; }

.qv-q-text { font-size: 15.5px; line-height: 1.7; color: var(--dark); overflow-wrap: anywhere; overflow-x: auto; margin: 0 0 14px; }
.qv-q-img-wrap { margin: 0 0 16px; }

.qv-zoomable {
    display: inline-block; position: relative; padding: 0; margin: 0; max-width: 100%;
    border: 1px solid var(--gray-200); border-radius: var(--radius-sm); background: var(--gray-50);
    cursor: zoom-in; overflow: hidden; font: inherit; line-height: 0;
}
.qv-zoomable img { display: block; max-width: 100%; height: auto; }
.qv-q-img-wrap .qv-zoomable img { max-height: 320px; margin: 0 auto; }
.qv-zoomable .qv-zoom-hint {
    position: absolute; right: 6px; bottom: 6px; width: 28px; height: 28px; border-radius: 50%;
    background: rgba(20, 26, 21, .65); color: var(--white); display: flex; align-items: center;
    justify-content: center; font-size: 12px; pointer-events: none;
}
.qv-zoomable:hover .qv-zoom-hint, .qv-zoomable:focus-visible .qv-zoom-hint { background: var(--primary); }
.qv-zoomable:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.qv-options { display: grid; gap: 10px; margin: 4px 0 2px; }
@media (min-width: 641px) { .qv-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.qv-opt {
    display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 44px;
    padding: 10px 14px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); background: var(--white);
}
.qv-opt-letter {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center;
    justify-content: center; font-weight: 800; font-size: 13px; background: var(--gray-100); color: var(--gray-700);
}
.qv-opt-body { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; overflow-x: auto; font-size: 14.5px; color: var(--dark); }
.qv-opt-body .qv-zoomable img { max-height: 64px; }
.qv-opt-tag { flex-shrink: 0; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.qv-opt-correct { border-color: #bfe3c9; background: #f2faf4; }
.qv-opt-correct .qv-opt-letter { background: var(--success); color: var(--white); }
.qv-opt-tag-correct { color: var(--success); }
.qv-opt-wrong-selected { border-color: #f6c3bd; background: #fdf3f2; }
.qv-opt-wrong-selected .qv-opt-letter { background: var(--danger); color: var(--white); }
.qv-opt-tag-wrong { color: var(--danger); }

.qv-solution { margin-top: 14px; border-top: 1px dashed var(--gray-200); padding-top: 6px; }
.qv-solution-toggle {
    display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 8px 2px;
    min-height: 44px; font: inherit; font-weight: 700; color: var(--primary); cursor: pointer; font-size: 14px;
}
.qv-solution-toggle i { transition: transform .2s ease; }
@media (prefers-reduced-motion: reduce) { .qv-solution-toggle i { transition: none; } }
.qv-solution-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.qv-solution-body {
    margin-top: 6px; color: var(--gray-800); font-size: 14.5px; line-height: 1.7; overflow-wrap: anywhere;
    overflow-x: auto; background: #fffdf5; border: 1px solid #f1e7c8; border-radius: var(--radius-sm); padding: 14px 16px;
}
.qv-solution-body[hidden] { display: none; }
.qv-solution-img { margin-top: 12px; }

/* ---- Isik kutusu (lightbox): tum sayfada tek katman ---- */
.qv-lightbox {
    position: fixed; inset: 0; background: rgba(10, 14, 11, .88); display: flex; align-items: center;
    justify-content: center; padding: 32px; z-index: 1000;
}
.qv-lightbox[hidden] { display: none; }
.qv-lightbox img { max-width: 100%; max-height: 100%; border-radius: var(--radius-sm); }
.qv-lightbox-close {
    position: absolute; top: 16px; inset-inline-end: 16px; width: 44px; height: 44px; border-radius: 50%;
    border: 0; background: rgba(255, 255, 255, .14); color: var(--white); font-size: 18px; cursor: pointer;
}
.qv-lightbox-close:hover, .qv-lightbox-close:focus-visible { background: rgba(255, 255, 255, .28); }

/* ---- Mobil ---- */
@media (max-width: 640px) {
    .qv-card { padding: 16px; }
    .qv-time { margin-inline-start: 0; }
    .qv-lightbox { padding: 16px; }
}


/* ==== RCPPRM.css ==== */
/* RCPPRM - odeme makbuzu (public/receipt.php) premium yeniden duzeni.
   Tum kurallar .rcpprm kokuyle kapsamli. COM.css'teki .com-rc* kurallarinin ustune yazar (daha yuksek ozgulluk).
   Yon: resmi belge. Beyaz sayfa, ince cizgi, ust kenarda marka yesili serit; tutar belgenin tek vurgusu.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Hareket yok.
   Mantiksal ozellikler (RTL); tutar/no/tarih bdi ile LTR; rakamlar tabular-nums. */

.rcpprm {
    --rcp-tint: #f1f6f2;
    --rcp-line: #d6e3d9;
    --rcp-text: #4a554e;
    --rcp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    background: var(--rcp-tint);
    padding: clamp(24px, 4vw, 48px) 0 clamp(56px, 7vw, 88px);
    margin-bottom: -72px;
}
.rcpprm .container { max-width: 820px; }
.rcpprm a:focus-visible,
.rcpprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.rcpprm-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- ISLEMLER ---------- */
.rcpprm .rcpprm-actions { max-width: none; margin: 0 0 14px; display: flex; justify-content: flex-end; }
.rcpprm .rcpprm-actions .btn { border-radius: 8px; min-height: 44px; }

/* ---------- BELGE ---------- */
.rcpprm .rcpprm-doc {
    max-width: none; margin: 0; background: #fff; color: var(--dark);
    border: 1px solid var(--rcp-line); border-block-start: 6px solid var(--primary-dark);
    border-radius: 16px; padding: clamp(22px, 4vw, 44px);
    box-shadow: 0 24px 44px -32px rgba(16, 51, 29, 0.35);
}
.rcpprm .rcpprm-dochead {
    display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 14px 24px;
    padding-bottom: 22px; border-bottom: 1px solid var(--rcp-line);
}
.rcpprm .rcpprm-brand { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rcpprm .rcpprm-brandname { font-family: var(--rcp-display); font-size: 18px; font-weight: 800; color: var(--primary-dark); letter-spacing: -0.01em; }
.rcpprm .rcpprm-site { font-size: 14px; color: var(--rcp-text); }
.rcpprm .rcpprm-title { text-align: end; min-width: 0; }
.rcpprm .rcpprm-title h1 { font-family: var(--rcp-display); font-size: clamp(24px, 3.4vw, 32px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; margin: 0 0 6px; text-align: end; color: var(--dark); }
.rcpprm .rcpprm-docno { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 15px; color: var(--rcp-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

/* ---------- TUTAR ---------- */
.rcpprm .rcpprm-summary {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 20px;
    margin: 22px 0 8px; padding: 18px clamp(16px, 3vw, 24px);
    background: var(--primary-light); border: 1px solid #bcdbc6; border-radius: 10px;
}
.rcpprm .rcpprm-amount { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rcpprm .rcpprm-amount-label { font-size: 14px; font-weight: 600; color: var(--primary-dark); }
.rcpprm .rcpprm-amount-value { font-family: var(--rcp-display); font-weight: 800; font-size: clamp(28px, 4.4vw, 40px); line-height: 1.05; letter-spacing: -0.03em; color: var(--dark); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rcpprm .rcpprm-amount-text { font-size: clamp(20px, 3vw, 26px); letter-spacing: -0.01em; }
.rcpprm .rcpprm-status { margin: 0; padding: 6px 12px; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.rcpprm .com-badge-ok { background: #fff; color: var(--primary-dark); border: 1px solid #bcdbc6; }
.rcpprm .com-badge-warn { background: #fff8e8; color: #7a4d00; border: 1px solid #ecd49a; }
.rcpprm .com-badge-muted { background: var(--rcp-tint); color: var(--rcp-text); }

/* ---------- AYRINTILAR ---------- */
.rcpprm .rcpprm-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.rcpprm .rcpprm-table th,
.rcpprm .rcpprm-table td { padding: 13px 4px; border-bottom: 1px solid var(--rcp-line); text-align: start; vertical-align: top; }
.rcpprm .rcpprm-table th { width: 34%; font-weight: 500; color: var(--rcp-text); }
.rcpprm .rcpprm-table td { font-weight: 600; color: var(--dark); overflow-wrap: anywhere; }
.rcpprm .rcpprm-table tr:last-child th,
.rcpprm .rcpprm-table tr:last-child td { border-bottom: 0; }
.rcpprm .rcpprm-table .rcpprm-total th,
.rcpprm .rcpprm-table .rcpprm-total td { font-weight: 800; color: var(--dark); border-bottom: 2px solid var(--dark); }
.rcpprm .rcpprm-foot { margin: 22px 0 0; text-wrap: pretty; padding-top: 16px; border-top: 1px solid var(--rcp-line); font-size: 14px; line-height: 1.6; color: var(--rcp-text); }

/* ---------- LISTE ---------- */
.rcpprm .rcpprm-head { margin: 0 0 20px; }
.rcpprm .rcpprm-head h1 { font-family: var(--rcp-display); font-size: clamp(28px, 4vw, 40px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; margin: 0; color: var(--dark); text-align: start; }
.rcpprm .rcpprm-listwrap { background: #fff; border: 1px solid var(--rcp-line); border-radius: 16px; overflow: hidden; }
.rcpprm .rcpprm-list { width: 100%; border-collapse: collapse; font-size: 15px; }
.rcpprm .rcpprm-list th { text-align: start; font-size: 13px; font-weight: 700; color: var(--rcp-text); padding: 12px 16px; background: #f7faf8; border-bottom: 1px solid var(--rcp-line); text-transform: none; letter-spacing: 0; }
.rcpprm .rcpprm-list td { padding: 14px 16px; border-bottom: 1px solid var(--rcp-line); vertical-align: middle; color: var(--dark); }
.rcpprm .rcpprm-list tr:last-child td { border-bottom: 0; }
.rcpprm .rcpprm-no { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; white-space: nowrap; }
.rcpprm .rcpprm-sum { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rcpprm .rcpprm-act { text-align: end; }
.rcpprm .rcpprm-act .btn { border-radius: 8px; min-height: 44px; display: inline-flex; align-items: center; }
.rcpprm .rcpprm-list .com-badge { margin-inline: 8px 0; }
.rcpprm .rcpprm-empty { background: #fff; border: 1px solid var(--rcp-line); border-radius: 16px; }

/* ---------- DAR EKRAN ---------- */
@media (max-width: 640px) {
    .rcpprm .rcpprm-title { text-align: start; }
    .rcpprm .rcpprm-title h1 { text-align: start; }
    .rcpprm .rcpprm-actions .btn { width: 100%; justify-content: center; }
    .rcpprm .rcpprm-table tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--rcp-line); }
    .rcpprm .rcpprm-table tr:last-child { border-bottom: 0; }
    .rcpprm .rcpprm-table th,
    .rcpprm .rcpprm-table td { display: block; width: auto; border: 0; padding: 0; }
    .rcpprm .rcpprm-table th { font-size: 14px; padding-bottom: 2px; }
    .rcpprm .rcpprm-table .rcpprm-total { border-bottom: 2px solid var(--dark); }
    .rcpprm .rcpprm-table .rcpprm-total th,
    .rcpprm .rcpprm-table .rcpprm-total td { border: 0; }

    .rcpprm .rcpprm-list thead { display: none; }
    .rcpprm .rcpprm-list tr { display: block; padding: 12px 16px; border-bottom: 1px solid var(--rcp-line); }
    .rcpprm .rcpprm-list tr:last-child { border-bottom: 0; }
    .rcpprm .rcpprm-list td { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 4px 0; border: 0; text-align: end; }
    .rcpprm .rcpprm-list td[data-label]::before { content: attr(data-label); font-size: 14px; font-weight: 500; color: var(--rcp-text); text-align: start; flex: none; }
    .rcpprm .rcpprm-list .rcpprm-act { justify-content: flex-end; padding-top: 8px; }
}

/* ---------- YAZDIRMA / PDF ---------- */
@page { margin: 16mm; }
@media print {
    .main-header, .hd, .main-footer, .no-print, .cookie-banner, #cookieBanner, .tour-launcher, .rcpprm-actions { display: none !important; }
    body { background: #fff !important; }
    .rcpprm { background: #fff; padding: 0; margin: 0; }
    .rcpprm .container { max-width: none; padding: 0; width: 100%; }
    .rcpprm .rcpprm-doc { border: 0; border-block-start: 3px solid #000; border-radius: 0; box-shadow: none; padding: 16px 0 0; break-inside: avoid; }
    .rcpprm .rcpprm-summary { background: none; border: 1px solid #000; border-radius: 0; }
    .rcpprm .rcpprm-amount-label,
    .rcpprm .rcpprm-brandname { color: #000; }
    .rcpprm .com-badge-ok,
    .rcpprm .com-badge-warn { background: none; color: #000; border: 1px solid #000; }
    .rcpprm .rcpprm-table th,
    .rcpprm .rcpprm-site,
    .rcpprm .rcpprm-docno,
    .rcpprm .rcpprm-foot { color: #000; }
    .rcpprm .rcpprm-table th,
    .rcpprm .rcpprm-table td { border-bottom-color: #999; padding: 8px 2px; }
    .rcpprm .rcpprm-table tr { break-inside: avoid; }
    .rcpprm .rcpprm-foot { border-top-color: #999; }
    a[href]::after { content: none !important; }
}


/* ==== REG.css ==== */
/* REG — kurallari AUTH.css'e tasindi (bkz. "5) REG" bolumu). Dosya bootstrap/otomatik CSS baglama
   nedeniyle korunuyor, icerigi bos birakildi. */


/* ==== REGMEN.css ==== */
/* REGMEN — kayit formunda istege bagli "Mentor sec" alani (includes/mo/regmen.php, assets/js/regmen.js) */
.regmen [hidden] { display: none !important; }
.regmen-optional { font-weight: 400; color: var(--gray-600); font-size: .92em; }
.regmen-hint { margin: 2px 0 8px; font-size: 12.5px; line-height: 1.45; color: var(--gray-700); }

.regmen-search { position: relative; }
.regmen-search-icon {
    position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%);
    color: var(--gray-500); pointer-events: none; font-size: 14px;
}
.regmen .regmen-input { width: 100%; padding-inline-start: 38px; font-size: 16px; } /* iOS: 16px alti yakinlastirir */

.regmen-list {
    position: absolute; z-index: 20; inset-inline: 0; top: calc(100% + 4px);
    margin: 0; padding: 4px; list-style: none;
    background: var(--white); border: 1px solid var(--gray-300); border-radius: var(--radius-sm);
    box-shadow: var(--shadow-md); max-height: 300px; overflow-y: auto; overscroll-behavior: contain;
}
.regmen-opt {
    display: flex; align-items: center; gap: 10px; padding: 8px 10px;
    border-radius: 6px; cursor: pointer; min-height: 44px;
}
.regmen-opt:hover, .regmen-opt.is-active { background: var(--primary-light); }
.regmen-opt.is-active { outline: 2px solid var(--primary); outline-offset: -2px; }
.regmen-opt.is-full { cursor: not-allowed; opacity: .6; }
.regmen-opt.is-full:hover { background: var(--gray-50); }
.regmen-opt-text, .regmen-picked-text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 0; }
.regmen-opt-name, .regmen-picked-name {
    font-size: 14px; color: var(--gray-900); overflow-wrap: anywhere;
}
.regmen-opt-meta, .regmen-picked-meta { font-size: 12.5px; color: var(--gray-700); overflow-wrap: anywhere; }
.regmen-badge {
    flex: 0 0 auto; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
    background: var(--gray-100); color: var(--gray-800);
}
.regmen-info { padding: 10px; font-size: 13px; color: var(--gray-700); }
.regmen-info.is-error { color: var(--danger); }

.regmen-av {
    flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; overflow: hidden;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--primary-light); color: var(--primary-dark); font-size: 13px; font-weight: 700;
}
.regmen-av-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.regmen-picked {
    display: flex; align-items: center; gap: 10px; flex-wrap: nowrap;
    padding: 10px 12px; border: 1px solid var(--primary); border-radius: var(--radius-sm);
    background: var(--primary-light);
}
.regmen-picked .regmen-av { background: var(--white); }
.regmen-remove { flex: 0 0 auto; min-height: 36px; }
.regmen-picked-note { margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--gray-700); }

.regmen-sr {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@media (max-width: 420px) {
    .regmen-picked { flex-wrap: wrap; }
    .regmen-picked-text { flex-basis: calc(100% - 46px); }
    .regmen-remove { margin-inline-start: 46px; }
}
@media (prefers-reduced-motion: no-preference) {
    .regmen-opt { transition: background-color .12s ease; }
}


/* ==== RES.css ==== */
/* RES — Sonuclarim listesi (public/my-results.php, .res- on eki) ve sonuc detayi
   (public/exam-result.php, .resd- on eki). Soru karti gorunumu QVIEW.css'te. */

/* =======================================================================
   Ortak: kapak yer tutucu (moExcovUrl bos donerse)
   ======================================================================= */
.res-cover-fallback, .resd-cover-fallback {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--primary-dark), var(--secondary));
    color: rgba(255, 255, 255, .55); font-size: 30px;
}

/* =======================================================================
   my-results.php — ozet + gelisim egrisi
   ======================================================================= */
.res-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.res-stat { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 16px 18px; min-width: 0; }
.res-stat strong {
    display: block; font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800; font-size: 26px;
    color: var(--dark); line-height: 1.2; font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
}
.res-stat span { font-size: 13px; color: var(--gray-700); }

.res-trend { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 18px 20px; margin-top: 16px; }
.res-trend h2 { margin: 0 0 12px; font-size: 15px; display: flex; align-items: center; gap: 8px; color: var(--gray-800); }
.res-trend h2 i { color: var(--primary); }
.res-trend-canvas-wrap { position: relative; height: 180px; }
.res-trend-empty { margin: 0; color: var(--gray-600); font-size: 14px; }

/* Yarim kalan deneme */
.res-continue {
    display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px;
    background: var(--primary-light); border: 1px solid #cfe6d5; border-radius: var(--radius-lg);
    padding: 18px 22px; margin: 20px 0;
}
.res-continue-icon {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--primary);
    color: var(--white); display: flex; align-items: center; justify-content: center; font-size: 17px;
}
.res-continue-text { flex: 1 1 240px; min-width: 0; }
.res-continue-text strong { display: block; color: var(--primary-dark); font-size: 16px; margin-bottom: 2px; overflow-wrap: anywhere; }
.res-continue-text p { margin: 0; color: var(--gray-700); font-size: 14px; }
.res-continue .btn { flex-shrink: 0; }

/* Suzgec / siralama */
.res-toolbar {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius);
    padding: 12px 16px; margin: 20px 0;
}
.res-toolbar-field { display: flex; align-items: center; gap: 8px; min-width: 0; }
.res-toolbar label { font-size: 13px; font-weight: 600; color: var(--gray-800); white-space: nowrap; }
.res-toolbar select {
    min-width: 0; max-width: 100%; padding: 8px 10px; font: inherit; font-size: 14px;
    border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white);
}
.res-toolbar .btn { margin-inline-start: auto; }

.res-count { margin: 0 0 14px; color: var(--gray-600); font-size: 13px; }

/* Sonuc kartlari */
.res-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 20px; }
.res-card { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.res-card-cover { position: relative; aspect-ratio: 16 / 9; background: var(--gray-100); }
.res-card-status {
    position: absolute; top: 10px; inset-inline-end: 10px; z-index: 2; padding: 4px 11px; border-radius: 999px;
    font-size: 11px; font-weight: 800; background: rgba(255, 255, 255, .95);
}
.res-card-status.is-pass { color: var(--success); }
.res-card-status.is-fail { color: var(--danger); }
.res-card-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.res-card-title { font-size: 16px; font-weight: 700; color: var(--dark); margin: 0; overflow-wrap: anywhere; line-height: 1.35; }
.res-card-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 12.5px; color: var(--gray-600); align-items: center; }
.res-card-meta .res-chip { background: var(--gray-100); padding: 2px 9px; border-radius: 999px; white-space: nowrap; }

.res-card-score-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.res-score-pill { font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -0.01em; }
.res-score-pill.is-pass { color: var(--success); }
.res-score-pill.is-fail { color: var(--danger); }
.res-score-pill .unit { font-size: 12px; font-weight: 600; color: var(--gray-500); margin-inline-start: 2px; }
.res-card-cwe { display: flex; gap: 10px; font-size: 12.5px; color: var(--gray-700); white-space: nowrap; font-variant-numeric: tabular-nums; }
.res-card-cwe .c { color: var(--success); }
.res-card-cwe .w { color: var(--danger); }
.res-card-cwe .e { color: var(--gray-500); }

.res-card-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 6px; flex-wrap: wrap; }
.res-card-actions .btn { flex: 1 1 auto; justify-content: center; min-width: 0; }

/* =======================================================================
   exam-result.php — hero + istatistikler + inceleme
   ======================================================================= */
.resd-hero { position: relative; border-radius: var(--radius-lg); overflow: hidden; background: var(--white); box-shadow: var(--shadow-lg); margin-bottom: 22px; }
.resd-hero-inner { display: grid; grid-template-columns: 240px 1fr; }
.resd-hero-cover { position: relative; min-height: 100%; background: var(--gray-100); }
.resd-hero-info { padding: 26px 30px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.resd-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 13px; color: var(--gray-600); }
.resd-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-weight: 700; font-size: 12.5px; }
.resd-status-pill.is-pass { background: #e6f4ea; color: var(--success); }
.resd-status-pill.is-fail { background: #fce8e6; color: var(--danger); }
.resd-title { font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800; letter-spacing: -0.015em; font-size: clamp(21px, 2.6vw, 28px); margin: 0; color: var(--dark); overflow-wrap: anywhere; }
.resd-score-row { display: flex; align-items: flex-end; gap: 10px; margin-top: 2px; }
.resd-score-big { font-family: 'Manrope', 'DM Sans', sans-serif; font-weight: 800; font-size: clamp(38px, 5.4vw, 52px); line-height: 1; color: var(--dark); letter-spacing: -0.02em; }
.resd-score-big .unit { font-size: 15px; font-weight: 600; color: var(--gray-500); margin-inline-start: 4px; }
.resd-pass-line { font-size: 13px; color: var(--gray-600); margin: 0; }

.resd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.resd-stat { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 14px 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.resd-stat i { flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.resd-stat.correct i { background: #e6f4ea; color: var(--success); }
.resd-stat.wrong i { background: #fce8e6; color: var(--danger); }
.resd-stat.empty i { background: var(--gray-100); color: var(--gray-600); }
.resd-stat.time i { background: var(--primary-light); color: var(--primary); }
.resd-stat strong { display: block; font-size: 19px; font-weight: 800; color: var(--dark); font-variant-numeric: tabular-nums; line-height: 1.25; }
.resd-stat span { font-size: 12px; color: var(--gray-600); }

.resd-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }

.resd-review-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.resd-review-head h2 { margin: 0; font-size: 20px; display: flex; align-items: center; gap: 8px; }
.resd-review-head h2 i { color: var(--primary); }

.resd-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.resd-filter-chip {
    display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding-inline: 15px;
    border-radius: 999px; border: 1px solid var(--gray-300); background: var(--white); color: var(--gray-800);
    font-size: 13.5px; font-weight: 600; cursor: pointer;
}
.resd-filter-chip .n { font-size: 11.5px; color: var(--gray-500); }
.resd-filter-chip.is-active { background: var(--primary); border-color: var(--primary); color: var(--white); }
.resd-filter-chip.is-active .n { color: rgba(255, 255, 255, .8); }
.resd-note { margin: 0 0 18px; font-size: 12.5px; color: var(--gray-500); }

.resd-nav { margin-bottom: 22px; }
.resd-nav-title { font-size: 14px; font-weight: 700; color: var(--gray-800); margin: 0 0 10px; }
.resd-nav-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)); gap: 8px; }
.resd-nav-btn {
    aspect-ratio: 1; min-height: 38px; border-radius: 8px; border: 1px solid var(--gray-300); background: var(--white);
    font-weight: 700; font-size: 13px; color: var(--gray-700); display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.resd-nav-btn.is-correct { border-color: #bfe3c9; background: #f2faf4; color: var(--success); }
.resd-nav-btn.is-wrong { border-color: #f6c3bd; background: #fdf3f2; color: var(--danger); }
.resd-nav-btn.is-empty { background: var(--gray-100); color: var(--gray-600); }
.resd-nav-btn.is-dim { opacity: .3; }
.resd-nav-btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.resd-review [hidden] { display: none !important; }

/* =======================================================================
   Tablet
   ======================================================================= */
@media (max-width: 900px) {
    .res-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .resd-hero-inner { grid-template-columns: 1fr; }
    .resd-hero-cover { aspect-ratio: 16 / 7; min-height: 0; }
    .resd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =======================================================================
   Telefon
   ======================================================================= */
@media (max-width: 640px) {
    .res-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .res-stat { padding: 12px 14px; }
    .res-stat strong { font-size: 21px; }
    .res-trend { padding: 14px 16px; }
    .res-continue { padding: 14px 16px; }
    .res-toolbar { padding: 10px 12px; }
    .res-toolbar select { flex: 1 1 100%; }
    .res-toolbar .btn { margin-inline-start: 0; width: 100%; }
    .res-grid { grid-template-columns: 1fr; gap: 14px; }

    .resd-hero-info { padding: 18px 18px 20px; }
    .resd-actions .btn { flex: 1 1 auto; justify-content: center; }
    .resd-nav-grid { grid-template-columns: repeat(auto-fill, minmax(34px, 1fr)); }
}


/* ==== RGPRM.css ==== */
/* RGPRM - ogrenci kayit sayfasi (public/register.php) premium yeniden duzeni.
   Tum kurallar .rgprm kokuyle kapsamli; AUTH.css / REGMEN.css degismedi, burada uzerine yazilir.
   Yon: "akademik hassasiyet" (ana sayfa HOMEPRM ve giris sayfasi LGPRM ile ayni aile): marka yesili, beyaz,
   soguk yesil-gri tonlar, Manrope basliklar + DM Sans metin, kart 16px / ic kutu 10px / buton-alan 8-10px,
   kart-icinde-kart yok (alan gruplari ince cizgiyle ayrilir), gradient yazi yok.
   Giris sayfasiyla ortak kalip: tek bitisik kabuk (form + koyu yesil marka paneli), mentor seridi, hata kutusu,
   alan/dugme olculeri, spiral dekor. Mantiksal ozellikler kullanilir (RTL: ar, fa, ur).
   Mobilde once form, sonra tanitim paneli. */

.rgprm {
    --rg-tint: #f1f6f2;
    --rg-line: #d6e3d9;
    --rg-field: #7a9281;          /* alan kenari: beyaz uzerinde 3:1 uzeri (LGPRM ile ayni) */
    --rg-ink: var(--dark);
    --rg-text: #4a554e;
    --rg-muted: #566259;
    --rg-r: 16px;
    --rg-r-sm: 10px;
    --rg-r-btn: 8px;
    --rg-danger: #b3261e;
    --rg-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    display: block; min-height: 0;
    padding: clamp(24px, 4vw, 56px) 0;
    background: var(--rg-tint);
    box-shadow: 0 72px 0 0 var(--rg-tint); /* alt bilgi (.ftr) 72px ust bosluk koyar; zemin ona kadar uzansin */
}

.rgprm a, .rgprm button, .rgprm label, .rgprm input { touch-action: manipulation; }
.rgprm a:focus-visible,
.rgprm button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }

/* ---------- iskelet: tek kabuk, form + marka paneli bitisik ---------- */
.rgprm .rg-wrap {
    display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch;
    width: min(1120px, 100% - 32px); margin-inline: auto;
    background: #fff; border: 1px solid var(--rg-line); border-radius: var(--rg-r); overflow: hidden;
    box-shadow: 0 28px 48px -28px rgba(16, 51, 29, 0.35);
}
.rgprm .rg-card { min-width: 0; padding: clamp(24px, 4vw, 52px); }

@media (min-width: 960px) {
    .rgprm .rg-wrap { grid-template-columns: minmax(0, 1fr) 380px; }
    .rgprm .rg-side-body { position: sticky; inset-block-start: 96px; }
}

/* ---------- baslik ---------- */
.rgprm .rg-head { text-align: start; margin: 0 0 24px; }
.rgprm .rg-head h1 {
    font-family: var(--rg-display); font-weight: 800; color: var(--rg-ink); text-wrap: balance;
    font-size: clamp(28px, 3vw, 36px); line-height: 1.12; letter-spacing: -0.03em; margin: 0;
}
.rgprm .rg-head p { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--rg-text); max-width: 56ch; }

/* Mentor olarak kaydol seridi: formun ustunde, belirgin (giris sayfasiyla ayni kalip) */
.rgprm .mo-mentor-register-link {
    display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding: 12px 16px; min-height: 56px;
    background: var(--rg-tint); border: 1px solid var(--rg-line); border-inline-start: 3px solid var(--primary);
    border-radius: var(--rg-r-sm); color: var(--rg-ink); font-size: 14.5px; line-height: 1.45;
}
.rgprm .mo-mentor-register-link > i { font-size: 20px; color: var(--primary); }
.rgprm .mo-mentor-register-link a {
    display: inline-block; padding-block: 8px; margin-block: -8px; /* dokunma alani >= 44px */
    font-weight: 700; color: var(--primary-dark); text-underline-offset: 3px;
}
.rgprm .mo-mentor-register-link a::after { content: "\2192"; display: inline-block; margin-inline-start: 6px; }
[dir="rtl"] .rgprm .mo-mentor-register-link a::after { content: "\2190"; }
.rgprm .mo-mentor-register-link a:hover { color: var(--primary); }

/* uyarilar (hata kutusu: giris sayfasiyla ayni) */
.rgprm .alert {
    display: flex; gap: 10px; align-items: flex-start; margin: 0 0 20px; padding: 12px 14px;
    border-radius: var(--rg-r-sm); font-size: 14.5px; line-height: 1.45; border-inline-start-width: 3px;
}
.rgprm .alert > i { margin-top: 2px; flex-shrink: 0; }
.rgprm .alert-danger { background: #fdf0ee; color: #8c1d18; border: 1px solid #f0c4bf; border-inline-start: 3px solid var(--rg-danger); }
.rgprm .alert-danger > i { color: var(--rg-danger); }
.rgprm .alert-info { background: var(--rg-tint); color: var(--primary-dark); border: 1px solid var(--rg-line); border-inline-start: 3px solid var(--primary); }
.rgprm .alert-warning { background: #fef7e0; color: #7a4204; border: 1px solid #f1deaa; border-inline-start: 3px solid var(--warning); }
.rgprm .f2-register-invite { display: block; }
.rgprm .f2-register-invite > i { margin-inline-end: 8px; }

/* ---------- form gruplari ---------- */
.rgprm .rg-required { margin: 0 0 8px; font-size: 13px; color: var(--rg-muted); }

.rgprm .rg-group { margin: 0; padding: 22px 0 6px; border-top: 1px solid var(--rg-line); min-width: 0; }
.rgprm .rg-group:first-of-type { border-top: 0; padding-top: 6px; }
.rgprm .rg-group-title {
    font-family: var(--rg-display); font-weight: 800; font-size: 18px; line-height: 1.3;
    letter-spacing: -0.01em; color: var(--rg-ink); margin: 0 0 16px;
}
.rgprm .rg-group--mentor { padding-bottom: 0; }

.rgprm .authx-form .form-group { margin-bottom: 18px; }
.rgprm .form-row-2 { grid-template-columns: minmax(0, 1fr); gap: 0; }
@media (min-width: 600px) {
    .rgprm .form-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
}

.rgprm .form-group label {
    display: block; margin: 0 0 8px;
    font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--rg-ink);
}
.rgprm .form-group input:not([type="checkbox"]):not([type="hidden"]),
.rgprm .form-group select {
    width: 100%; min-height: 48px; padding: 11px 14px;
    font-family: var(--font); font-size: 16px; line-height: 1.4; color: var(--rg-ink);
    background-color: #fff; border: 1.5px solid var(--rg-field); border-radius: var(--rg-r-btn);
}
.rgprm .form-group input::placeholder { color: #66716a; opacity: 1; }
.rgprm .form-group input:not([type="checkbox"]):hover,
.rgprm .form-group select:hover { border-color: var(--primary-dark); }
.rgprm .form-group input:not([type="checkbox"]):focus,
.rgprm .form-group select:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(50, 131, 74, 0.22); outline: none; }
.rgprm .form-group select { padding-inline-end: 38px; }

.rgprm .rg-hint { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--rg-muted); }
.rgprm .password-input { position: relative; }
.rgprm .password-input input { padding-inline-end: 52px; }
.rgprm .password-toggle {
    position: absolute; inset-block-start: 50%; inset-inline-end: 2px;
    transform: translateY(-50%); width: 44px; height: 44px; border-radius: var(--rg-r-btn); color: var(--rg-text);
}
.rgprm .password-toggle:hover { background: var(--rg-tint); color: var(--rg-ink); }
.rgprm .password-toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }

/* hata durumu: kenar + metin (yalniz renge bagli degil, mesaj alanin altinda) */
.rgprm .form-group.has-error input:not([type="checkbox"]),
.rgprm .form-group.has-error select { border-color: var(--rg-danger); border-width: 2px; background-color: #fffafa; }
.rgprm .form-group.has-error input:focus,
.rgprm .form-group.has-error select:focus { box-shadow: 0 0 0 4px rgba(179, 38, 30, 0.2); }
.rgprm .authx-field-error { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.45; color: var(--rg-danger); }
.rgprm .rg-group--legal.has-error .lg-consent,
.rgprm .rg-group--legal.has-error .checkbox-label { color: #7f1d1d; }

/* ---------- onaylar ---------- */
.rgprm .rg-group--legal { padding-bottom: 4px; }
.rgprm .rg-group--legal .lg-consents { gap: 4px; margin: 0 0 18px; }
.rgprm .rg-group--legal .checkbox-label,
.rgprm .rg-group--legal .lg-consent {
    display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 8px 0;
    font-size: 15px; line-height: 1.5; color: var(--rg-text);
}
.rgprm .rg-group--legal input[type="checkbox"] {
    width: 22px !important; height: 22px; margin-top: 1px; flex-shrink: 0; accent-color: var(--primary);
}
.rgprm .rg-group--legal input[type="checkbox"]:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.rgprm .rg-group--legal a { color: var(--primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.rgprm .rg-group--legal a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.rgprm .rg-group--legal .lg-consent-info { background: var(--rg-tint); border-radius: var(--rg-r-sm); font-size: 14px; color: var(--rg-text); }

/* ---------- mentor secimi (REGMEN davranisi ayni, gorunum yeni dilde) ---------- */
.rgprm .regmen { margin-bottom: 0; }
.rgprm .regmen > label > i { display: none; }
.rgprm .regmen-optional { font-weight: 500; color: var(--rg-muted); font-size: 13px; }
.rgprm .regmen-hint { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: var(--rg-text); }
.rgprm .regmen-search-icon { inset-inline-start: 15px; color: #66716a; }
.rgprm .form-group.regmen input.regmen-input:not([type="checkbox"]):not([type="hidden"]) { padding-inline-start: 42px; }
.rgprm .regmen-list {
    border: 1px solid var(--rg-line); border-radius: var(--rg-r-sm); padding: 6px;
    box-shadow: 0 18px 36px -18px rgba(16, 51, 29, 0.35);
}
.rgprm .regmen-opt { border-radius: var(--rg-r-btn); min-height: 52px; }
.rgprm .regmen-opt:hover,
.rgprm .regmen-opt.is-active { background: var(--rg-tint); }
.rgprm .regmen-opt-name,
.rgprm .regmen-picked-name { font-size: 15px; font-weight: 700; color: var(--rg-ink); }
.rgprm .regmen-opt-meta,
.rgprm .regmen-picked-meta { font-size: 13px; color: var(--rg-muted); }
.rgprm .regmen-badge { background: #e3ede6; color: var(--primary-dark); }
.rgprm .regmen-picked { background: var(--rg-tint); border: 1.5px solid var(--primary); border-radius: var(--rg-r-sm); padding: 12px 14px; }
.rgprm .regmen-picked .regmen-av { background: #fff; }
.rgprm .regmen-remove { min-height: 44px; border-radius: var(--rg-r-btn); }
.rgprm .regmen-picked-note { font-size: 13px; color: var(--rg-muted); margin-top: 8px; }
.rgprm .regmen-info { font-size: 14px; color: var(--rg-text); }
.rgprm .regmen-info.is-error { color: var(--rg-danger); }

/* ---------- gonder dugmesi + alt satir ---------- */
.rgprm .authx-submit {
    min-height: 52px; margin-top: 6px; padding: 0 24px; border-radius: var(--rg-r-btn);
    font-family: var(--font); font-size: 16px; font-weight: 700; letter-spacing: 0;
}
.rgprm .authx-submit:hover:not([disabled]) { background: var(--primary-dark); }
.rgprm .authx-submit:active:not([disabled]) { transform: translateY(1px); }
.rgprm .authx-submit:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 3px; }
.rgprm .authx-submit.is-loading, .rgprm .authx-submit[disabled] { opacity: 0.9; cursor: progress; }

.rgprm .auth-footer { display: block; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rg-line); text-align: start; font-size: 15px; color: var(--rg-text); }
.rgprm .auth-footer a {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; margin-inline-start: 4px;
    font-weight: 700; color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.rgprm .auth-footer a:hover { color: var(--primary); text-decoration-thickness: 2px; }

/* ---------- marka paneli (LGPRM ile ayni kalip: koyu yesil, soluk spiral, cizgili madde listesi) ---------- */
.rgprm .rg-side {
    position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-start;
    padding: clamp(28px, 4vw, 44px); background: #10331d; color: #fff;
}
.rgprm .rg-side-body { position: relative; z-index: 1; width: 100%; text-align: start; }
.rgprm .rg-side h2 {
    font-family: var(--rg-display); font-weight: 800; color: #fff; text-wrap: balance;
    font-size: clamp(26px, 2.6vw, 32px); line-height: 1.1; letter-spacing: -0.03em; margin: 0 0 14px;
}
.rgprm .rg-side p { font-size: 16px; line-height: 1.6; color: #cfe3d5; margin: 0; max-width: 40ch; }
.rgprm .rg-spiral {
    position: absolute; z-index: 0; pointer-events: none; color: rgba(255, 255, 255, 0.11);
    width: 460px; height: auto; aspect-ratio: 1; inset-inline-end: -34%; bottom: -22%;
}
[dir="rtl"] .rgprm .rg-spiral { transform: scaleX(-1); }
.rgprm .rg-spiral path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.rgprm .rg-points { list-style: none; margin: 24px 0 0; padding: 0; }
.rgprm .rg-points li { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; font-size: 15.5px; line-height: 1.4; font-weight: 600; color: #fff; }
.rgprm .rg-points li + li { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.rgprm .rg-points i { margin-top: 2px; font-size: 16px; color: var(--mint); }
.rgprm .rg-stats {
    display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 0;
    margin: 24px 0 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.rgprm .rg-stats > div { display: flex; flex-direction: column-reverse; padding-inline: 14px; min-width: 0; }
.rgprm .rg-stats > div:first-child { padding-inline-start: 0; }
.rgprm .rg-stats > div:last-child { padding-inline-end: 0; }
.rgprm .rg-stats > div + div { border-inline-start: 1px solid rgba(255, 255, 255, 0.18); }
.rgprm .rg-stats dd {
    font-family: var(--rg-display); font-weight: 800; font-size: 24px; line-height: 1; letter-spacing: -0.03em;
    white-space: nowrap; color: #fff; margin: 0; font-variant-numeric: tabular-nums;
}
.rgprm .rg-stats dt { margin-top: 8px; font-size: 13px; line-height: 1.3; color: #a8dbb7; overflow-wrap: anywhere; }

/* ---------- mobil: form ustte, tanitim paneli formdan sonra ---------- */
@media (max-width: 959px) {
    .rgprm { padding-top: 16px; }
    .rgprm .rg-wrap { width: calc(100% - 24px); max-width: 640px; }
    .rgprm .rg-side { padding: 28px 20px 26px; }
    .rgprm .rg-side p { max-width: none; }
    .rgprm .rg-points { margin-top: 18px; }
    .rgprm .rg-stats { margin-top: 18px; padding-top: 18px; }
    .rgprm .rg-spiral { width: 380px; inset-inline-end: -34%; bottom: -26%; }
}
@media (max-width: 640px) { .rgprm { box-shadow: 0 48px 0 0 var(--rg-tint); } }
@media (max-width: 480px) {
    .rgprm .rg-card { padding: 22px 18px; }
    .rgprm .rg-stats > div { padding-inline: 10px; }
}

/* ---------- hareket: tek olculu an (spiral cizimi); azaltilmis harekette statik ---------- */
@media (prefers-reduced-motion: no-preference) {
    .rgprm .rg-spiral path { stroke-dashoffset: 1; animation: rgDraw 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.2s forwards; }
    .rgprm .rg-spiral .rg-spiral-b { animation-delay: 0.6s; }
    .rgprm .authx-submit { transition: background-color 0.15s ease, transform 0.1s ease; }
    .rgprm .form-group input, .rgprm .form-group select { transition: border-color 0.15s ease, box-shadow 0.15s ease; }
}
@keyframes rgDraw { to { stroke-dashoffset: 0; } }


/* ==== RWD.css ==== */
/* RWD — kullanici sayfalari icin telefon / tablet / masaustu duzeltmeleri.
 * style.css'ten sonra yuklenir (header: assets/css/mo/*.css; sinav ekrani ayrica baglar).
 * Mentor sayfalari (F1–F4 CSS) ve admin (.admin-body) burada ele alinmaz. */

/* ---------- Genel: hicbir oge ekrandan tasmasin ---------- */
img, svg, video, iframe { max-width: 100%; }
.container { min-width: 0; }
.dashboard-card, .card, .card-body { min-width: 0; }
.dashboard-card .card-body { overflow-wrap: anywhere; }
table { max-width: 100%; }

/* ---------- Panel ozet kartlari ---------- */
.dash-stat-card { min-width: 0; }
.dash-stat-info { min-width: 0; }
.dash-stat-info h3 { overflow-wrap: anywhere; }
@media (min-width: 481px) and (max-width: 1024px) {
    .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Sinav ekrani (exam-take) ---------- */
@media (max-width: 768px) {
    .exam-topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "title finish" "timer progress";
        align-items: center;
        gap: 8px 12px;
        padding: 10px 14px;
    }
    .exam-topbar-left { grid-area: title; min-width: 0; gap: 8px; }
    .exam-topbar-left h2 { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; margin: 0; }
    .exam-topbar-left .exam-category-badge { display: none; }
    .exam-topbar-center { grid-area: timer; gap: 8px; min-width: 0; }
    .exam-timer { font-size: 18px; padding: 6px 12px; }
    .exam-topbar-right { display: contents; }
    .exam-progress-text { grid-area: progress; justify-self: end; white-space: nowrap; }
    .exam-topbar-right .btn { grid-area: finish; white-space: nowrap; padding: 8px 12px; }

    /* Soru gezintisi: telefonda gizlenmek yerine yatay kaydirilabilir numara seridi */
    .exam-nav-panel {
        display: block; position: static; height: auto; overflow: visible;
        padding: 10px 14px; border-right: 0; border-bottom: 1px solid var(--gray-200);
    }
    .exam-nav-panel h4, .exam-nav-panel .nav-legend { display: none; }
    .question-nav-grid {
        display: flex; gap: 6px; margin: 0; overflow-x: auto; padding: 2px 0 4px;
        scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
    }
    .q-nav-btn { flex: 0 0 40px; width: 40px; height: 40px; aspect-ratio: auto; scroll-snap-align: start; }
    .exam-question-area { padding: 16px 14px 32px; min-width: 0; }
    .question-text, .option-text { overflow-wrap: anywhere; }
    .question-actions { gap: 10px; }
    .question-actions .btn { flex: 1 1 0; justify-content: center; }
}

/* Bitirme penceresi ve diger modallar */
.modal-content { width: min(500px, calc(100% - 24px)); }
@media (max-width: 480px) {
    .modal-header, .modal-body, .modal-actions { padding-left: 16px; padding-right: 16px; }
    .modal-actions { flex-wrap: wrap; }
    .modal-actions > .btn, .modal-actions > form { flex: 1 1 140px; }
    .modal-actions > form .btn { width: 100%; justify-content: center; }
}

/* ---------- Sinav sonucu ---------- */
.result-actions { flex-wrap: wrap; }
@media (max-width: 480px) {
    .result-actions .btn { flex: 1 1 100%; justify-content: center; }
    .result-summary { padding: 28px 20px; gap: 20px; }
    .result-info h1 { font-size: 26px; }
    .solution-card { padding: 16px; }
    .solution-option { overflow-wrap: anywhere; }
}

/* ---------- Tablo → kart (telefon): .rt-cards icindeki tablolar, hucrelerde data-label ---------- */
@media (max-width: 640px) {
    .rt-cards { overflow: visible; background: transparent; box-shadow: none; margin-top: 16px; }
    .rt-cards table, .rt-cards tbody, .rt-cards tr, .rt-cards td { display: block; width: 100%; }
    .rt-cards thead { display: none; }
    .rt-cards tr {
        background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius);
        padding: 12px 14px; margin-bottom: 12px; box-shadow: var(--shadow);
    }
    .rt-cards td {
        display: flex; justify-content: flex-end; align-items: center; gap: 4px; flex-wrap: wrap;
        padding: 7px 0; border: 0; border-bottom: 1px dashed var(--gray-200); text-align: right;
    }
    .rt-cards td:last-child { border-bottom: 0; }
    .rt-cards td[data-label]::before {
        content: attr(data-label); color: var(--gray-600); font-size: 12px; font-weight: 600;
        text-transform: uppercase; letter-spacing: .03em; text-align: left; flex: 0 0 auto; margin-right: auto; padding-right: 12px;
    }
    .rt-cards td:first-child { font-size: 16px; }
    .rt-cards td.rt-action { justify-content: stretch; padding-top: 10px; }
    .rt-cards td.rt-action .btn { width: 100%; justify-content: center; }
}

/* ---------- Panelim: son sinavlar satiri, meta metni sikismasin (telefon) ---------- */
@media (max-width: 480px) {
    .result-item { flex-wrap: wrap; row-gap: 10px; }
    .result-info { flex: 1 1 100%; }
    .result-score { order: 2; }
    .result-item > .btn { order: 3; margin-left: auto; }
}

/* ---------- Siralama: ilk uc, telefonda kompakt yatay kartlar ---------- */
@media (max-width: 768px) {
    .top-three { grid-template-columns: 1fr; gap: 12px; margin-bottom: 24px; }
    .top-card {
        display: grid; grid-template-columns: 36px 56px minmax(0, 1fr) auto; grid-template-areas: "rank avatar name medal" "rank avatar stats medal";
        align-items: center; column-gap: 12px; row-gap: 2px; text-align: left; padding: 14px 16px;
    }
    .top-card .top-rank { grid-area: rank; position: static; transform: none; margin: 0; width: 32px; height: 32px; font-size: 14px; }
    .top-card .top-avatar { grid-area: avatar; width: 56px; height: 56px; font-size: 18px; margin: 0; }
    .top-card h3 { grid-area: name; margin: 0; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
    .top-card .top-stats { grid-area: stats; flex-direction: row; flex-wrap: wrap; gap: 4px 12px; margin: 0; font-size: 12.5px; justify-content: flex-start; }
    .top-card .top-medal { grid-area: medal; margin: 0; font-size: 22px; }
}

/* ---------- Bos durum: buyuk ikon kurali dugme icindeki ikona uygulanmasin ---------- */
.empty-state .btn i, .empty-state a.btn i { font-size: inherit; display: inline-block; margin: 0 6px 0 0; color: inherit; }
.empty-state .btn { display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Sayfa baslik bandi ---------- */
.page-header-section h1 { line-height: 1.2; overflow-wrap: anywhere; }
@media (max-width: 768px) {
    .page-header-section { padding: 32px 0; }
    .page-header-section h1 { font-size: 26px; }
    .page-header-section p { font-size: 15px; }
}

/* ---------- Profil / form kartlari ---------- */
@media (max-width: 600px) {
    .profile-section { padding: 20px 0; }
    .profile-card { padding: 20px 16px; }
    .empty-state { padding: 40px 12px; }
    .empty-state i { font-size: 48px; }
}

/* Ozet kartlari: 4 sutun esit, icerik sutunu genisletmesin */
.dashboard-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Giris / kayit kartlari (telefon) ---------- */
@media (max-width: 600px) {
    .auth-section { padding: 16px 0 32px; }
    .auth-container { border-radius: 16px; margin: 0 12px; }
    .auth-card { padding: 24px 18px; }
    .auth-header { margin-bottom: 20px; }
    .auth-form .form-group { margin-bottom: 14px; }
}

/* ---------- Sagdan sola diller: soldan saga kalmasi gereken ifadeler (slogan, oranlar) ---------- */
[dir="rtl"] .ltr-isolate { direction: ltr; unicode-bidi: isolate; text-align: right; }


/* ==== SUPPRM.css ==== */
/* SUPPRM - Destek talepleri (public/support.php) premium duzeni; FAQPRM ailesi.
   Tum kurallar .supprm kokuyle kapsamli. Marka yesili, soguk yesil-gri zemin, Manrope + DM Sans.
   Sekil kilidi: kart 16px, ic kutu 10px, buton 8px, etiket tam yuvarlak. Mantiksal ozellikler (RTL). */

.supprm {
    --sp-tint: #f1f6f2;
    --sp-line: #d6e3d9;
    --sp-ink: var(--dark);
    --sp-text: #4a554e;
    --sp-muted: #5b675f;
    --sp-r: 16px;
    --sp-r-sm: 10px;
    --sp-display: 'Manrope', 'DM Sans', system-ui, sans-serif;
    color: var(--sp-text);
    margin-bottom: -72px; /* alt bilgi kendi ust bosluguyla geliyor (FAQPRM ile ayni) */
}
.supprm a:focus-visible,
.supprm button:focus-visible,
.supprm input:focus-visible,
.supprm textarea:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
.supprm-wrap { max-width: 860px; }

/* ---------- baslik ---------- */
.supprm-head { background: var(--sp-tint); border-bottom: 1px solid var(--sp-line); padding-block: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 40px); }
.supprm-head h1 {
    margin: 0; font-family: var(--sp-display); font-weight: 800; color: var(--sp-ink);
    font-size: clamp(32px, 4.2vw, 50px); line-height: 1.1; letter-spacing: -0.03em; text-align: start;
}
.supprm-lead { margin: 14px 0 0; max-width: 60ch; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.6; text-align: start; }
.supprm-hint { margin: 10px 0 0; max-width: 60ch; font-size: 15px; line-height: 1.6; color: var(--sp-muted); text-align: start; }
.supprm-hint a { color: var(--primary-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- govde ---------- */
.supprm-body { background: #fff; padding-block: clamp(32px, 5vw, 64px) clamp(56px, 7vw, 96px); }
.supprm-h2 {
    margin: 0; font-family: var(--sp-display); font-weight: 800; color: var(--sp-ink);
    font-size: clamp(20px, 2.2vw, 26px); line-height: 1.25; letter-spacing: -0.02em; text-align: start; overflow-wrap: anywhere;
}
.supprm-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; margin-bottom: 18px; }
.supprm .btn { min-height: 44px; border-radius: 8px; }
.supprm .btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.supprm .btn-outline { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }

.supprm-backrow { margin: 0 0 18px; }
.supprm-back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-inline-start: -10px; padding-inline: 10px;
    border-radius: 8px; color: var(--primary-dark); font-weight: 600; font-size: 15px; text-decoration: none;
}
.supprm-back:hover { background: var(--sp-tint); }
[dir="rtl"] .supprm-back .fa-arrow-left,
[dir="rtl"] .supprm-hint .fa-arrow-right { transform: scaleX(-1); }

/* ---------- talep listesi: tek kart, satirlar 1px ile ayrilir ---------- */
.supprm-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--sp-line); border: 1px solid var(--sp-line); border-radius: var(--sp-r); overflow: hidden; }
.supprm-ticket { background: #fff; position: relative; }
.supprm-ticket a {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px;
    padding: 14px 22px; text-decoration: none; color: inherit; transition: background-color .2s;
}
.supprm-ticket a:hover { background: var(--sp-tint); }
.supprm-ticket a:focus-visible { outline-offset: -3px; }
.supprm-ticket-main { display: grid; gap: 4px; min-width: 0; }
.supprm-ticket-main strong { font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--sp-ink); overflow-wrap: anywhere; }
.supprm-ticket-main small { font-size: 13.5px; line-height: 1.4; color: var(--sp-muted); font-variant-numeric: tabular-nums; }
.supprm-ticket.is-unread::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 4px; background: var(--primary); z-index: 1; }
.supprm-ticket.is-unread .supprm-ticket-main strong { font-weight: 800; }
.supprm-ticket.is-closed .supprm-ticket-main strong { color: var(--sp-muted); font-weight: 600; }

/* durum rozetleri (nokta + metin; renk tek basina anlam tasimaz) */
.supprm-badge {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 4px 12px; border-radius: 999px;
    font-size: 13px; font-weight: 700; line-height: 1.4; white-space: nowrap; border: 1px solid transparent;
}
.supprm-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.supprm-badge.is-waiting { background: #fdf3dc; color: #7a5200; border-color: #f1dca4; }
.supprm-badge.is-answered { background: #e2eee5; color: #1f5a33; border-color: #bcd8c5; }
.supprm-badge.is-closed { background: #eef0ee; color: #4f5a53; border-color: #d9ded9; }

/* bos durum */
.supprm-empty { display: grid; justify-items: start; gap: 8px; padding: clamp(28px, 4vw, 44px); border: 1px solid var(--sp-line); border-radius: var(--sp-r); background: var(--sp-tint); }
.supprm-empty i { font-size: 26px; color: var(--primary); }
.supprm-empty p { margin: 0; max-width: 52ch; font-size: 16px; line-height: 1.65; }

/* ---------- form karti ---------- */
.supprm-card { padding: clamp(20px, 3.5vw, 36px); border: 1px solid var(--sp-line); border-radius: var(--sp-r); background: #fff; }
.supprm-card > .supprm-h2 { margin-bottom: 16px; }
.supprm-card > .supprm-hint { margin: 0 0 18px; }
.supprm-alert { margin-bottom: 16px; border-radius: var(--sp-r-sm); }
.supprm-form .form-group { margin-bottom: 18px; }
.supprm-form label { display: block; margin-bottom: 6px; font-size: 14.5px; font-weight: 700; color: var(--sp-ink); text-align: start; }
.supprm-form .form-control {
    width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px; font: inherit; font-size: 16px; line-height: 1.5;
    color: var(--sp-ink); background: #fff; border: 1px solid var(--sp-line); border-radius: var(--sp-r-sm);
    transition: border-color .2s, box-shadow .2s;
}
.supprm-form textarea.form-control { min-height: 140px; resize: vertical; }
.supprm-form .form-control::placeholder { color: var(--sp-muted); opacity: 1; }
.supprm-form .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(50, 131, 74, .2); outline: 0; }
.supprm-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.supprm-close-form { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--sp-line); }

/* ---------- talep ayrintisi: yanit akisi ---------- */
.supprm-thread-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px 20px; flex-wrap: wrap; margin-bottom: 20px; }
.supprm-thread-head .supprm-h2 { flex: 1 1 280px; min-width: 0; }
.supprm-thread-meta { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; color: var(--sp-muted); font-variant-numeric: tabular-nums; }
.supprm-thread { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 12px; }
.supprm-msg { padding: 16px 20px; border: 1px solid var(--sp-line); border-radius: var(--sp-r-sm); background: #fff; max-width: 92%; scroll-margin-top: 100px; }
.supprm-msg.is-mine { justify-self: end; background: var(--sp-tint); }
.supprm-msg.is-team { justify-self: start; border-inline-start: 4px solid var(--primary); }
.supprm-msg-head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; margin-bottom: 8px; }
.supprm-msg-head strong { font-size: 14.5px; font-weight: 800; color: var(--sp-ink); }
.supprm-msg-head strong i { color: var(--primary); margin-inline-end: 4px; }
.supprm-msg-head time { font-size: 13px; color: var(--sp-muted); font-variant-numeric: tabular-nums; }
.supprm-msg-body { font-size: 15.5px; line-height: 1.7; color: var(--sp-text); overflow-wrap: anywhere; text-align: start; }
.supprm-msg-body a { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 2px; }

.supprm-closed-note {
    display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap;
    padding: 20px 24px; border: 1px solid var(--sp-line); border-radius: var(--sp-r); background: var(--sp-tint);
}
.supprm-closed-note p { margin: 0; flex: 1 1 260px; font-size: 15.5px; line-height: 1.6; }
.supprm-closed-note i { color: var(--sp-muted); margin-inline-end: 6px; }

@media (max-width: 560px) {
    .supprm-ticket a { padding: 14px 16px; flex-wrap: wrap; gap: 10px 12px; }
    .supprm-ticket-main { flex: 1 1 100%; }
    .supprm-new { width: 100%; }
    .supprm-actions .btn, .supprm-close, .supprm-closed-note .btn { flex: 1 1 100%; width: 100%; }
    .supprm-msg { max-width: 100%; padding: 14px 16px; }
    .supprm-actions { flex-direction: column-reverse; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
    .supprm *, .supprm *::before, .supprm *::after { transition: none !important; animation: none !important; }
}


/* ==== TRASH.css ==== */
/* TRASH — Admin: ogrenci cop kutusu (admin/trash.php) ve islem kaydi (admin/audit-log.php) */
.trash-head { gap: 12px; flex-wrap: wrap; }
.trash-note { margin: 0 0 12px; font-size: 14px; color: var(--gray-600); line-height: 1.5; }
.trash-break { overflow-wrap: anywhere; }
.trash-actions { white-space: nowrap; text-align: right; }
.trash-inline { display: inline-block; margin: 0; vertical-align: top; }
.trash-purge { display: inline-block; vertical-align: top; text-align: left; }
.trash-purge > summary { list-style: none; cursor: pointer; }
.trash-purge > summary::-webkit-details-marker { display: none; }
.trash-purge[open] > summary { background: var(--gray-100); }
.trash-purge form { margin-top: 8px; padding: 10px; width: min(300px, 80vw); background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); white-space: normal; }
.trash-purge label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.trash-purge input[type="email"] { width: 100%; box-sizing: border-box; padding: 8px 10px; margin-bottom: 8px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 14px; }
.trash-purge .f10-warn-box { font-size: 12px; margin: 0 0 8px; }

/* Islem kaydi */
.aud-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; align-items: flex-end; }
.aud-filters label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: var(--gray-600); flex: 1 1 160px; min-width: 0; }
.aud-filters input, .aud-filters select { padding: 8px 10px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; font-size: 14px; background: var(--white); min-width: 0; width: 100%; box-sizing: border-box; }
.aud-filters .aud-btns { display: flex; gap: 8px; flex: 0 0 auto; }
.aud-code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; color: var(--gray-600); }
.aud-details summary { cursor: pointer; font-size: 13px; color: var(--primary); }
.aud-details pre { margin: 6px 0 0; padding: 8px; max-width: 520px; max-height: 260px; overflow: auto; background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-sm); font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.aud-muted { color: var(--gray-600); font-size: 12px; }

@media (max-width: 768px) {
    .trash-table td, .aud-table td { padding-left: 12px; }
    .trash-table td.trash-actions::before { content: none; }
    .trash-actions { text-align: left; white-space: normal; display: flex !important; gap: 8px; flex-wrap: wrap; }
    .trash-purge form { width: 100%; }
    .aud-filters label { flex: 1 1 100%; }
    .aud-filters .aud-btns { flex: 1 1 100%; }
    .aud-filters .aud-btns .btn { flex: 1 1 auto; justify-content: center; }
    .aud-details pre { max-width: 100%; }
}


/* ==== UI.css ==== */
/* UI — ortak arayuz bilesenleri: onay penceresi, bildirim, sifre, e-posta onerisi, telefon (intl-tel-input),
   aranabilir liste (Tom Select). JS: assets/js/mo/UI.js, UI-phone.js */

/* ---------- Onay penceresi ---------- */
html.mo-ui-modal-open, html.mo-ui-modal-open body { overflow: hidden; }
.mo-ui-modal-back {
    position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center;
    padding: 16px; background: rgba(16, 24, 18, .55); animation: moUiFade .15s ease-out;
}
.mo-ui-modal-back.is-leaving { opacity: 0; transition: opacity .15s; }
/* Ust katman kabi (UI.js: showModal) — gorunmez; perde ve pencere icindeki .mo-ui-modal-back'ten gelir */
dialog.mo-ui-modal-layer {
    position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none;
    margin: 0; padding: 0; border: 0; background: transparent; color: inherit; overflow: visible;
}
dialog.mo-ui-modal-layer::backdrop { background: transparent; }
.mo-ui-modal {
    width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow: auto;
    background: var(--white, #fff); color: var(--gray-900, #202124); border-radius: var(--radius, 12px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25); padding: 22px 22px 18px; animation: moUiPop .16s ease-out;
}
.mo-ui-modal-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.mo-ui-modal-icon {
    flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: var(--primary-light, #eef7f0); color: var(--primary, #32834a); font-size: 18px;
}
.mo-ui-modal.is-danger .mo-ui-modal-icon { background: #fdecec; color: var(--danger, #dc2626); }
.mo-ui-modal-title { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 700; }
.mo-ui-modal-msg { margin: 0 0 20px; font-size: 15px; line-height: 1.55; color: var(--gray-800, #3c4043); white-space: pre-line; overflow-wrap: anywhere; }
.mo-ui-modal-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.mo-ui-modal-actions .btn { min-width: 110px; min-height: 42px; justify-content: center; }
.mo-ui-modal-cancel { background: var(--white, #fff); border: 1.5px solid var(--gray-300, #dadce0); color: var(--gray-800, #3c4043); }
.mo-ui-modal-cancel:hover { background: var(--gray-100, #f1f3f4); }
.mo-ui-modal .btn:focus-visible { outline: 3px solid rgba(50, 131, 74, .45); outline-offset: 2px; }
.mo-ui-modal.is-danger .btn-danger:focus-visible { outline-color: rgba(220, 38, 38, .45); }
@media (max-width: 480px) {
    .mo-ui-modal-back { align-items: flex-end; padding: 12px; }
    .mo-ui-modal-actions { flex-direction: column-reverse; }
    .mo-ui-modal-actions .btn { width: 100%; }
}
@keyframes moUiFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes moUiPop { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }

/* ---------- Bildirim ---------- */
.mo-ui-toasts {
    position: fixed; z-index: 10060; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 8px;
    width: min(380px, calc(100vw - 32px)); pointer-events: none;
}
.mo-ui-toast {
    pointer-events: auto; display: flex; align-items: flex-start; gap: 10px; padding: 12px 12px 12px 14px;
    background: var(--white, #fff); color: var(--gray-900, #202124); border-radius: 10px; border-left: 4px solid var(--info, #4285f4);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16); font-size: 14px; line-height: 1.45; animation: moUiPop .18s ease-out;
}
.mo-ui-toast > i { margin-top: 2px; color: var(--info, #4285f4); }
.mo-ui-toast--success { border-left-color: var(--success, #059669); }
.mo-ui-toast--success > i { color: var(--success, #059669); }
.mo-ui-toast--error { border-left-color: var(--danger, #dc2626); }
.mo-ui-toast--error > i { color: var(--danger, #dc2626); }
.mo-ui-toast--warning { border-left-color: var(--warning, #d97706); }
.mo-ui-toast--warning > i { color: var(--warning, #d97706); }
.mo-ui-toast-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.mo-ui-toast-close {
    flex: 0 0 auto; border: 0; background: none; color: var(--gray-600, #80868b); cursor: pointer;
    width: 28px; height: 28px; margin: -4px -4px 0 0; border-radius: 6px;
}
.mo-ui-toast-close:hover, .mo-ui-toast-close:focus-visible { background: var(--gray-100, #f1f3f4); color: var(--gray-900, #202124); }
.mo-ui-toast.is-leaving { opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; }
@media (max-width: 480px) { .mo-ui-toasts { left: 16px; right: 16px; width: auto; } }
@media (prefers-reduced-motion: reduce) {
    .mo-ui-modal-back, .mo-ui-modal, .mo-ui-toast { animation: none; }
}

/* ---------- Sifre: goster/gizle + guc ---------- */
.mo-ui-pw { position: relative; display: block; width: 100%; }
.mo-ui-pw > input { width: 100%; padding-right: 44px !important; }
.mo-ui-pw-toggle {
    position: absolute; top: 50%; right: 4px; transform: translateY(-50%);
    width: 36px; height: 36px; border: 0; border-radius: 8px; background: none; cursor: pointer;
    color: var(--gray-600, #80868b); display: inline-flex; align-items: center; justify-content: center;
}
[dir="rtl"] .mo-ui-pw > input { padding-right: 14px !important; padding-left: 44px !important; }
[dir="rtl"] .mo-ui-pw-toggle { right: auto; left: 4px; }
.mo-ui-pw-toggle:hover, .mo-ui-pw-toggle:focus-visible { color: var(--gray-900, #202124); background: var(--gray-100, #f1f3f4); }
.mo-ui-pw-toggle:focus-visible { outline: 2px solid var(--primary, #32834a); outline-offset: 1px; }

.mo-ui-strength { margin-top: 8px; }
.mo-ui-strength-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.mo-ui-strength-bar span { height: 5px; border-radius: 3px; background: var(--gray-200, #e8eaed); transition: background-color .2s; }
.mo-ui-strength-text { margin-top: 5px; font-size: 12px; line-height: 1.4; color: var(--gray-700, #5f6368); }
.mo-ui-strength[data-level="0"] .mo-ui-strength-bar span:nth-child(-n+1),
.mo-ui-strength[data-level="1"] .mo-ui-strength-bar span:nth-child(-n+1) { background: var(--danger, #dc2626); }
.mo-ui-strength[data-level="2"] .mo-ui-strength-bar span:nth-child(-n+2) { background: var(--warning, #d97706); }
.mo-ui-strength[data-level="3"] .mo-ui-strength-bar span:nth-child(-n+3) { background: #65a30d; }
.mo-ui-strength[data-level="4"] .mo-ui-strength-bar span { background: var(--success, #059669); }
.mo-ui-strength[data-level="0"] .mo-ui-strength-bar span:first-child { opacity: .55; }

/* ---------- E-posta onerisi ---------- */
.mo-ui-email-hint { margin-top: 6px; }
.mo-ui-email-fix {
    border: 0; background: #fff7e6; color: #8a5300; border-radius: 8px; padding: 6px 10px; font: inherit; font-size: 13px;
    line-height: 1.4; cursor: pointer; text-align: start; max-width: 100%; overflow-wrap: anywhere;
}
.mo-ui-email-fix strong { color: #5c3700; text-decoration: underline; text-underline-offset: 2px; }
.mo-ui-email-fix:hover, .mo-ui-email-fix:focus-visible { background: #ffecc2; }
.mo-ui-email-fix:focus-visible { outline: 2px solid var(--warning, #d97706); outline-offset: 1px; }

/* ---------- Telefon (intl-tel-input) ---------- */
.mo-phone-input.mo-ui-phone-ready { display: block; }
.mo-phone-input.mo-ui-phone-ready .mo-phone-country { display: none !important; }
.mo-phone-input .iti { display: block; width: 100%; }
.mo-phone-input .iti input.mo-phone-number,
.form-group .mo-phone-input .iti input.mo-phone-number { width: 100%; }
.mo-phone-input.is-invalid .iti input.mo-phone-number { border-color: var(--danger, #dc2626) !important; }
.mo-ui-field-msg { margin-top: 6px; font-size: 13px; line-height: 1.4; color: var(--danger, #dc2626); }
/* Sitenin genel input kurallari (.form-group input, admin input) kutuphanenin arama kutusunu bozmasin */
.iti .iti__search-input, .form-group .iti .iti__search-input, .admin-body .admin-content .iti .iti__search-input {
    width: 100%; border: 0; border-bottom: 1px solid var(--gray-200, #e8eaed); border-radius: 0; box-shadow: none;
    padding: 10px 12px 10px 36px; font-size: 14px; min-height: 0; background: transparent;
}
.iti .iti__country-list { font-size: 14px; }
.iti .iti__selected-country { border-radius: var(--radius-sm, 8px) 0 0 var(--radius-sm, 8px); }
.iti--fullscreen-popup.iti--container { z-index: 10040; }

/* ---------- Aranabilir liste (Tom Select) ---------- */
.mo-ui-ts.ts-wrapper { width: 100%; min-width: 0; }
.mo-ui-ts .ts-control {
    min-height: 42px; padding: 8px 12px; border: 1.5px solid var(--gray-300, #dadce0); border-radius: var(--radius-sm, 8px);
    font-size: 14px; font-family: inherit; box-shadow: none; background: var(--white, #fff);
}
.mo-ui-ts.ts-wrapper.single .ts-control, .mo-ui-ts.ts-wrapper.single.input-active .ts-control { background: var(--white, #fff); background-image: none; }
.mo-ui-ts.focus .ts-control { border-color: var(--primary, #32834a); box-shadow: 0 0 0 3px rgba(50, 131, 74, .1); }
.mo-ui-ts .ts-control input,
.form-group .mo-ui-ts .ts-control input,
.admin-body .admin-content .mo-ui-ts .ts-control input {
    width: auto; min-width: 4rem; flex: 1 1 auto; border: 0 !important; padding: 0 !important; margin: 0; box-shadow: none !important;
    background: transparent; min-height: 0; height: auto; font-size: 14px; border-radius: 0;
}
.mo-ui-ts .ts-dropdown { font-size: 14px; border-radius: 0 0 var(--radius-sm, 8px) var(--radius-sm, 8px); z-index: 1050; }
.mo-ui-ts .ts-dropdown .active { background: var(--primary-light, #eef7f0); color: var(--gray-900, #202124); }
.mo-ui-ts .ts-dropdown .option, .mo-ui-ts .ts-dropdown .no-results { padding: 8px 12px; overflow-wrap: anywhere; }
.mo-ui-ts.disabled .ts-control { background: var(--gray-100, #f1f3f4); opacity: 1; }


/* ==== WALLET.css ==== */
/* WALLET — Kuponlarim / Kampanyalar / panel kutusu / admin eklentileri. Tum secimler .wlt* altinda (CSS paketi global). */
.wlt { padding: 28px 0 56px; }
.wlt-wrap { max-width: 980px; }
[dir="rtl"] .wlt-dir { transform: scaleX(-1); }

/* Sayfalar arasi kisa yol */
.wlt-crosslink {
    display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 10px 16px;
    border-radius: 999px; background: var(--primary-light); color: var(--primary-dark); font-weight: 600; font-size: 14px;
    text-decoration: none; max-width: 100%;
}
.wlt-crosslink:hover, .wlt-crosslink:focus-visible { background: #dff0e4; }

/* Kupon kartlari: bilet gorunumu (sol serit + delikli kenar) */
.wlt-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.wlt-card {
    position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg);
    padding: 20px 20px 18px 26px; box-shadow: var(--shadow);
}
.wlt-card::before {
    content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 8px;
    border-start-start-radius: var(--radius-lg); border-end-start-radius: var(--radius-lg);
    background: repeating-linear-gradient(180deg, var(--primary) 0 10px, var(--mint) 10px 20px);
}
.wlt-card.is-soon { border-color: #f5c77e; }
.wlt-card.is-soon::before { background: repeating-linear-gradient(180deg, var(--warning) 0 10px, #f5b342 10px 20px); }
.wlt-card-top { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.wlt-amount { font-size: 34px; line-height: 1; font-weight: 800; color: var(--secondary); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.wlt-off { font-size: 14px; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: .04em; }
.wlt-scope { margin: 0; display: flex; align-items: flex-start; gap: 8px; color: var(--gray-800); font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }
.wlt-scope i { color: var(--primary); margin-top: 3px; }

.wlt-code-row { display: flex; align-items: stretch; gap: 8px; min-width: 0; }
.wlt-code {
    flex: 1; min-width: 0; display: flex; align-items: center; padding: 8px 12px; border-radius: var(--radius-sm);
    border: 2px dashed var(--gray-300); background: var(--gray-50); color: var(--dark);
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; font-weight: 700; letter-spacing: .06em;
    overflow-wrap: anywhere; user-select: all;
}
.wlt-copy {
    flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; min-height: 44px;
    border-radius: var(--radius-sm); border: 1px solid var(--gray-300); background: var(--white); color: var(--gray-800);
    font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.wlt-copy:hover { border-color: var(--primary); color: var(--primary); }
.wlt-copy:focus-visible { outline: 3px solid rgba(50, 131, 74, .35); outline-offset: 2px; }
.wlt-copy.is-done { border-color: var(--success); color: var(--success); background: #ecfdf5; }

.wlt-exp { margin: 0; font-size: 14px; color: var(--gray-700); }
.wlt-exp i { color: var(--gray-500); margin-inline-end: 4px; }
.wlt-card.is-soon .wlt-exp strong { color: #b45309; }
.wlt-use { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; }
.wlt-note { margin: 18px 0 0; font-size: 14px; color: var(--gray-700); display: flex; gap: 8px; align-items: flex-start; }
.wlt-note i { color: var(--info); margin-top: 3px; }

/* Bos durum */
.wlt-empty { text-align: center; max-width: 520px; margin: 12px auto; padding: 36px 20px; background: var(--white); border-radius: var(--radius-lg); border: 1px dashed var(--gray-300); }
.wlt-empty-icon { display: inline-flex; width: 64px; height: 64px; border-radius: 50%; align-items: center; justify-content: center; background: var(--primary-light); color: var(--primary); font-size: 26px; margin-bottom: 12px; }
.wlt-empty h2 { font-size: 20px; margin: 0 0 8px; color: var(--dark); }
.wlt-empty p { color: var(--gray-700); margin: 0 0 18px; }

/* Gecmis (soluk) */
.wlt-history { margin-top: 32px; border-top: 1px solid var(--gray-200); padding-top: 16px; }
.wlt-history summary { cursor: pointer; font-weight: 700; color: var(--gray-700); display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.wlt-count { font-size: 12px; font-weight: 700; background: var(--gray-100); color: var(--gray-700); border-radius: 999px; padding: 1px 8px; }
.wlt-hist-list { list-style: none; margin: 8px 0 0; padding: 0; opacity: .72; }
.wlt-hist-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 10px 0; border-bottom: 1px solid var(--gray-100); font-size: 14px; }
.wlt-hist-list code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; text-decoration: line-through; color: var(--gray-700); overflow-wrap: anywhere; }
.wlt-hist-what { color: var(--gray-700); flex: 1; min-width: 160px; }
.wlt-hist-state { font-size: 13px; font-weight: 600; color: var(--gray-600); }
.wlt-hist-state.is-used { color: var(--success); }

/* Kampanya kartlari */
.wlt-cmp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.wlt-cmp {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0; overflow: hidden;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); box-shadow: var(--shadow);
}
.wlt-cmp-body { padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.wlt-cmp-title { margin: 0; font-size: 21px; line-height: 1.25; color: var(--dark); overflow-wrap: anywhere; }
.wlt-cmp-desc { margin: 0; color: var(--gray-800); overflow-wrap: anywhere; }
.wlt-cmp-side {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px;
    padding: 22px 24px; min-width: 240px; max-width: 320px; background: var(--primary-light); border-inline-start: 2px dashed #c6e2cf;
}
.wlt-cmp-side .wlt-code-row { width: 100%; }
.wlt-cmp-side .wlt-use { margin-top: 4px; }
.wlt-cmp:not(.has-coupon) .wlt-cmp-side { justify-content: center; min-width: 0; }

/* Panel kutusu (ogrenci / mentor paneli) */
.wlt-dash { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.wlt-dash-item {
    flex: 1 1 240px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; min-height: 56px;
    border-radius: var(--radius); background: var(--white); border: 1px solid #cfe7d6; box-shadow: var(--shadow);
    color: var(--secondary); font-weight: 700; text-decoration: none;
}
.wlt-dash-item:hover, .wlt-dash-item:focus-visible { border-color: var(--primary); }
.wlt-dash-item > span:nth-child(2) { flex: 1; min-width: 0; }
.wlt-dash-ic { flex: none; width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--primary-light); color: var(--primary); }
.wlt-dash-item > .fa-chevron-right { color: var(--gray-500); font-size: 13px; }
.dashboard-sidebar .wlt-dash-item, .mentor-dash-side .wlt-dash-item { flex-basis: 100%; }

/* Admin */
.wlt-adm-head-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.wlt-adm-help { color: var(--gray-700); margin: 0 0 16px; max-width: 820px; }
.wlt-adm-note { display: block; margin: -8px 0 14px; color: var(--gray-600); max-width: 760px; }
.wlt-adm-wide { grid-column: 1 / -1; }
.wlt-adm-pill { background: #ecfdf5; color: #047857; }

@media (max-width: 720px) {
    .wlt { padding: 20px 0 40px; }
    .wlt-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .wlt-card { padding: 18px 16px 16px 22px; }
    .wlt-amount { font-size: 30px; }
    .wlt-use { align-self: stretch; justify-content: center; }
    .wlt-cmp { grid-template-columns: minmax(0, 1fr); }
    .wlt-cmp-body { padding: 18px 16px 14px; }
    .wlt-cmp-side { min-width: 0; max-width: none; padding: 16px; border-inline-start: 0; border-top: 2px dashed #c6e2cf; }
    .wlt-cmp-side .wlt-use { align-self: stretch; justify-content: center; }
}


/* ==== Z-responsive.css ==== */
/* Telefon / tablet duzeltmeleri (ogrenci ve mentor sayfalari).
   Header bu dosyada YOK (assets/css/mo/F0-header.css). Ada gore en son yuklenir (Z-). */

/* ---- Siralama tablosu: telefonda sayfa degil tablo kayar ---- */
@media (max-width: 768px) {
    .leaderboard-table { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius); box-shadow: var(--shadow); }
    .leaderboard-table table { min-width: 520px; box-shadow: none; }
    .leaderboard-table th, .leaderboard-table td { padding: 10px 12px; }
}

/* ---- Ogrenci paneli: karsilama + ozet kartlari ---- */
@media (max-width: 600px) {
    .dashboard-welcome { flex-direction: column; align-items: stretch; gap: 14px; margin-bottom: 24px; }
    .dashboard-welcome h1 { font-size: 24px; }
    .dashboard-welcome .btn { align-self: flex-start; }
}
@media (max-width: 480px) {
    /* tek sutun yerine 2 sutun: dort kart bir ekrana sigar */
    .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
    .dash-stat-card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
    .dash-stat-icon { width: 40px; height: 40px; border-radius: 10px; font-size: 18px; }
    .dash-stat-info h3 { font-size: 22px; }
    .dash-stat-info p { font-size: 12px; }
}

/* ---- Olimpiyat bilgi sayfasi (tek sutun): once kapak + baslik, sonra basvuru kutusu, sonra ayrintilar ---- */
@media (max-width: 992px) {
    .f6-detail-grid:not(.f6-side-last) { row-gap: 0; }
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-main { display: contents; }
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-main > * { order: 2; min-width: 0; }
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-main > .f6-cover,
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-main > .f6-title,
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-main > .f6-subtitle,
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-main > .f6-lead { order: 0; }
    .f6-detail-grid:not(.f6-side-last) > .f6-detail-side { order: 1; margin: 20px 0 4px; }
}
@media (max-width: 480px) {
    .f6-title { font-size: 24px; }
    .f6-cover-lg { aspect-ratio: 16 / 8; }
    .f6-facts-grid { grid-template-columns: 1fr; }
}

