/* 
 PATIKA MOBILE CSS - CRITICAL FIXES v4.0
===========================================
 PROBLEM: Sağ taraftaki geniş boş alan
 PROBLEM: Hamburger menu çok geniş
 PROBLEM: Component çakışması
*/

/* ==================== GLOBAL VARIABLES - PATİKA KURUMSAL RENKLER ==================== */
:root {
 /* PATİKA ANA RENKLER - MIUP KURUMSAL STANDART (docs/static/css/miup-mobile.css) */
 --patika-primary: #6C7B95;
 --patika-secondary: #5A6B7D;
 --patika-accent: #6C7B95;
 --patika-success: #7BA05B;
 --patika-warning: #D4A574;
 --patika-danger: #C17B7B;
 --patika-info: #7BA7BC;
 --patika-light: #f8f9fa;
 --patika-dark: #2c3e50;

 /* MIUP EK DEĞİŞKENLER */
 --patika-navbar: #2c3e50;
 --patika-sidebar: #34495e;
 --patika-text: #2C3E50;
 --patika-border: #dee2e6;
 --patika-bg: #f8f9fa;

 /* ==================== HAMBURGER MENU FIXES ==================== */
 .navbar-toggler {
 width: 40px !important;
 height: 40px !important;
 padding: 8px !important;
 border: 1px solid rgba(255, 255, 255, 0.5) !important;
 border-radius: 6px !important;
 background: rgba(255, 255, 255, 0.1) !important;
 position: relative !important;
 z-index: 1060 !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 margin-left: 0 !important;
 }

 .navbar-toggler:hover {
 background: rgba(255, 255, 255, 0.2) !important;
 }

 .navbar-toggler-icon {
 width: 18px !important;
 height: 18px !important;
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
 }

 /* ==================== MOBILE CONTAINER FIXES ==================== */
 .container-fluid {
 width: 100vw !important;
 max-width: 100vw !important;
 padding: 0 12px !important;
 margin: 0 !important;
 overflow-x: hidden !important;
 }

 .mobile-container {
 width: 100% !important;
 max-width: 100% !important;
 padding: 0 !important;
 margin: 0 !important;
 overflow-x: hidden !important;
 background: #f8f9fa !important;
 }

 /* ==================== CARD SYSTEM FIXES ==================== */
 .card {
 width: 100% !important;
 max-width: 100% !important;
 margin: 0 0 12px 0 !important;
 border: none !important;
 border-radius: 12px !important;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
 overflow: hidden !important;
 background: white !important;
 }

 /* PATİKA BORDER & SHADOW */
 --patika-border: #dee2e6;
 --patika-border-radius: 12px;
 --patika-border-radius-small: 8px;
 --patika-border-radius-large: 16px;
 --patika-shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.08);
 --patika-shadow-medium: 0 4px 15px rgba(0, 0, 0, 0.1);
 --patika-shadow-strong: 0 6px 20px rgba(0, 0, 0, 0.15);

 /* PATİKA SPACING */
 --patika-spacing-xs: 4px;
 --patika-spacing-sm: 8px;
 --patika-spacing-md: 12px;
 --patika-spacing-lg: 16px;
 --patika-spacing-xl: 24px;

 /* PATİKA TYPOGRAPHY */
 --patika-font-size-xs: 12px;
 --patika-font-size-sm: 14px;
 --patika-font-size-md: 16px;
 --patika-font-size-lg: 18px;
 --patika-font-size-xl: 20px;
}

/* ==================== MOBILE FONT SIZE ENHANCEMENT - 20% LARGER ==================== */
/* CRITERIA TEXT 20% BÜYÜTME - KULLANICI TALEBİ */
.criteria-text {
 font-size: 1.2em !important;
 /* 20% büyük */
 font-weight: 500 !important;
 line-height: 1.4 !important;
 color: #343a40 !important;
 text-align: center !important;
 word-wrap: break-word !important;
 min-height: 2.5em !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
}

@media (max-width: 768px) {
 .criteria-text {
 font-size: 1.3em !important;
 /* Mobile'da daha da büyük */
 line-height: 1.3 !important;
 padding: 8px !important;
 }

 /* TABLE TEXT ENHANCEMENT - MOBILE */
 .table td,
 .table th {
 font-size: 1.1em !important;
 /* 10% büyük */
 padding: 12px 8px !important;
 /* Daha geniş padding */
 }

 .form-check-label,
 .form-label {
 font-size: 1.15em !important;
 /* 15% büyük */
 font-weight: 500 !important;
 }

 /* DECISION TITLES AND CONTENT */
 .card-header h5,
 .card-header h6 {
 font-size: 1.2em !important;
 /* 20% büyük */
 font-weight: 600 !important;
 }

 .card-body {
 font-size: 1.05em !important;
 /* 5% büyük */
 line-height: 1.5 !important;
 }

 /* BUTTON TEXT ENHANCEMENT */
 .btn {
 font-size: 1.1em !important;
 /* 10% büyük */
 padding: 10px 16px !important;
 }

 .btn-sm {
 font-size: 1.05em !important;
 /* 5% büyük */
 padding: 8px 12px !important;
 }
}

/* ==================== MOBILE TABLE OVERFLOW FIX ==================== */
.table-responsive {
 overflow-x: auto !important;
 -webkit-overflow-scrolling: touch !important;
 border-radius: 8px !important;
 border: 1px solid #dee2e6 !important;
 max-width: 100% !important;
}

.table-responsive .table {
 margin-bottom: 0 !important;
 min-width: 700px !important;
 /* Minimum genişlik garanti */
 white-space: nowrap !important;
}

.table-responsive .table th,
.table-responsive .table td {
 white-space: nowrap !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 max-width: 150px !important;
}

/* MOBILE VIEWPORT OPTIMIZATION */
@media (max-width: 576px) {
 .table-responsive .table {
 min-width: 600px !important;
 }

 .table-responsive .table th,
 .table-responsive .table td {
 max-width: 120px !important;
 font-size: 0.95em !important;
 padding: 8px 6px !important;
 }
}

/* ==================== MOBILE FONT SIZE ENHANCEMENT - 20% LARGER ==================== */
/* CRITERIA TEXT 20% BÜYÜTME - KULLANICI TALEBİ */
.criteria-text {
 font-size: 1.2em !important;
 /* 20% büyük */
 font-weight: 500 !important;
 line-height: 1.4 !important;
 color: #343a40 !important;
 text-align: center !important;
 word-wrap: break-word !important;
 min-height: 2.5em !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
}

@media (max-width: 768px) {
 .criteria-text {
 font-size: 1.3em !important;
 /* Mobile'da daha da büyük */
 line-height: 1.3 !important;
 padding: 8px !important;
 }

 /* TABLE TEXT ENHANCEMENT - MOBILE */
 .table td,
 .table th {
 font-size: 1.1em !important;
 /* 10% büyük */
 padding: 12px 8px !important;
 /* Daha geniş padding */
 }

 .form-check-label,
 .form-label {
 font-size: 1.15em !important;
 /* 15% büyük */
 font-weight: 500 !important;
 }

 /* DECISION TITLES AND CONTENT */
 .card-header h5,
 .card-header h6 {
 font-size: 1.2em !important;
 /* 20% büyük */
 font-weight: 600 !important;
 }

 .card-body {
 font-size: 1.05em !important;
 /* 5% büyük */
 line-height: 1.5 !important;
 }

 /* BUTTON TEXT ENHANCEMENT */
 .btn {
 font-size: 1.1em !important;
 /* 10% büyük */
 padding: 10px 16px !important;
 }

 .btn-sm {
 font-size: 1.05em !important;
 /* 5% büyük */
 padding: 8px 12px !important;
 }
}

/* ==================== MOBILE TABLE OVERFLOW FIX ==================== */
.table-responsive {
 overflow-x: auto !important;
 -webkit-overflow-scrolling: touch !important;
 border-radius: 8px !important;
 border: 1px solid #dee2e6 !important;
 max-width: 100% !important;
}

.table-responsive .table {
 margin-bottom: 0 !important;
 min-width: 700px !important;
 /* Minimum genişlik garanti */
 white-space: nowrap !important;
}

.table-responsive .table th,
.table-responsive .table td {
 white-space: nowrap !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 max-width: 150px !important;
}

/* MOBILE VIEWPORT OPTIMIZATION */
@media (max-width: 576px) {
 .table-responsive .table {
 min-width: 600px !important;
 }

 .table-responsive .table th,
 .table-responsive .table td {
 max-width: 120px !important;
 font-size: 0.95em !important;
 padding: 8px 6px !important;
 }
}

/* ==================== CRITICAL MOBILE LAYOUT FIX - HAMBURGER MENU AND RIGHT BLOCK ==================== */

/* MOBILE HAMBURGER MENU - GUARANTEED WORKING */
.navbar-toggler {
 position: relative !important;
 z-index: 10000 !important;
 background: transparent !important;
 border: 1px solid rgba(255, 255, 255, 0.3) !important;
 border-radius: 4px !important;
 padding: 6px 8px !important;
 pointer-events: auto !important;
 touch-action: manipulation !important;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1) !important;
}

.navbar-toggler:focus {
 box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25) !important;
 outline: none !important;
}

.navbar-toggler:hover {
 background: rgba(255, 255, 255, 0.1) !important;
}

.navbar-toggler-icon {
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
 width: 20px !important;
 height: 20px !important;
 pointer-events: none !important;
}

/* SPECIFIC HAMBURGER MENU BUTTON FIXES */
#mobileMenuToggle {
 cursor: pointer !important;
 min-width: 48px !important;
 min-height: 48px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 visibility: visible !important;
 opacity: 1 !important;
 z-index: 10001 !important;
}

#mobileMenuToggle * {
 pointer-events: none !important;
}

/* PREVENT CLICK INTERCEPTION FROM ALL NAVBAR TOGGLER CHILDREN */
.navbar-toggler * {
 pointer-events: none !important;
}

/* MOBILE OFFCANVAS - GUARANTEED WORKING */
.offcanvas {
 z-index: 9999 !important;
 position: fixed !important;
 top: 0 !important;
 left: 0 !important;
 width: 280px !important;
 height: 100vh !important;
 background: white !important;
 border-right: 1px solid #dee2e6 !important;
 box-shadow: 0 0 20px rgba(0, 0, 0, 0.1) !important;
}

.offcanvas-header {
 padding: 1rem !important;
 border-bottom: 1px solid #dee2e6 !important;
}

.offcanvas-title {
 font-size: 1.1rem !important;
 font-weight: 600 !important;
 margin: 0 !important;
}

.btn-close {
 position: relative !important;
 z-index: 10001 !important;
 pointer-events: auto !important;
 touch-action: manipulation !important;
 background: transparent !important;
 border: none !important;
 padding: 8px !important;
 margin: 0 !important;
}

.btn-close:hover {
 background: rgba(255, 255, 255, 0.1) !important;
 border-radius: 4px !important;
}

/* MOBILE OFFCANVAS BACKDROP */
.offcanvas-backdrop {
 z-index: 9998 !important;
 background: rgba(0, 0, 0, 0.5) !important;
 position: fixed !important;
 top: 0 !important;
 left: 0 !important;
 width: 100vw !important;
 height: 100vh !important;
 pointer-events: auto !important;
 touch-action: manipulation !important;
}

/* MOBILE MENU ITEMS */
.list-group-item {
 border: none !important;
 border-bottom: 1px solid #f8f9fa !important;
 padding: 12px 16px !important;
 color: #333 !important;
 text-decoration: none !important;
 transition: all 0.2s ease !important;
}

.list-group-item:hover {
 background: #f8f9fa !important;
 color: #0d6efd !important;
 transform: translateX(4px) !important;
}

.list-group-item:active {
 background: #e9ecef !important;
 color: #0d6efd !important;
}

.list-group-item i {
 width: 20px !important;
 text-align: center !important;
 color: #6c757d !important;
}

.list-group-item:hover i {
 color: #0d6efd !important;
}

.list-group-item.text-danger {
 color: #dc3545 !important;
}

.list-group-item.text-danger:hover {
 background: #f8d7da !important;
 color: #721c24 !important;
}

/* MOBILE MENU SECTION HEADERS */
.text-muted {
 font-size: 0.85rem !important;
 font-weight: 600 !important;
 text-transform: uppercase !important;
 letter-spacing: 0.5px !important;
}

/* MOBILE NAVBAR FIXES */
.navbar {
 position: sticky !important;
 top: 0 !important;
 z-index: 1000 !important;
 background: linear-gradient(180deg, #2c3e50 0%, #34495e 100%) !important;
 border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.navbar-brand {
 font-size: 1.2rem !important;
 font-weight: 700 !important;
 color: white !important;
 text-decoration: none !important;
}

.navbar-brand:hover {
 color: rgba(255, 255, 255, 0.9) !important;
}

/* MOBILE CONTAINER FIXES */
.container-fluid {
 padding: 0.5rem 1rem !important;
}

/* MOBILE RESPONSIVE FIXES */
@media (max-width: 768px) {
 .navbar-toggler {
 display: block !important;
 visibility: visible !important;
 opacity: 1 !important;
 }

 .offcanvas {
 width: 85vw !important;
 max-width: 320px !important;
 }
}

/* MOBILE TOUCH OPTIMIZATIONS */
@media (hover: none) and (pointer: coarse) {
 .navbar-toggler {
 min-width: 44px !important;
 min-height: 44px !important;
 }

 .btn-close {
 min-width: 44px !important;
 min-height: 44px !important;
 }

 .list-group-item {
 min-height: 48px !important;
 display: flex !important;
 align-items: center !important;
 }
}

/* ==================== MOBILE USER TEMPLATE ENHANCEMENTS ==================== */

/* MOBILE BODY ENHANCEMENTS */
.mobile-body {
 font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
 line-height: 1.5;
 background: var(--patika-light);
 overflow-x: hidden !important;
 width: 100% !important;
 max-width: 100vw !important;
 margin: 0 !important;
 padding: 0 !important;
}

/* MOBILE MAIN CONTENT */
.mobile-main-content {
 width: 100% !important;
 max-width: 100vw !important;
 overflow-x: hidden !important;
 padding: 0 !important;
 margin: 0 !important;
 box-sizing: border-box !important;
}

/* MOBILE HEADER FIX */
.mobile-header {
 width: 100% !important;
 max-width: 100vw !important;
 margin: 0 !important;
 padding: 15px !important;
 box-sizing: border-box !important;
 overflow-x: hidden !important;
}

/* MOBILE CARDS FIX */
.mobile-container .card {
 width: 100% !important;
 max-width: calc(100vw - 30px) !important;
 margin: 0 15px 15px 15px !important;
 box-sizing: border-box !important;
 overflow-x: hidden !important;
}

/* MOBILE FORM SECTIONS FIX */
.mobile-form-section {
 width: 100% !important;
 max-width: 100vw !important;
 margin: 0 !important;
 padding: 0 15px !important;
 box-sizing: border-box !important;
 overflow-x: hidden !important;
}

/* MOBILE AHP SECTION FIX */
.mobile-ahp-section {
 width: 100% !important;
 max-width: 100vw !important;
 margin: 0 !important;
 padding: 0 15px !important;
 box-sizing: border-box !important;
 overflow-x: hidden !important;
}

/* MOBILE COMPARISON ROWS FIX */
.patika-comparison-row {
 width: 100% !important;
 max-width: 100% !important;
 margin: 0 0 15px 0 !important;
 padding: 0 !important;
 box-sizing: border-box !important;
 overflow-x: hidden !important;
}

/* MOBILE COMPARISON ROW COLUMNS FIX */
.patika-comparison-row .col-5 {
 width: 40% !important;
 max-width: 40% !important;
 flex: none !important;
 padding: 0 5px !important;
 box-sizing: border-box !important;
}

.patika-comparison-row .col-2 {
 width: 20% !important;
 max-width: 20% !important;
 flex: none !important;
 padding: 0 5px !important;
 box-sizing: border-box !important;
 text-align: center !important;
}

/* MOBILE CRITERIA BOX FIX */
.patika-criteria-box {
 width: 100% !important;
 max-width: 100% !important;
 margin: 0 !important;
 padding: 8px !important;
 box-sizing: border-box !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: nowrap !important;
}

/* MOBILE AHP CONTROLS FIX */
.patika-ahp-controls {
 width: 100% !important;
 max-width: 100% !important;
 display: flex !important;
 justify-content: center !important;
 align-items: center !important;
 gap: 5px !important;
 padding: 0 !important;
 margin: 0 !important;
 box-sizing: border-box !important;
}

/* MOBILE PROFILE STYLES */
.mobile-profile-avatar {
 width: 80px;
 height: 80px;
 border-radius: 50%;
 background: linear-gradient(135deg, var(--patika-accent), var(--patika-primary));
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto var(--patika-spacing-lg);
 color: white;
 font-size: 2rem;
 box-shadow: var(--patika-shadow-medium);
}

/* MOBILE STATS CARDS */
.mobile-stat-card {
 background: white;
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-md);
 text-align: center;
 box-shadow: var(--patika-shadow-soft);
 transition: all 0.3s ease;
 border: none;
 overflow: hidden;
}

.mobile-stat-card:hover {
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-medium);
}

.mobile-stat-icon {
 width: 48px;
 height: 48px;
 border-radius: 12px;
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto var(--patika-spacing-sm);
 color: white;
 font-size: 1.5rem;
}

/* MOBILE QUICK ACTIONS */
.mobile-quick-action {
 background: white;
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-lg);
 text-align: center;
 text-decoration: none;
 color: var(--patika-primary);
 display: block;
 transition: all 0.3s ease;
 box-shadow: var(--patika-shadow-soft);
}

.mobile-quick-action:hover {
 border-color: var(--patika-accent);
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-medium);
 color: var(--patika-accent);
 text-decoration: none;
}

.mobile-quick-action i {
 font-size: 1.5rem;
 margin-bottom: var(--patika-spacing-sm);
 display: block;
}

/* MOBILE LIST ENHANCEMENTS */
.mobile-list-item {
 background: white;
 border-radius: var(--patika-border-radius);
 margin-bottom: var(--patika-spacing-sm);
 padding: var(--patika-spacing-lg);
 box-shadow: var(--patika-shadow-soft);
 transition: all 0.3s ease;
 border: none;
 overflow: hidden;
}

.mobile-list-item:hover {
 transform: translateY(-1px);
 box-shadow: var(--patika-shadow-medium);
}

.mobile-list-avatar {
 width: 40px;
 height: 40px;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 color: white;
 font-weight: 600;
 flex-shrink: 0;
}

/* MOBILE PROGRESS BARS */
.mobile-progress {
 height: 6px;
 border-radius: 3px;
 background: var(--patika-border);
 overflow: hidden;
}

.mobile-progress-bar {
 height: 100%;
 border-radius: 3px;
 transition: width 0.6s ease;
}

/* MOBILE FORM ENHANCEMENTS */
.mobile-form-group {
 margin-bottom: var(--patika-spacing-lg);
}

.mobile-form-label {
 font-weight: 600;
 color: var(--patika-primary);
 margin-bottom: var(--patika-spacing-sm);
 display: block;
 font-size: var(--patika-font-size-sm);
}

.mobile-form-control {
 width: 100%;
 padding: var(--patika-spacing-md);
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 font-size: var(--patika-font-size-md);
 background: white;
 transition: all 0.3s ease;
 box-sizing: border-box;
}

.mobile-form-control:focus {
 border-color: var(--patika-accent);
 box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.15);
 outline: none;
}

/* MOBILE FAB (Floating Action Button) */
.mobile-fab {
 position: fixed;
 bottom: 20px;
 right: 20px;
 width: 56px;
 height: 56px;
 border-radius: 50%;
 background: var(--patika-accent);
 color: white;
 border: none;
 box-shadow: var(--patika-shadow-strong);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.5rem;
 z-index: 1000;
 transition: all 0.3s ease;
 text-decoration: none;
}

.mobile-fab:hover {
 transform: scale(1.1);
 background: var(--patika-primary);
 color: white;
 text-decoration: none;
}

/* MOBILE VIEWPORT FIXES */
@media screen and (max-width: 767px) {
 .mobile-container {
 padding: 10px;
 }

 .mobile-header {
 margin: -10px -10px 10px -10px;
 }

 .mobile-form-control {
 font-size: 16px;
 /* Prevent zoom on iOS */
 }
}

@media screen and (max-width: 480px) {
 .mobile-container {
 padding: 8px;
 }

 .mobile-header {
 margin: -8px -8px 8px -8px;
 }

 .card-body {
 padding: var(--patika-spacing-md);
 }
}

/* ==================== MOBILE TEMPLATE OVERRIDE FIXES ==================== */
.mobile-container .card {
 overflow: visible;
 /* Allow card content to be visible */
}

.mobile-container .list-group-item {
 border: none;
 background: transparent;
 padding: var(--patika-spacing-sm) 0;
}

.mobile-container .badge {
 font-size: 0.75rem;
 padding: 0.25rem 0.5rem;
}

.mobile-container .btn-sm {
 padding: 0.375rem 0.75rem;
 font-size: 0.875rem;
}

/* MOBILE HEADER - TÜM SAYFALARDA AYNI */
.mobile-header {
 background: linear-gradient(135deg, var(--patika-primary) 0%, var(--patika-secondary) 100%);
 margin: -15px -15px 15px -15px;
 border-radius: 0 0 20px 20px;
 box-shadow: var(--patika-shadow-medium);
 border: none;
 position: relative;
 z-index: 10;
}

/* MOBILE NAVIGATION ENHANCEMENTS */
.mobile-nav-item {
 border-radius: var(--patika-border-radius);
 margin-bottom: var(--patika-spacing-xs);
 transition: all 0.3s ease;
 overflow: hidden;
}

.mobile-nav-item:hover {
 background: var(--patika-pastel-blue);
 transform: translateX(5px);
}

/* MOBILE BADGE SYSTEM */
.mobile-badge {
 padding: 4px 8px;
 border-radius: var(--patika-border-radius-small);
 font-size: var(--patika-font-size-xs);
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.5px;
}

/* MOBILE ALERT SYSTEM */
.mobile-alert {
 padding: var(--patika-spacing-md);
 border-radius: var(--patika-border-radius);
 margin-bottom: var(--patika-spacing-lg);
 border-left: 4px solid;
 background: white;
 box-shadow: var(--patika-shadow-soft);
}

.mobile-alert-success {
 border-left-color: var(--patika-success);
 background: var(--patika-pastel-green);
}

.mobile-alert-warning {
 border-left-color: var(--patika-warning);
 background: var(--patika-pastel-orange);
}

.mobile-alert-danger {
 border-left-color: var(--patika-danger);
 background: var(--patika-pastel-pink);
}

.mobile-alert-info {
 border-left-color: var(--patika-info);
 background: var(--patika-pastel-blue);
}

/* MOBILE TIMELINE STYLES */
.mobile-timeline-item {
 position: relative;
 padding-left: 50px;
 margin-bottom: var(--patika-spacing-lg);
}

.mobile-timeline-icon {
 position: absolute;
 left: 0;
 top: 0;
 width: 40px;
 height: 40px;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 color: white;
 font-size: 1rem;
}

.mobile-timeline-content {
 background: white;
 padding: var(--patika-spacing-lg);
 border-radius: var(--patika-border-radius);
 box-shadow: var(--patika-shadow-soft);
}

/* MOBILE SAFE AREAS */
@supports (padding: max(0px)) {
 .mobile-container {
 padding-left: max(15px, env(safe-area-inset-left));
 padding-right: max(15px, env(safe-area-inset-right));
 padding-bottom: max(15px, env(safe-area-inset-bottom));
 }

 .mobile-fab {
 bottom: max(20px, env(safe-area-inset-bottom));
 right: max(20px, env(safe-area-inset-right));
 }
}

/* ==================== CARD SYSTEM - TÜM SAYFALARDA AYNI ==================== */
.card {
 border: none;
 border-radius: var(--patika-border-radius-large);
 box-shadow: var(--patika-shadow-soft);
 background: white;
 overflow: hidden;
 /* FIX: Prevent content overflow */
}

.card-header {
 background: var(--patika-pastel-blue) !important;
 color: var(--patika-primary) !important;
 border-radius: var(--patika-border-radius-large) var(--patika-border-radius-large) 0 0 !important;
 border: none;
 padding: var(--patika-spacing-md);
}

.card-body {
 padding: var(--patika-spacing-lg);
 overflow-x: hidden;
 /* FIX: Prevent horizontal overflow */
}

/* ==================== FORM INPUTS - TÜM SAYFALARDA AYNI ==================== */
.mobile-input,
.patika-input {
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 font-size: var(--patika-font-size-md);
 transition: all 0.3s ease;
 background: white;
 padding: var(--patika-spacing-md);
 width: 100%;
 box-sizing: border-box;
}

.mobile-input:focus,
.patika-input:focus {
 border-color: var(--patika-accent);
 box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.15);
 background: white;
 outline: none;
}

/* ==================== PATİKA AHP COMPARISON SYSTEM - 2 SATIRLIK SADE KOMPONENT ==================== */
.patika-comparison-row {
 padding: var(--patika-spacing-md) 0;
 border-bottom: 1px solid var(--patika-border);
 margin-bottom: var(--patika-spacing-sm);
 overflow: hidden;
 /* FIX: Prevent overflow */
}

.patika-comparison-row:last-child {
 border-bottom: none;
}

/* PATİKA Criteria Box - 2 Satırlık Tam Okunabilir */
.patika-criteria-box {
 background: var(--patika-pastel-blue);
 border: 2px solid var(--patika-accent);
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-md);
 min-height: 65px;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: all 0.3s ease;
 text-align: center;
 overflow: hidden;
 /* FIX: Prevent overflow */
 word-wrap: break-word;
}

.patika-criteria-box.left-criteria {
 background: var(--patika-pastel-blue);
 border-color: var(--patika-accent);
}

.patika-criteria-box.right-criteria {
 background: var(--patika-pastel-green);
 border-color: var(--patika-success);
}

.patika-criteria-box.sub-criteria {
 background: var(--patika-pastel-orange);
 border-color: var(--patika-warning);
 min-height: 55px;
}

.patika-criteria-box:hover {
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-medium);
}

/* PATİKA Criteria Text - 2 Satır Max, Tam Okunabilir */
.criteria-text {
 font-weight: 600;
 color: var(--patika-primary);
 font-size: var(--patika-font-size-sm);
 line-height: 1.3;
 /* 2 satır maximum */
 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 overflow: hidden;
 text-overflow: ellipsis;
 max-height: 2.6em;
 /* 2 satır için */
 word-wrap: break-word;
 hyphens: auto;
 width: 100%;
}

/* ==================== PATİKA AHP CONTROLS - TÜM SAYFALARDA AYNI ==================== */
.patika-ahp-selector {
 position: relative;
 width: 100%;
 overflow: hidden;
 /* FIX: Prevent control overflow */
}

.patika-ahp-controls {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: var(--patika-spacing-sm);
 background: white;
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-sm);
 box-shadow: var(--patika-shadow-soft);
 width: 100%;
 box-sizing: border-box;
 min-width: 120px;
 /* FIX: Ensure minimum width */
}

/* ==================== AHP BUTTON FIXES ==================== */
.patika-btn-decrease,
.patika-btn-increase {
 width: 28px !important;
 height: 28px !important;
 padding: 0 !important;
 border: 1px solid #0d6efd !important;
 border-radius: 6px !important;
 background: white !important;
 color: #0d6efd !important;
 font-size: 12px !important;
 font-weight: bold !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 cursor: pointer !important;
 transition: all 0.2s ease !important;
 touch-action: manipulation !important;
 user-select: none !important;
 z-index: 1000 !important;
}

.patika-btn-decrease:hover,
.patika-btn-increase:hover {
 background: var(--patika-accent) !important;
 color: white !important;
 transform: scale(1.05) !important;
 box-shadow: 0 6px 12px rgba(0, 123, 255, 0.4) !important;
 z-index: 10000 !important;
}

.patika-btn-decrease:active,
.patika-btn-increase:active {
 transform: scale(0.95) !important;
 z-index: 10001 !important;
}

.patika-btn-decrease.btn-outline-success,
.patika-btn-increase.btn-outline-success {
 border-color: var(--patika-success) !important;
 color: var(--patika-success) !important;
 z-index: 9999 !important;
}

.patika-btn-decrease.btn-outline-success:hover,
.patika-btn-increase.btn-outline-success:hover {
 background: var(--patika-success) !important;
 color: white !important;
 z-index: 10000 !important;
}

.patika-ahp-value {
 width: 50px !important;
 height: 32px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 background: var(--patika-light) !important;
 border: 2px solid var(--patika-border) !important;
 border-radius: 6px !important;
 font-weight: bold !important;
 font-size: 14px !important;
 color: var(--patika-dark) !important;
 margin: 0 4px !important;
 text-align: center !important;
 position: relative !important;
 z-index: 9998 !important;
 pointer-events: none !important;
 user-select: none !important;
 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Dynamic value styling based on data-current */
.patika-ahp-value[data-current="9"],
.patika-ahp-value[data-current="7"],
.patika-ahp-value[data-current="5"],
.patika-ahp-value[data-current="3"] {
 background: #007bff !important;
 border-color: #007bff !important;
 color: white !important;
}

.patika-ahp-value[data-current="0.33"],
.patika-ahp-value[data-current="0.2"],
.patika-ahp-value[data-current="0.14"],
.patika-ahp-value[data-current="0.11"] {
 background: #17a2b8 !important;
 border-color: #17a2b8 !important;
 color: white !important;
}

.patika-ahp-value[data-current="1"] {
 background: #6c757d !important;
 border-color: #6c757d !important;
 color: white !important;
}

/* ==================== PATİKA BUTTON SYSTEM - TÜM SAYFALARDA AYNI ==================== */
.patika-btn-primary {
 background: linear-gradient(135deg, var(--patika-accent) 0%, var(--patika-success) 100%);
 border: none;
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-lg);
 font-weight: 600;
 color: white;
 box-shadow: var(--patika-shadow-medium);
 transition: all 0.3s ease;
 width: 100%;
 box-sizing: border-box;
}

.patika-btn-primary:hover {
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-strong);
 color: white;
}

.patika-btn-action {
 width: 40px;
 height: 40px;
 border-radius: var(--patika-border-radius-small);
 display: flex;
 align-items: center;
 justify-content: center;
 transition: all 0.3s ease;
}

.patika-btn-action:hover {
 transform: scale(1.05);
}

/* ==================== PATİKA DECISION CARDS - decisions.html ==================== */
.patika-decision-card {
 background: white;
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-lg);
 box-shadow: var(--patika-shadow-soft);
 transition: all 0.3s ease;
 display: flex;
 justify-content: space-between;
 align-items: center;
 overflow: hidden;
 /* FIX: Prevent card overflow */
 width: 100%;
 box-sizing: border-box;
}

.patika-decision-card:hover {
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-medium);
}

.patika-decision-info {
 flex: 1;
 overflow: hidden;
 /* FIX: Prevent info overflow */
 word-wrap: break-word;
}

.patika-decision-header {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: var(--patika-spacing-sm);
}

.patika-decision-title {
 color: var(--patika-primary);
 font-weight: 600;
 margin: 0;
 font-size: var(--patika-font-size-md);
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
}

.patika-decision-status {
 padding: var(--patika-spacing-xs) var(--patika-spacing-sm);
 border-radius: var(--patika-border-radius-small);
 font-size: var(--patika-font-size-xs);
 font-weight: 600;
 white-space: nowrap;
 flex-shrink: 0;
}

.patika-decision-status.status-active {
 background: var(--patika-pastel-green);
 color: var(--patika-success);
 border: 1px solid var(--patika-success);
}

.patika-decision-status.status-inactive {
 background: var(--patika-pastel-pink);
 color: var(--patika-danger);
 border: 1px solid var(--patika-danger);
}

.patika-decision-meta {
 font-size: var(--patika-font-size-xs);
 color: var(--patika-secondary);
}

.patika-decision-actions {
 display: flex;
 gap: var(--patika-spacing-sm);
 margin-left: var(--patika-spacing-md);
 flex-shrink: 0;
 /* FIX: Prevent action shrinking */
}

/* ==================== PATİKA CHARTS SYSTEM - decisions_charts.html ==================== */
.patika-charts-grid {
 padding: var(--patika-spacing-md);
 overflow: hidden;
 /* FIX: Prevent chart overflow */
}

.patika-chart-card {
 background: white;
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 box-shadow: var(--patika-shadow-soft);
 overflow: hidden;
 transition: all 0.3s ease;
 width: 100%;
 box-sizing: border-box;
}

.patika-chart-card:hover {
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-medium);
}

.patika-chart-header {
 background: var(--patika-pastel-blue);
 color: var(--patika-primary);
 padding: var(--patika-spacing-md);
 border-bottom: 2px solid var(--patika-border);
}

.patika-chart-container {
 padding: var(--patika-spacing-lg);
 background: white;
 min-height: 250px;
 display: flex;
 align-items: center;
 justify-content: center;
 overflow: hidden;
 /* FIX: Prevent chart container overflow */
}

/* ==================== PATİKA SUGGESTIONS SYSTEM - alternative_suggestions.html ==================== */
.patika-suggestions-section {
 padding: var(--patika-spacing-md);
 overflow: hidden;
 /* FIX: Prevent suggestions overflow */
}

.patika-suggestion-card {
 background: var(--patika-pastel-blue);
 border: 2px solid var(--patika-accent);
 border-radius: var(--patika-border-radius);
 padding: var(--patika-spacing-lg);
 transition: all 0.3s ease;
 overflow: hidden;
 /* FIX: Prevent suggestion card overflow */
 width: 100%;
 box-sizing: border-box;
}

.patika-suggestion-card:hover {
 transform: translateY(-2px);
 box-shadow: var(--patika-shadow-medium);
}

.patika-suggestion-header {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: var(--patika-spacing-sm);
}

.patika-suggestion-title {
 color: var(--patika-primary);
 font-weight: 600;
 margin: 0;
 font-size: var(--patika-font-size-md);
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
 flex: 1;
}

.patika-suggestion-score {
 background: var(--patika-success);
 color: white;
 padding: var(--patika-spacing-xs) var(--patika-spacing-sm);
 border-radius: var(--patika-border-radius-small);
 font-weight: 600;
 font-size: var(--patika-font-size-sm);
 white-space: nowrap;
 flex-shrink: 0;
}

.patika-keywords {
 display: flex;
 flex-wrap: wrap;
 gap: var(--patika-spacing-xs);
 margin-top: var(--patika-spacing-sm);
}

.patika-keyword-tag {
 background: var(--patika-pastel-orange);
 color: var(--patika-warning);
 padding: var(--patika-spacing-xs) var(--patika-spacing-sm);
 border-radius: var(--patika-border-radius-small);
 font-size: var(--patika-font-size-xs);
 font-weight: 500;
 border: 1px solid var(--patika-warning);
 white-space: nowrap;
}

/* ==================== PATİKA WEIGHTS TABLE - decisions_global_weights.html ==================== */
.patika-weights-table {
 background: white;
 border: 2px solid var(--patika-border);
 border-radius: var(--patika-border-radius);
 overflow: hidden;
 box-shadow: var(--patika-shadow-soft);
 width: 100%;
 margin-bottom: var(--patika-spacing-lg);
}

.patika-weights-table .table {
 margin: 0;
 border: none;
 width: 100%;
}

.patika-weights-table .table th {
 background: var(--patika-pastel-blue);
 color: var(--patika-primary);
 border: none;
 padding: var(--patika-spacing-md);
 font-weight: 600;
 position: sticky;
 top: 0;
 z-index: 5;
}

.patika-weights-table .table td {
 padding: var(--patika-spacing-sm);
 border-bottom: 1px solid var(--patika-border);
 vertical-align: middle;
}

.patika-weights-table .table tbody tr:hover {
 background-color: var(--patika-pastel-green);
 transition: background-color 0.2s ease;
}

/* ==================== PATİKA SUB SECTIONS - TÜM SAYFALARDA AYNI ==================== */
.patika-sub-section {
 margin-top: var(--patika-spacing-xl);
 border-top: 2px solid var(--patika-border);
 padding-top: var(--patika-spacing-lg);
}

.patika-section-title {
 background: var(--patika-pastel-orange);
 color: var(--patika-primary);
 padding: var(--patika-spacing-sm) var(--patika-spacing-md);
 border-radius: var(--patika-border-radius-small);
 border: 2px solid var(--patika-warning);
 margin-bottom: var(--patika-spacing-lg);
 display: flex;
 align-items: center;
 gap: var(--patika-spacing-sm);
}

/* ==================== PATİKA SUBMIT SECTIONS - TÜM SAYFALARDA AYNI ==================== */
.mobile-submit-section {
 position: fixed !important;
 bottom: 0 !important;
 left: 0 !important;
 right: 0 !important;
 background: white !important;
 padding: 12px !important;
 border-top: 2px solid var(--patika-border) !important;
 box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1) !important;
 z-index: 1000 !important;
}

.mobile-submit-section .row {
 margin-left: 0 !important;
 margin-right: 0 !important;
}

.mobile-submit-section .col-6,
.mobile-submit-section .col-12 {
 padding-left: 4px !important;
 padding-right: 4px !important;
}

/* ==================== ENHANCED MOBILE RESPONSIVE TABLES ==================== */
.table-responsive {
 max-width: 100vw;
 /* CRITICAL: Prevent viewport overflow */
 width: 100%;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
 /* CRITICAL: Container constraints */
 position: relative;
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 border-radius: 8px;
 border: 1px solid #e0e0e0;
 background: white;
 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* CRITICAL: Table scroll indicators for mobile */
.table-responsive::before {
 content: "← Kaydırın →";
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 background: rgba(0, 0, 0, 0.7);
 color: white;
 padding: 4px 8px;
 border-radius: 4px;
 font-size: 10px;
 z-index: 10;
 pointer-events: none;
 opacity: 0;
 transition: opacity 0.3s;
}

.table-responsive:hover::before {
 opacity: 1;
}

/* ==================== RESPONSIVE BREAKPOINTS - ENHANCED ==================== */
@media (max-width: 576px) {
 .mobile-container {
 padding: 0 8px !important;
 }

 .patika-criteria-box {
 min-height: 45px !important;
 padding: 8px 4px !important;
 }

 .criteria-text {
 font-size: 11px !important;
 line-height: 1.2 !important;
 word-break: break-word !important;
 }

 .patika-ahp-controls {
 gap: 2px !important;
 padding: 4px !important;
 min-width: 80px !important;
 }

 .patika-btn-decrease,
 .patika-btn-increase {
 width: 24px !important;
 height: 24px !important;
 font-size: 10px !important;
 }

 .patika-ahp-value {
 min-width: 32px !important;
 font-size: 10px !important;
 padding: 4px !important;
 }

 .table-responsive {
 font-size: 10px !important;
 border-radius: 8px !important;
 }

 .table-responsive .table {
 min-width: 280px !important;
 }

 .table-responsive .table th,
 .table-responsive .table td {
 padding: 4px 6px !important;
 font-size: 10px !important;
 max-width: 80px !important;
 }

 .table-responsive::after {
 content: "← Kaydırın →" !important;
 position: absolute !important;
 bottom: -25px !important;
 left: 50% !important;
 transform: translateX(-50%) !important;
 font-size: 10px !important;
 color: var(--patika-text-muted) !important;
 background: none !important;
 width: auto !important;
 height: auto !important;
 border-radius: 0 !important;
 opacity: 1 !important;
 }
}

/* FIX: Ultra-small screens */
@media (max-width: 360px) {
 .mobile-container {
 padding: 0 8px !important;
 }

 .row>* {
 padding-left: 4px !important;
 padding-right: 4px !important;
 }

 .patika-criteria-box {
 min-height: 45px !important;
 padding: 6px !important;
 }

 .criteria-text {
 font-size: 10px !important;
 }

 .patika-ahp-controls {
 min-width: 70px !important;
 gap: 2px !important;
 }

 .patika-btn-decrease,
 .patika-btn-increase {
 width: 20px !important;
 height: 20px !important;
 font-size: 9px !important;
 }

 .patika-ahp-value {
 min-width: 28px !important;
 font-size: 9px !important;
 }

 .table-responsive .table {
 min-width: 260px !important;
 }

 .table-responsive .table th,
 .table-responsive .table td {
 padding: 2px 4px !important;
 font-size: 9px !important;
 max-width: 60px !important;
 }
}

/* FIX: Prevent horizontal scroll on the page itself */
html,
body {
 overflow-x: hidden !important;
 max-width: 100vw !important;
}

*,
*::before,
*::after {
 box-sizing: border-box !important;
}

/* FIX: Specific component overflow prevention */
.patika-criteria-box,
.patika-ahp-selector,
.patika-comparison-row,
.card,
.mobile-header {
 word-wrap: break-word !important;
 overflow-wrap: break-word !important;
 hyphens: auto !important;
}

.patika-criteria-box:active,
.patika-ahp-value:active,
.patika-btn-decrease:active,
.patika-btn-increase:active {
 transform: scale(0.98) !important;
}

/* FIX: Enhanced mobile layout constraints */
@media (max-width: 768px) {
 .container-fluid {
 padding-left: 12px !important;
 padding-right: 12px !important;
 }

 .row {
 margin-left: -6px !important;
 margin-right: -6px !important;
 }

 .col,
 .col-1,
 .col-2,
 .col-3,
 .col-4,
 .col-5,
 .col-6,
 .col-7,
 .col-8,
 .col-9,
 .col-10,
 .col-11,
 .col-12 {
 padding-left: 6px !important;
 padding-right: 6px !important;
 }
}

/* ==================== PATİKA DEBUG & ALERT SYSTEM ==================== */
.alert {
 border-radius: var(--patika-border-radius);
 border: none;
 font-size: var(--patika-font-size-sm);
}

.alert-info {
 background: var(--patika-pastel-blue);
 color: var(--patika-primary);
}

.alert-warning {
 background: var(--patika-pastel-orange);
 color: var(--patika-primary);
}

.alert-success {
 background: var(--patika-pastel-green);
 color: var(--patika-success);
}

.alert-danger {
 background: var(--patika-pastel-pink);
 color: var(--patika-danger);
}

/* ==================== PATİKA ANIMATIONS ==================== */
@keyframes patika-fade-in {
 from {
 opacity: 0;
 transform: translateY(10px);
 }

 to {
 opacity: 1;
 transform: translateY(0);
 }
}

.patika-comparison-row {
 animation: patika-fade-in 0.3s ease;
}

.patika-decision-card {
 animation: patika-fade-in 0.3s ease;
}

.patika-chart-card {
 animation: patika-fade-in 0.5s ease;
}

/* ==================== PATİKA MOBILE OPTIMIZATIONS ==================== */
* {
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.patika-criteria-box,
.patika-btn-decrease,
.patika-btn-increase,
.patika-decision-card {
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
}

/* Touch feedback */
.patika-criteria-box:active,
.patika-btn-decrease:active,
.patika-btn-increase:active {
 transform: scale(0.98);
}

/* FIX: Ensure all content fits within viewport */
html,
body {
 overflow-x: hidden;
 max-width: 100vw;
 box-sizing: border-box;
}

*,
*::before,
*::after {
 box-sizing: border-box;
}

/* FIX: Bootstrap row and col overrides for mobile */
@media (max-width: 768px) {
 .container-fluid {
 padding-left: 15px;
 padding-right: 15px;
 overflow-x: hidden;
 }

 .row {
 --bs-gutter-x: 0.5rem;
 margin-left: calc(var(--bs-gutter-x) * -0.5);
 margin-right: calc(var(--bs-gutter-x) * -0.5);
 }

 .col,
 .col-1,
 .col-2,
 .col-3,
 .col-4,
 .col-5,
 .col-6,
 .col-7,
 .col-8,
 .col-9,
 .col-10,
 .col-11,
 .col-12 {
 padding-left: calc(var(--bs-gutter-x) * 0.5);
 padding-right: calc(var(--bs-gutter-x) * 0.5);
 }
}

/* CRITICAL: Viewport constraint enforcement */
.container-fluid,
.row,
.col,
.card,
.patika-decision-card,
.patika-chart-card,
.patika-ahp-controls {
 max-width: 100vw;
 /* Prevent all components from overflowing viewport */
 box-sizing: border-box;
}

/* CRITICAL: Grid system mobile fixes */
.row {
 margin-left: 0;
 margin-right: 0;
}

.row>* {
 padding-left: 5px;
 padding-right: 5px;
 box-sizing: border-box;
 overflow-wrap: break-word;
}

/* ==================== RESPONSIVE GRID SYSTEM FIX ==================== */
/* CRITICAL: Fix col layout overflow */
@media (max-width: 768px) {
 .patika-comparison-row .row {
 margin-left: -4px !important;
 margin-right: -4px !important;
 }

 .patika-comparison-row .col-5 {
 flex: 0 0 42% !important;
 max-width: 42% !important;
 padding: 0 4px !important;
 }

 .patika-comparison-row .col-2 {
 flex: 0 0 16% !important;
 max-width: 16% !important;
 padding: 0 4px !important;
 }

 .g-1>* {
 padding-left: 4px !important;
 padding-right: 4px !important;
 }
}

@media (max-width: 576px) {
 .mobile-container {
 padding: 0 8px !important;
 }

 /* CRITICAL: Even smaller mobile layout */
 .patika-comparison-row .col-5 {
 flex: 0 0 40% !important;
 max-width: 40% !important;
 padding: 0 2px !important;
 }

 .patika-comparison-row .col-2 {
 flex: 0 0 20% !important;
 max-width: 20% !important;
 padding: 0 2px !important;
 }

 .patika-criteria-box {
 min-height: 45px !important;
 padding: 8px 4px !important;
 }

 .criteria-text {
 font-size: 11px !important;
 line-height: 1.2 !important;
 word-break: break-word !important;
 }

 .patika-ahp-controls {
 gap: 2px !important;
 padding: 4px !important;
 min-width: 80px !important;
 }

 .patika-btn-decrease,
 .patika-btn-increase {
 width: 24px !important;
 height: 24px !important;
 font-size: 10px !important;
 }

 .patika-ahp-value {
 min-width: 32px !important;
 font-size: 10px !important;
 padding: 4px !important;
 }
}

@media (max-width: 360px) {

 /* CRITICAL: Ultra-small mobile fix */
 .patika-comparison-row .col-5 {
 flex: 0 0 38% !important;
 max-width: 38% !important;
 }

 .patika-comparison-row .col-2 {
 flex: 0 0 24% !important;
 max-width: 24% !important;
 }

 .criteria-text {
 font-size: 10px !important;
 }

 .patika-ahp-controls {
 min-width: 70px !important;
 }

 .patika-btn-decrease,
 .patika-btn-increase {
 width: 20px !important;
 height: 20px !important;
 font-size: 9px !important;
 }

 .patika-ahp-value {
 min-width: 28px !important;
 font-size: 9px !important;
 }

 .table-responsive .table {
 min-width: 260px !important;
 }

 .table-responsive .table th,
 .table-responsive .table td {
 padding: 2px 4px !important;
 font-size: 9px !important;
 max-width: 60px !important;
 }
}

/* ==================== BUTTON SPACING FIX ==================== */
.patika-btn-primary {
 width: 100% !important;
 padding: 12px 16px !important;
 font-size: 14px !important;
 border-radius: 8px !important;
 margin-bottom: 8px !important;
}

@media (max-width: 576px) {
 .mobile-submit-section {
 padding: 8px !important;
 }

 .patika-btn-primary {
 padding: 10px 12px !important;
 font-size: 13px !important;
 }

 .btn-sm {
 padding: 6px 8px !important;
 font-size: 11px !important;
 }
}

/* CRITICAL: Ensure body has bottom padding for fixed footer */
.mobile-container {
 padding-bottom: 80px !important;
}

/* 
 PATIKA MOBILE CSS - GERÇEK UX DÜZELTME
==========================================
 AMAÇ: Çirkin AHP butonlarını güzelleştirmek
 Project-rules.md'ye uygun sade kodlama
 Junior-friendly ve sürdürülebilir CSS
*/

/* MOBILE RESET & BASE */
* {
 box-sizing: border-box;
}

body.mobile-body {
 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
 background: #f8f9fa;
 margin: 0;
 padding: 0;
 overflow-x: hidden;
}

/* MOBILE CONTAINER */
.mobile-container {
 max-width: 100%;
 margin: 0;
 padding: 0;
 background: #f8f9fa;
 min-height: 100vh;
}

/* MOBILE HEADER */
.mobile-header {
 background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
 border-radius: 0 0 20px 20px;
 box-shadow: 0 4px 20px rgba(0, 123, 255, 0.3);
 margin-bottom: 20px;
}

.mobile-header h6 {
 font-weight: 600;
 font-size: 1.1rem;
 margin: 0;
}

/* AHP BUTONLARI - ANA DÜZELTME */
.patika-btn-decrease,
.patika-btn-increase {
 background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
 color: white;
 border: none;
 border-radius: 8px;
 width: 36px;
 height: 36px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 14px;
 font-weight: bold;
 cursor: pointer;
 transition: all 0.3s ease;
 touch-action: manipulation;
 box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

.patika-btn-decrease:hover,
.patika-btn-increase:hover {
 background: linear-gradient(135deg, #0056b3 0%, #004085 100%);
 transform: scale(1.05);
 box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
}

.patika-btn-decrease:active,
.patika-btn-increase:active {
 transform: scale(0.95);
}

/* AHP DEĞER GÖSTERGE */
.patika-ahp-value {
 background: #f8f9fa;
 color: #495057;
 border: 2px solid #dee2e6;
 border-radius: 8px;
 padding: 8px 12px;
 font-weight: bold;
 font-size: 0.9rem;
 min-width: 60px;
 text-align: center;
 transition: all 0.3s ease;
 margin: 0 4px;
}

/* AHP KONTROL GRUBU */
.patika-ahp-controls {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 4px;
}

/* AHP SEÇİCİ */
.patika-ahp-selector {
 background: white;
 border-radius: 12px;
 padding: 8px;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* KRİTER KUTUSU */
.patika-criteria-box {
 background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
 border: 2px solid #dee2e6;
 border-radius: 10px;
 padding: 12px 8px;
 text-align: center;
 min-height: 60px;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: all 0.3s ease;
}

.patika-criteria-box.left-criteria {
 border-left: 4px solid #007bff;
}

.patika-criteria-box.right-criteria {
 border-right: 4px solid #28a745;
}

.criteria-text {
 font-size: 0.85rem;
 font-weight: 600;
 color: #495057;
 line-height: 1.2;
 word-break: break-word;
}

/* KARŞILAŞTIRMA SATIRI */
.patika-comparison-row {
 background: white;
 border-radius: 12px;
 padding: 12px;
 margin-bottom: 12px;
 border: 1px solid #e9ecef;
 transition: all 0.3s ease;
}

.patika-comparison-row:hover {
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
 border-color: #007bff;
}

/* FORM BÖLÜMÜ */
.mobile-form-section {
 margin-bottom: 20px;
}

.mobile-form-section .card {
 border: none;
 border-radius: 16px;
 box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
 background: white;
}

/* MOBILE INPUT */
.mobile-input {
 border: 2px solid #e9ecef;
 border-radius: 12px;
 padding: 14px 16px;
 font-size: 16px;
 /* iOS zoom önleme */
 transition: all 0.3s ease;
 background: #fff;
}

.mobile-input:focus {
 border-color: #007bff;
 box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.1);
 outline: none;
}

/* SUBMIT BÖLÜMÜ */
.mobile-submit-section {
 padding: 20px;
 background: white;
 border-radius: 16px 16px 0 0;
 box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
 position: sticky;
 bottom: 0;
 z-index: 100;
}

.patika-btn-primary {
 background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
 border: none;
 border-radius: 12px;
 padding: 16px 24px;
 font-size: 1.1rem;
 font-weight: 600;
 color: white;
 width: 100%;
 transition: all 0.3s ease;
 box-shadow: 0 4px 16px rgba(0, 123, 255, 0.3);
}

.patika-btn-primary:hover {
 background: linear-gradient(135deg, #0056b3 0%, #004085 100%);
 transform: translateY(-2px);
 box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

/* MOBILE FAB */
.mobile-fab {
 position: fixed;
 bottom: 24px;
 right: 24px;
 width: 56px;
 height: 56px;
 border-radius: 50%;
 background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
 color: white;
 border: none;
 box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
 z-index: 1000;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.2rem;
 transition: all 0.3s ease;
 text-decoration: none;
}

.mobile-fab:hover {
 background: linear-gradient(135deg, #0056b3 0%, #004085 100%);
 transform: scale(1.1);
 color: white;
}

/* RESPONSIVE AYARLAR */
@media (max-width: 576px) {
 .container-fluid {
 padding: 8px;
 }

 .mobile-header {
 margin-bottom: 16px;
 }

 .patika-comparison-row {
 padding: 8px;
 }

 .criteria-text {
 font-size: 0.8rem;
 }

 .patika-btn-decrease,
 .patika-btn-increase {
 width: 32px;
 height: 32px;
 font-size: 12px;
 }

 .patika-ahp-value {
 padding: 6px 8px;
 font-size: 0.8rem;
 min-width: 50px;
 }
}

/* TOUCH İYİLEŞTİRMELERİ */
.patika-btn-decrease,
.patika-btn-increase,
.mobile-fab,
.patika-btn-primary {
 -webkit-tap-highlight-color: transparent;
 user-select: none;
}

/* SAFE AREA */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
 .mobile-submit-section {
 padding-bottom: calc(20px + env(safe-area-inset-bottom));
 }

 .mobile-fab {
 bottom: calc(24px + env(safe-area-inset-bottom));
 }
}

/* ANIMASYONLAR */
@keyframes slideInUp {
 from {
 transform: translateY(20px);
 opacity: 0;
 }

 to {
 transform: translateY(0);
 opacity: 1;
 }
}

.mobile-container>* {
 animation: slideInUp 0.3s ease-out;
}

.patika-comparison-row {
 animation: slideInUp 0.5s ease-out;
}

/* PRINT STYLES */
@media print {

 .mobile-fab,
 .mobile-header .btn,
 .patika-btn-decrease,
 .patika-btn-increase {
 display: none !important;
 }

 .mobile-container {
 background: white !important;
 }

 .card {
 box-shadow: none !important;
 border: 1px solid #dee2e6 !important;
 }
}

/* MOBILE TEMPLATE INDICATOR */
.mobile-template-indicator {
 position: relative;
}

.mobile-template-indicator::before {
 content: "";
 position: absolute;
 top: -10px;
 left: -10px;
 font-size: 12px;
 opacity: 0.1;
 pointer-events: none;
}

/* MOBILE CONTAINER */
.mobile-container {
 width: 100% !important;
 max-width: 100% !important;
 padding: 0 !important;
 margin: 0 !important;
}

/* OFFCANVAS CLOSE BUTTON - PREVENT CLICK INTERCEPTION */
.offcanvas .btn-close {
 position: relative !important;
 z-index: 1070 !important;
 pointer-events: auto !important;
 touch-action: manipulation !important;
 cursor: pointer !important;
 isolation: isolate !important;
 width: 32px !important;
 height: 32px !important;
 margin: 8px !important;
 background: rgba(255, 255, 255, 0.8) !important;
 border-radius: 50% !important;
 border: none !important;
 opacity: 1 !important;
}

.offcanvas .btn-close:hover {
 background: rgba(255, 255, 255, 1) !important;
 transform: scale(1.1) !important;
}

.offcanvas .btn-close:active {
 transform: scale(0.9) !important;
}

/* OFFCANVAS HEADER - PREVENT OVERLAP */
.offcanvas-header {
 position: relative !important;
 z-index: 1065 !important;
 padding: 16px !important;
 padding-left: 70px !important;
 background: var(--patika-primary) !important;
 color: white !important;
 isolation: isolate !important;
}

.offcanvas-header .offcanvas-title {
 margin-left: 60px !important;
 color: white !important;
 font-weight: bold !important;
 font-size: 18px !important;
 position: relative !important;
 z-index: 1065 !important;
}

/* OFFCANVAS BODY - PREVENT OVERLAP */
.offcanvas-body {
 position: relative !important;
 z-index: 1060 !important;
 padding: 16px !important;
 background: white !important;
 isolation: isolate !important;
}

/* OFFCANVAS BACKDROP - PROPER LAYERING */
.offcanvas-backdrop {
 z-index: 1050 !important;
 background: rgba(0, 0, 0, 0.5) !important;
}

/* OFFCANVAS MAIN - PROPER LAYERING */
.offcanvas {
 z-index: 1055 !important;
 isolation: isolate !important;
}

/* MOBILE AHP BUTTONS - MAXIMUM CLICK PROTECTION */
.patika-btn-decrease,
.patika-btn-increase {
 width: 32px !important;
 height: 32px !important;
 padding: 4px !important;
 border-radius: 6px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 border: 2px solid var(--patika-accent) !important;
 background: white !important;
 color: var(--patika-accent) !important;
 font-size: 14px !important;
 font-weight: bold !important;
 transition: all 0.2s ease !important;
 cursor: pointer !important;
 touch-action: manipulation !important;
 user-select: none !important;
 position: relative !important;
 z-index: 9999 !important;
 pointer-events: auto !important;
 isolation: isolate !important;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}

.patika-btn-decrease:hover,
.patika-btn-increase:hover {
 background: var(--patika-accent) !important;
 color: white !important;
 transform: scale(1.05) !important;
 box-shadow: 0 6px 12px rgba(0, 123, 255, 0.4) !important;
 z-index: 10000 !important;
}

.patika-btn-decrease:active,
.patika-btn-increase:active {
 transform: scale(0.95) !important;
 z-index: 10001 !important;
}

.patika-btn-decrease.btn-outline-success,
.patika-btn-increase.btn-outline-success {
 border-color: var(--patika-success) !important;
 color: var(--patika-success) !important;
 z-index: 9999 !important;
}

.patika-btn-decrease.btn-outline-success:hover,
.patika-btn-increase.btn-outline-success:hover {
 background: var(--patika-success) !important;
 color: white !important;
 z-index: 10000 !important;
}

/* MOBILE AHP VALUE DISPLAY - MAXIMUM PROTECTION */
.patika-ahp-value {
 width: 50px !important;
 height: 32px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 background: var(--patika-light) !important;
 border: 2px solid var(--patika-border) !important;
 border-radius: 6px !important;
 font-weight: bold !important;
 font-size: 14px !important;
 color: var(--patika-dark) !important;
 margin: 0 4px !important;
 text-align: center !important;
 position: relative !important;
 z-index: 9998 !important;
 pointer-events: none !important;
 user-select: none !important;
 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* MOBILE AHP CONTROLS CONTAINER - MAXIMUM PROTECTION */
.patika-ahp-controls {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 4px !important;
 padding: 8px !important;
 background: rgba(255, 255, 255, 0.95) !important;
 border-radius: 8px !important;
 position: relative !important;
 z-index: 9997 !important;
 isolation: isolate !important;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
 backdrop-filter: blur(2px) !important;
}

/* MOBILE AHP SELECTOR - MAXIMUM PROTECTION */
.patika-ahp-selector {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 100% !important;
 position: relative !important;
 z-index: 9996 !important;
 isolation: isolate !important;
 margin: 4px 0 !important;
}

/* MOBILE COMPARISON ROW - PREVENT OVERLAP */
.patika-comparison-row {
 margin-bottom: 20px !important;
 padding: 12px !important;
 background: white !important;
 border-radius: 12px !important;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
 position: relative !important;
 z-index: 1000 !important;
 isolation: isolate !important;
 border: 2px solid var(--patika-border) !important;
}

.patika-comparison-row:hover {
 box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
 transform: translateY(-2px) !important;
 border-color: var(--patika-accent) !important;
}

/* PREVENT BOTTOM ELEMENTS FROM INTERCEPTING CLICKS */
.mobile-submit-section,
.mobile-form-section:last-child,
.btn-group,
.card-footer,
.mobile-fab {
 z-index: 100 !important;
 position: relative !important;
}

/* ENSURE CHARTS LINKS DON'T INTERFERE */
a[href*="charts"],
.btn[href*="charts"],
.mobile-fab,
.fixed-bottom,
.sticky-bottom {
 z-index: 99 !important;
 position: relative !important;
}

/* FORCE AHP AREA TO BE ON TOP */
.mobile-ahp-section {
 position: relative !important;
 z-index: 9000 !important;
 isolation: isolate !important;
 background: white !important;
 margin: 16px 0 !important;
 padding: 16px !important;
 border-radius: 12px !important;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* ENHANCED MOBILE AHP FIXES FOR CRITERIA TEXT AND DISPLAY */
@media (max-width: 768px) {

 /* FIX: Main and Sub Criteria Text Sizing - %20 büyütme */
 .table td,
 .table th {
 font-size: 15px !important;
 /* 12px'den 15px'e - %20 artış */
 line-height: 1.4 !important;
 padding: 10px 6px !important;
 word-wrap: break-word !important;
 white-space: normal !important;
 vertical-align: middle !important;
 }

 /* FIX: Kriter metinleri optimize edilen görünüm */
 .form-check-label,
 .table td:first-child,
 .table td:last-child {
 font-size: 16px !important;
 /* %20 büyütme */
 font-weight: 500 !important;
 line-height: 1.3 !important;
 word-break: break-word !important;
 hyphens: auto !important;
 max-width: none !important;
 }

 /* FIX: Global Weights Table Mobile Optimization */
 .patika-weights-table .table td,
 .patika-weights-table .table th {
 font-size: 15px !important;
 padding: 12px 8px !important;
 text-align: center !important;
 }

 /* FIX: Alternative Suggestions Mobile Optimization */
 .patika-suggestion-card {
 margin-bottom: 12px !important;
 padding: 16px !important;
 }

 .patika-suggestion-title {
 font-size: 18px !important;
 font-weight: 600 !important;
 line-height: 1.3 !important;
 }

 .patika-suggestion-score {
 font-size: 16px !important;
 padding: 8px 12px !important;
 }

 /* FIX: Decision Edit Form Mobile Enhancement */
 .table-responsive {
 border: none !important;
 box-shadow: none !important;
 }

 .table-responsive .table {
 margin-bottom: 0 !important;
 font-size: 14px !important;
 }

 /* TASK 2: Mobile Criteria Text - Yazıları küçült, 2-3 satıra çıkar */
 .criteria-text {
 font-size: 11px !important;
 /* Küçült */
 line-height: 1.2 !important;
 /* Sıkıştır */
 max-height: 3.6em !important;
 /* 3 satır için */
 -webkit-line-clamp: 3 !important;
 /* 3 satıra çıkar */
 font-weight: 500 !important;
 /* Biraz hafiflet */
 padding: 2px !important;
 /* İç padding küçült */
 word-break: break-word !important;
 overflow-wrap: break-word !important;
 hyphens: auto !important;
 }

 /* TASK 2: Kriter kutularını da optimize et */
 .patika-criteria-box {
 min-height: 45px !important;
 /* Daha küçük yükseklik */
 padding: 6px !important;
 /* Küçük padding */
 }

 /* FIX: Radio Button Mobile Enhancement */
 input[type="radio"] {
 width: 18px !important;
 height: 18px !important;
 margin: 0 auto !important;
 cursor: pointer !important;
 transform: scale(1.2) !important;
 }

 /* FIX: AHP Matrix Mobile Enhancement */
 .table thead th {
 background-color: var(--patika-primary) !important;
 color: white !important;
 font-size: 13px !important;
 padding: 8px 4px !important;
 text-align: center !important;
 vertical-align: middle !important;
 }

 .table tbody tr:hover {
 background-color: rgba(0, 123, 255, 0.05) !important;
 }

 /* FIX: Card Header Mobile Enhancement */
 .card-header {
 padding: 16px !important;
 font-size: 17px !important;
 font-weight: 600 !important;
 background: linear-gradient(135deg, var(--patika-primary), var(--patika-accent)) !important;
 color: white !important;
 }

 .card-body {
 padding: 16px !important;
 }

 /* FIX: Button Group Mobile Enhancement */
 .btn-group .btn {
 font-size: 14px !important;
 padding: 8px 12px !important;
 margin: 2px !important;
 border-radius: 6px !important;
 }

 /* FIX: Alert Mobile Enhancement */
 .alert {
 font-size: 15px !important;
 padding: 12px 16px !important;
 margin-bottom: 16px !important;
 border-radius: 8px !important;
 line-height: 1.4 !important;
 }

 /* FIX: Debug Info Mobile Enhancement */
 .alert-info small {
 font-size: 14px !important;
 font-weight: 500 !important;
 }

 /* FIX: Progress Bar Mobile Enhancement */
 .progress {
 height: 24px !important;
 border-radius: 12px !important;
 margin-bottom: 8px !important;
 }

 .progress-bar {
 font-size: 14px !important;
 font-weight: 600 !important;
 line-height: 24px !important;
 }

 /* FIX: Badge Mobile Enhancement */
 .badge {
 font-size: 13px !important;
 padding: 6px 10px !important;
 border-radius: 6px !important;
 font-weight: 600 !important;
 }
}

/* ==================== MOBILE DECISIONS CRITERIA BUTTONS OPTIMIZATION ==================== */
/* MOBILE SPECIFIC: Left-aligned, 2-line, larger font criteria buttons */
/* HIGH PRIORITY: Override all existing criteria text styles for mobile templates */

/* Mobile Decision Template Specific Criteria Button Container */
.mobile-template-indicator .patika-criteria-box {
 background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
 border: 2px solid #dee2e6 !important;
 border-radius: 12px !important;
 padding: 12px 8px !important;
 min-height: 70px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: flex-start !important;
 /* LEFT ALIGN */
 transition: all 0.3s ease !important;
 cursor: pointer !important;
 user-select: none !important;
 overflow: hidden !important;
 position: relative !important;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Mobile Decision Template Specific Criteria Text */
.mobile-template-indicator .patika-criteria-box .criteria-text,
.mobile-template-indicator .criteria-text.small,
.mobile-template-indicator .criteria-text {
 font-size: 14px !important;
 /* LARGER FONT */
 font-weight: 600 !important;
 color: #212529 !important;
 line-height: 1.3 !important;
 text-align: left !important;
 /* LEFT ALIGN - OVERRIDE CENTER */
 display: -webkit-box !important;
 -webkit-line-clamp: 2 !important;
 /* 2 LINES MAX */
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 max-height: 2.6em !important;
 /* 2 lines height */
 word-wrap: break-word !important;
 hyphens: auto !important;
 width: 100% !important;
 margin: 0 !important;
 padding: 0 !important;
 /* OVERRIDE EXISTING CENTER ALIGNMENT */
 justify-content: flex-start !important;
 align-items: flex-start !important;
 min-height: auto !important;
}

/* Mobile Left Criteria Styling */
.mobile-template-indicator .patika-criteria-box.left-criteria {
 background: linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%) !important;
 border-left: 4px solid #007bff !important;
 border-color: #007bff !important;
}

.mobile-template-indicator .patika-criteria-box.left-criteria .criteria-text {
 color: #0056b3 !important;
}

/* Mobile Right Criteria Styling */
.mobile-template-indicator .patika-criteria-box.right-criteria {
 background: linear-gradient(135deg, #e8f5e8 0%, #f8f9fa 100%) !important;
 border-right: 4px solid #28a745 !important;
 border-color: #28a745 !important;
}

.mobile-template-indicator .patika-criteria-box.right-criteria .criteria-text {
 color: #1e7e34 !important;
}

/* Mobile Sub-Criteria Styling */
.mobile-template-indicator .patika-criteria-box.sub-criteria {
 background: linear-gradient(135deg, #fff3cd 0%, #f8f9fa 100%) !important;
 border-color: #ffc107 !important;
 min-height: 65px !important;
}

.mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text {
 color: #856404 !important;
 font-size: 13px !important;
 /* Slightly smaller for sub-criteria */
}

/* Mobile Hover Effects */
.mobile-template-indicator .patika-criteria-box:hover {
 transform: translateY(-2px) !important;
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
 background: linear-gradient(135deg, #ffffff 0%, #f1f3f4 100%) !important;
}

.mobile-template-indicator .patika-criteria-box.left-criteria:hover {
 background: linear-gradient(135deg, #cce5ff 0%, #e3f2fd 100%) !important;
 border-left-color: #0056b3 !important;
}

.mobile-template-indicator .patika-criteria-box.right-criteria:hover {
 background: linear-gradient(135deg, #c3e6cb 0%, #e8f5e8 100%) !important;
 border-right-color: #1e7e34 !important;
}

.mobile-template-indicator .patika-criteria-box.sub-criteria:hover {
 background: linear-gradient(135deg, #ffe8a1 0%, #fff3cd 100%) !important;
 border-color: #d39e00 !important;
}

/* Mobile Active/Touch Effects */
.mobile-template-indicator .patika-criteria-box:active {
 transform: scale(0.98) !important;
 transition: transform 0.1s ease !important;
}

/* Mobile Responsive Breakpoints */
@media (max-width: 768px) {
 .mobile-template-indicator .patika-criteria-box {
 min-height: 75px !important;
 padding: 14px 10px !important;
 }

 .mobile-template-indicator .patika-criteria-box .criteria-text,
 .mobile-template-indicator .criteria-text.small,
 .mobile-template-indicator .criteria-text {
 font-size: 15px !important;
 /* Even larger on mobile - OVERRIDE EXISTING */
 line-height: 1.35 !important;
 max-height: 2.7em !important;
 text-align: left !important;
 /* ENSURE LEFT ALIGN */
 }

 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text,
 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text.small {
 font-size: 14px !important;
 text-align: left !important;
 /* ENSURE LEFT ALIGN */
 }
}

@media (max-width: 576px) {
 .mobile-template-indicator .patika-criteria-box {
 min-height: 70px !important;
 padding: 12px 8px !important;
 }

 .mobile-template-indicator .patika-criteria-box .criteria-text,
 .mobile-template-indicator .criteria-text.small,
 .mobile-template-indicator .criteria-text {
 font-size: 14px !important;
 /* OVERRIDE EXISTING SMALL FONTS */
 line-height: 1.3 !important;
 max-height: 2.6em !important;
 text-align: left !important;
 /* ENSURE LEFT ALIGN */
 }

 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text,
 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text.small {
 font-size: 13px !important;
 text-align: left !important;
 /* ENSURE LEFT ALIGN */
 }
}

@media (max-width: 360px) {
 .mobile-template-indicator .patika-criteria-box {
 min-height: 65px !important;
 padding: 10px 6px !important;
 }

 .mobile-template-indicator .patika-criteria-box .criteria-text,
 .mobile-template-indicator .criteria-text.small,
 .mobile-template-indicator .criteria-text {
 font-size: 13px !important;
 /* OVERRIDE EXISTING ULTRA-SMALL FONTS */
 line-height: 1.25 !important;
 max-height: 2.5em !important;
 text-align: left !important;
 /* ENSURE LEFT ALIGN */
 }

 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text,
 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text.small {
 font-size: 12px !important;
 text-align: left !important;
 /* ENSURE LEFT ALIGN */
 }
}

/* MOBILE TEMPLATE ACCESSIBILITY & TOUCH IMPROVEMENTS */
.mobile-template-indicator .patika-criteria-box {
 /* Better touch targets */
 min-width: 44px !important;
 touch-action: manipulation !important;

 /* Improved focus for accessibility */
 outline: none !important;
}

.mobile-template-indicator .patika-criteria-box:focus {
 box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25) !important;
 outline: none !important;
}

/* PREVENT STYLE CONFLICTS: Ensure mobile styles take priority */
.mobile-template-indicator .patika-criteria-box,
.mobile-template-indicator .patika-criteria-box.left-criteria,
.mobile-template-indicator .patika-criteria-box.right-criteria,
.mobile-template-indicator .patika-criteria-box.sub-criteria {
 text-align: left !important;
 justify-content: flex-start !important;
}

.mobile-template-indicator .criteria-text {
 text-align: left !important;
 justify-content: flex-start !important;
 align-items: flex-start !important;
}

/* FINAL OVERRIDE: Ensure absolute priority over conflicting styles */
.mobile-template-indicator .patika-criteria-box .criteria-text.small,
.mobile-template-indicator .patika-criteria-box .criteria-text,
.mobile-template-indicator .criteria-text.small,
.mobile-template-indicator .criteria-text {
 text-align: left !important;
 justify-content: flex-start !important;
 align-items: flex-start !important;
 display: -webkit-box !important;
 -webkit-box-pack: start !important;
 -webkit-box-align: start !important;
 /* Override any center or right alignment */
 margin-left: 0 !important;
 margin-right: auto !important;
 padding-left: 0 !important;
 padding-right: auto !important;
}

/* ===== MOBILE MERKEZI BUTON VE TABLO STANDARDİZASYONU ===== */
/* Mobil cihazlarda da aynı standartları koruma */

/* Mobile Button Standardization */
@media (max-width: 768px) {
 .patika-btn-standard {
 padding: 0.5rem 0.75rem;
 font-size: 0.8rem;
 min-width: auto;
 }

 .patika-table-actions {
 flex-direction: column;
 gap: 0.25rem;
 width: 100%;
 }

 .patika-table-actions .btn {
 width: 100%;
 justify-content: center;
 font-size: 0.8rem;
 padding: 0.5rem;
 }

 .patika-table-header {
 flex-direction: column;
 gap: 1rem;
 align-items: stretch;
 text-align: center;
 }

 .patika-table-responsive {
 padding: 0 1rem 1rem 1rem;
 }

 .patika-table th,
 .patika-table td {
 padding: 0.5rem;
 font-size: 0.8rem;
 }

 .patika-row-actions {
 flex-direction: column;
 gap: 0.25rem;
 }

 .patika-row-actions .btn {
 width: 100%;
 justify-content: center;
 font-size: 0.7rem;
 padding: 0.25rem 0.5rem;
 }
}

@media (max-width: 576px) {
 .patika-table-container {
 margin: 0 -0.5rem 1rem -0.5rem;
 border-radius: 0;
 }

 .patika-table-header {
 padding: 0.75rem 1rem;
 }

 .patika-table-header h5 {
 font-size: 1rem;
 }

 .patika-table-responsive {
 padding: 0 0.5rem 0.75rem 0.5rem;
 }

 .patika-table th,
 .patika-table td {
 padding: 0.4rem;
 font-size: 0.75rem;
 }
}

/* ==================== MOBILE FIXED TOP BUTTONS - FORM ÜSTÜNDEKİ BUTONLAR ==================== */
.patika-mobile-fixed-top {
 position: fixed !important;
 top: 0 !important;
 left: 0 !important;
 right: 0 !important;
 background: rgba(255, 255, 255, 0.98) !important;
 padding: 12px !important;
 border-bottom: 2px solid var(--patika-border) !important;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
 z-index: 10000 !important;
 backdrop-filter: blur(10px) !important;
 isolation: isolate !important;
}

.patika-mobile-fixed-top .btn {
 margin: 0 !important;
 padding: 12px 16px !important;
 font-size: 14px !important;
 font-weight: 600 !important;
 border-radius: 8px !important;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
 transition: all 0.3s ease !important;
}

.patika-mobile-fixed-top .btn:hover {
 transform: translateY(-2px) !important;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.patika-mobile-fixed-top .btn-primary {
 background: linear-gradient(135deg, #007bff 0%, #0056b3 100%) !important;
 border: none !important;
 color: white !important;
}

.patika-mobile-fixed-top .btn-primary:hover {
 background: linear-gradient(135deg, #0056b3 0%, #004085 100%) !important;
 color: white !important;
}

/* MOBILE CONTAINER WITH TOP PADDING FOR FIXED BUTTONS */
.mobile-container-with-top-buttons {
 padding-top: 80px !important;
 padding-bottom: 20px !important;
}

@media (max-width: 576px) {
 .patika-mobile-fixed-top {
 padding: 8px !important;
 }

 .patika-mobile-fixed-top .btn {
 padding: 10px 12px !important;
 font-size: 13px !important;
 }

 .mobile-container-with-top-buttons {
 padding-top: 75px !important;
 }
}

/* ==================== MOBILE FORM SECTIONS WITH TOP BUTTONS ==================== */
.mobile-form-section-with-top-buttons {
 margin-top: 20px !important;
 margin-bottom: 20px !important;
}

.mobile-ahp-section-with-top-buttons {
 margin-top: 20px !important;
 margin-bottom: 20px !important;
 position: relative !important;
 z-index: 1000 !important;
}

/* ==================== OVERRIDE EXISTING BOTTOM BUTTONS FOR MOBILE FORMS ==================== */
@media (max-width: 768px) {
 .mobile-container {
 padding-bottom: 20px !important;
 /* Remove bottom padding */
 }

 .patika-mobile-fixed-bottom {
 display: none !important;
 /* Hide bottom buttons */
 }

 .patika-mobile-fixed-top {
 display: block !important;
 /* Show top buttons */
 }
}

@media (min-width: 769px) {
 .patika-mobile-fixed-top {
 display: none !important;
 /* Hide top buttons on desktop */
 }

 .patika-mobile-fixed-bottom {
 display: block !important;
 /* Show bottom buttons on desktop */
 }
}

/* --- TASK 2: MOBILE CRITERIA BUTTON TEXT OPTIMIZATION (FORCE OVERRIDE) --- */
@media (max-width: 768px) {

 .mobile-template-indicator .patika-criteria-box .criteria-text,
 .mobile-template-indicator .criteria-text.small,
 .mobile-template-indicator .criteria-text {
 font-size: 12px !important;
 line-height: 1.2 !important;
 font-weight: 500 !important;
 color: #212529 !important;
 text-align: left !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 3 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 max-height: 3.6em !important;
 word-break: break-word !important;
 overflow-wrap: break-word !important;
 hyphens: auto !important;
 width: 100% !important;
 margin: 0 !important;
 padding: 0 !important;
 justify-content: flex-start !important;
 align-items: flex-start !important;
 min-height: auto !important;
 }

 .mobile-template-indicator .patika-criteria-box {
 min-height: 45px !important;
 padding: 6px !important;
 align-items: flex-start !important;
 justify-content: flex-start !important;
 text-align: left !important;
 }
}

@media (max-width: 576px) {

 .mobile-template-indicator .patika-criteria-box .criteria-text,
 .mobile-template-indicator .criteria-text.small,
 .mobile-template-indicator .criteria-text {
 font-size: 11px !important;
 max-height: 3.6em !important;
 -webkit-line-clamp: 3 !important;
 }

 .mobile-template-indicator .patika-criteria-box {
 min-height: 40px !important;
 padding: 4px !important;
 }
}

/* --- TASK 2: MOBILE CRITERIA BUTTON TEXT MULTILINE FIX (FORCE OVERRIDE) --- */
@media (max-width: 768px) {
 .mobile-template-indicator .patika-criteria-box .criteria-text {
 font-size: 12px !important;
 line-height: 1.2 !important;
 font-weight: 500 !important;
 color: #212529 !important;
 text-align: left !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 2 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: normal !important;
 max-height: 2.4em !important;
 }
}

/* --- TASK 2: MOBILE SUB KRITER BUTTON TEXT SMALLER (FORCE OVERRIDE) --- */
@media (max-width: 768px) {
 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text {
 font-size: 11px !important;
 line-height: 1.1 !important;
 font-weight: 500 !important;
 color: #212529 !important;
 text-align: left !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 2 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: normal !important;
 max-height: 2.2em !important;
 }
}

/* --- TASK 2: MOBILE SUB KRITER BUTTON TEXT FULL WIDTH & 3 LINES (FORCE OVERRIDE) --- */
@media (max-width: 768px) {
 .mobile-template-indicator .patika-criteria-box.sub-criteria .criteria-text {
 font-size: 11px !important;
 line-height: 1.1 !important;
 font-weight: 500 !important;
 color: #212529 !important;
 text-align: left !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 3 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: normal !important;
 max-height: 3.3em !important;
 width: 100% !important;
 max-width: 100% !important;
 box-sizing: border-box !important;
 word-break: break-word !important;
 overflow-wrap: break-word !important;
 }
}

/* --- TASK 2: MOBILE MAIN KRITER BUTTON TEXT FULL WIDTH & 3 LINES (FORCE OVERRIDE) --- */
@media (max-width: 768px) {
 .mobile-template-indicator .patika-criteria-box .criteria-text {
 font-size: 11px !important;
 line-height: 1.1 !important;
 font-weight: 500 !important;
 color: #212529 !important;
 text-align: left !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 3 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: normal !important;
 max-height: 3.3em !important;
 width: 100% !important;
 max-width: 100% !important;
 box-sizing: border-box !important;
 word-break: break-word !important;
 overflow-wrap: break-word !important;
 }
}

/* --- TASK 2: MOBILE KRITER BUTTON FIXED HEIGHT, 3 LINES, FULL WIDTH (FORCE OVERRIDE) --- */
@media (max-width: 768px) {
 .mobile-template-indicator .patika-criteria-box {
 min-height: 3.6em !important;
 /* 3 satır x 1.1 line-height + padding */
 max-height: 3.6em !important;
 height: 3.6em !important;
 padding: 6px 8px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 box-sizing: border-box !important;
 }

 .mobile-template-indicator .patika-criteria-box .criteria-text {
 width: 100% !important;
 height: 100% !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 3 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: normal !important;
 font-size: 11px !important;
 line-height: 1.1 !important;
 font-weight: 500 !important;
 color: #212529 !important;
 text-align: left !important;
 box-sizing: border-box !important;
 word-break: break-word !important;
 overflow-wrap: break-word !important;
 padding: 0 !important;
 margin: 0 !important;
 }
}

/* === Mobil Header Kompakt Stil (Tüm Mobil Template'ler için merkezi) === */
.mobile-header {
 padding: 0.5rem 0.5rem 0.25rem 0.5rem !important;
}

.mobile-header .input-group {
 min-height: 36px;
 height: 36px;
}

.mobile-header .form-control,
.mobile-header .btn,
.mobile-header .dropdown-toggle {
 padding-top: 0.25rem !important;
 padding-bottom: 0.25rem !important;
 font-size: 0.95rem !important;
 height: 32px !important;
 min-height: 32px !important;
 line-height: 1.2 !important;
}

.mobile-header .btn,
.mobile-header .dropdown-toggle {
 border-radius: 6px !important;
}

@media (max-width: 576px) {
 .mobile-header .input-group {
 min-height: 32px;
 height: 32px;
 }

 .mobile-header .form-control,
 .mobile-header .btn,
 .mobile-header .dropdown-toggle {
 font-size: 0.90rem !important;
 height: 28px !important;
 min-height: 28px !important;
 }
}

/* ==================== MOBİLE DROPDOWN FIXES - CRITICAL Z-INDEX ==================== */
.dropdown-menu {
 z-index: 9999 !important;
 position: absolute !important;
 will-change: transform !important;
 isolation: isolate !important;
 box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175) !important;
 border: 1px solid rgba(0, 0, 0, 0.15) !important;
 background-color: #ffffff !important;
 max-height: 400px !important;
 overflow-y: auto !important;
}

.dropdown-menu.show {
 z-index: 10000 !important;
 display: block !important;
 visibility: visible !important;
 opacity: 1 !important;
 transform: translate3d(0, 0, 0) !important;
}

.btn-group .dropdown-menu {
 z-index: 10001 !important;
 position: absolute !important;
 top: 100% !important;
 right: 0 !important;
 left: auto !important;
 min-width: 200px !important;
 margin-top: 2px !important;
}

.mobile-header .dropdown-menu {
 z-index: 10002 !important;
 position: fixed !important;
 top: auto !important;
 bottom: auto !important;
 left: 50% !important;
 transform: translateX(-50%) !important;
 margin-top: 40px !important;
 width: 90vw !important;
 max-width: 300px !important;
}

@media (max-width: 576px) {
 .mobile-header .dropdown-menu {
 position: fixed !important;
 top: 60px !important;
 left: 10px !important;
 right: 10px !important;
 width: calc(100vw - 20px) !important;
 max-width: none !important;
 transform: none !important;
 z-index: 10003 !important;
 }
}

.mobile-header-back-btn {
 color: #fff !important;
 font-size: 1.5rem !important;
 background: none !important;
 border: none !important;
 box-shadow: none !important;
 outline: none !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 margin-left: auto !important;
 margin-right: 0 !important;
 padding: 0.25rem 0.5rem !important;
 transition: color 0.2s;
}

.mobile-header-back-btn:hover {
 color: #ffc107 !important;
 background: none !important;
}