/* iPhone Liquid Glass benzeri sistem teması – cam efekti, yumuşak köşeler, derinlik */

:root {
    /* Cam (glass) malzeme */
    --glass-bg: rgba(255, 255, 255, 0.72);
    --glass-bg-strong: rgba(255, 255, 255, 0.85);
    --glass-border: rgba(255, 255, 255, 0.6);
    --glass-border-subtle: rgba(0, 0, 0, 0.06);
    --glass-blur: 24px;
    --glass-blur-sm: 16px;
    /* Köşe – squircle hissi (büyük radius) */
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-full: 9999px;
    /* Gölge – yumuşak katmanlı */
    --shadow-glass: 0 4px 24px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
    --shadow-glass-hover: 0 8px 32px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.05);
    --shadow-floating: 0 20px 50px rgba(0, 0, 0, 0.12);
    /* Arka plan – hafif gradient (iOS duvar kâğıdı hissi) */
    --bg-base: #f2f4f8;
    --bg-base-gradient: linear-gradient(165deg, #f5f7fa 0%, #e8ecf4 40%, #e2e8f0 100%);
    /* Metin */
    --text-primary: #1c1c1e;
    --text-secondary: #3a3a3c;
    --text-tertiary: #8e8e93;
    /* Vurgu renkleri (cam üzerinde okunaklı) */
    --accent: #0066cc;
    --accent-hover: #0052a3;
    --accent-red: #dc2626;
    /* Üst bar / yan menü – karizmatik modern mavi */
    --nav-blue: #0a1628;
    --nav-blue-light: #0d2137;
    --nav-blue-border: rgba(255, 255, 255, 0.08);
    --nav-blue-text: #e8f4fc;
    --nav-blue-text-dim: #8bb8d6;
    --topbar-bg: linear-gradient(135deg, #0a1628 0%, #0d2137 50%, #122d4a 100%);
    --topbar-border: rgba(255, 255, 255, 0.1);
    --sidebar-bg: linear-gradient(180deg, #0a1628 0%, #0d2137 100%);
    --sidebar-border: rgba(255, 255, 255, 0.08);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
    background: var(--bg-base-gradient);
    background-attachment: fixed;
    color: var(--text-primary);
    -webkit-font-smoothing: antialiased;
}

body.login-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(165deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
    background-attachment: fixed;
}

.login-wrapper {
    position: relative;
    width: 100%;
    max-width: 1100px;
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.login-gradient-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 10% 20%, rgba(59,130,246,0.35), transparent 55%),
                radial-gradient(circle at 90% 80%, rgba(14,165,233,0.35), transparent 55%);
    filter: blur(8px);
    opacity: 0.9;
}

.login-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 380px;
    padding: 32px 28px 24px;
    border-radius: var(--radius-xl);
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: var(--shadow-floating);
    color: #1c1c1e;
}

@media (max-width: 480px) {
    .login-card {
        padding: 24px 16px;
    }

    .login-form input,
    .btn-primary {
        min-height: 48px;
    }
}

.login-logo {
    width: 60px;
    height: 60px;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--accent), #5856d6);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-size: 28px;
    color: #fff;
}
.login-logo .logo-icon {
    width: 60px;
    height: 60px;
    font-size: 28px;
}
.login-logo img.logo-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.login-title {
    text-align: center;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

.login-subtitle {
    text-align: center;
    margin: 4px 0 18px;
    font-size: 13px;
    color: var(--text-tertiary);
}

.login-form .form-group {
    margin-bottom: 14px;
}

.login-form label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    color: var(--text-secondary);
}

.login-form input {
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: rgba(255, 255, 255, 0.9);
    color: var(--text-primary);
    font-size: 14px;
}

.login-form input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.2);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 16px;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.btn-primary {
    background: var(--accent);
    color: white;
    box-shadow: 0 2px 8px rgba(0, 113, 227, 0.35);
}

.ayarlar-radio-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ayarlar-radio {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}

.ayarlar-radio input {
    margin: 0;
}

@media (max-width: 480px) {
    .ayarlar-radio {
        white-space: normal;
    }
}

.btn-primary:hover {
    background: var(--accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0, 113, 227, 0.4);
}

.btn-block {
    width: 100%;
    margin-top: 8px;
}

.alert {
    border-radius: var(--radius-sm);
    padding: 10px 12px;
    font-size: 13px;
    margin-bottom: 10px;
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
}

.alert-error {
    background: rgba(255, 59, 48, 0.12);
    color: #b3241a;
    border: 1px solid rgba(255, 59, 48, 0.3);
}

.alert-success {
    background: rgba(52, 199, 89, 0.12);
    color: #1e7e34;
    border: 1px solid rgba(52, 199, 89, 0.3);
}

/* Sağ üst köşe "Kaydedildi" toast – sayfa kaydırılmadan gösterilir */
.save-toast {
    position: fixed;
    top: 64px;
    right: 16px;
    z-index: 9999;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #0d5c22;
    background: rgba(52, 199, 89, 0.18);
    border: 1px solid rgba(52, 199, 89, 0.35);
    border-radius: 10px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(52, 199, 89, 0.15);
    opacity: 0;
    transform: translateX(8px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.save-toast.show {
    opacity: 1;
    transform: translateX(0);
}
.save-toast.hide {
    opacity: 0;
    transform: translateX(8px);
}
body.theme-karanlik .save-toast {
    color: #7dd99e;
    background: rgba(52, 199, 89, 0.22);
    border-color: rgba(52, 199, 89, 0.4);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.login-footer {
    margin-top: 18px;
    text-align: center;
    font-size: 11px;
    color: #6b7280;
}

/* Uygulama kabuğu - aydınlık tonlar */

body.theme-aydinlik {
    background: var(--bg-base-gradient);
    color: var(--text-primary);
}

body.theme-karanlik {
    --glass-bg: rgba(44, 44, 46, 0.72);
    --glass-bg-strong: rgba(44, 44, 46, 0.9);
    --glass-border: rgba(255, 255, 255, 0.1);
    --glass-border-subtle: rgba(255, 255, 255, 0.08);
    --bg-base: #1c1c1e;
    --bg-base-gradient: linear-gradient(165deg, #2c2c2e 0%, #1c1c1e 100%);
    --text-primary: #f5f5f7;
    --text-secondary: #e5e5ea;
    --text-tertiary: #98989d;
    --shadow-glass: 0 4px 24px rgba(0, 0, 0, 0.3);
    --shadow-glass-hover: 0 8px 32px rgba(0, 0, 0, 0.4);
    --topbar-bg: linear-gradient(135deg, #0a1628 0%, #0d2137 100%);
    --sidebar-bg: linear-gradient(180deg, #0a1628 0%, #0d2137 100%);
    --topbar-border: rgba(255, 255, 255, 0.08);
    --sidebar-border: rgba(255, 255, 255, 0.08);
}

body.theme-karanlik .content {
    background: transparent;
}

body.theme-karanlik .topbar {
    background: rgba(44, 44, 46, 0.72);
    border-color: rgba(255, 255, 255, 0.08);
}

/* Karanlık mod: sidebar opak ve okunaklı */
body.theme-karanlik .sidebar {
    background: #1c1c1e;
    border-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.theme-karanlik .sidebar .sidebar-item,
body.theme-karanlik .sidebar .sidebar-group-header {
    color: rgba(255, 255, 255, 0.95);
}
body.theme-karanlik .sidebar .sidebar-item:hover,
body.theme-karanlik .sidebar .sidebar-group-header:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
body.theme-karanlik .sidebar .sidebar-item.active {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

body.theme-karanlik .card,
body.theme-karanlik .analysis-item,
body.theme-karanlik .project-item,
body.theme-karanlik .stok-card,
body.theme-karanlik .mini-stat {
    background: var(--glass-bg);
    border-color: var(--glass-border-subtle);
}

/* Karanlık mod: menü butonu ve üst bar ikonları belirgin */
body.theme-karanlik .topbar-menu-btn {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    font-weight: 700;
}

body.theme-karanlik .topbar-menu-btn:hover {
    background: rgba(255, 255, 255, 0.28);
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

body.theme-karanlik .topbar .icon-btn {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
}

body.theme-karanlik .topbar .icon-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.45);
    color: #fff;
}

body.theme-karanlik .topbar .datetime {
    color: rgba(255, 255, 255, 0.95);
}

body.theme-karanlik .topbar .counter-badge {
    font-weight: 700;
}

body.theme-karanlik .topbar .counter-value {
    font-weight: 800;
}

/* Renkli alanlardaki yazılar daha belirgin (tüm tema) */
.btn-primary,
.btn-live {
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.btn-ghost-sm {
    font-weight: 500;
}

.counter-badge .counter-label,
.counter-badge .counter-value {
    font-weight: 700;
}

.chip,
.arge-tup-renkler .chip,
.tup-chip-colored .chip {
    font-weight: 600;
}

body.theme-karanlik .btn-primary {
    color: #fff;
    font-weight: 600;
}

body.theme-karanlik .chip-red,
body.theme-karanlik .chip-blue,
body.theme-karanlik .chip-neutral,
body.theme-karanlik .chip-green {
    color: #fff;
    font-weight: 600;
}

body.theme-karanlik .chip-yellow {
    color: #1a1a1a;
    font-weight: 600;
}

/* Karanlık tema: form alanları ve placeholder okunaklı */
body.theme-karanlik .content input[type="text"],
body.theme-karanlik .content input[type="number"],
body.theme-karanlik .content input[type="email"],
body.theme-karanlik .content input[type="password"],
body.theme-karanlik .content input[type="search"],
body.theme-karanlik .content input[type="date"],
body.theme-karanlik .content select,
body.theme-karanlik .content textarea {
    color: #f5f5f7;
    background: rgba(58, 58, 62, 0.9);
    border-color: rgba(255, 255, 255, 0.2);
}

body.theme-karanlik .content input::placeholder,
body.theme-karanlik .content textarea::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

body.theme-karanlik .content input:focus,
body.theme-karanlik .content select:focus,
body.theme-karanlik .content textarea:focus {
    border-color: var(--accent);
    outline: none;
}

body.theme-karanlik .card .card-title,
body.theme-karanlik .card .card-header,
body.theme-karanlik .card-body label,
body.theme-karanlik .form-group label {
    color: var(--text-primary);
}

body.theme-karanlik .tup-excel-no,
body.theme-karanlik .tup-excel-icerik,
body.theme-karanlik .tup-excel-yag label,
body.theme-karanlik .tup-excel-yag input,
body.theme-karanlik .tup-excel-sonuclar .tup-sonuc-label,
body.theme-karanlik .tup-chip-colored input {
    color: var(--text-primary);
}

body.theme-karanlik .tup-excel-yag input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

body.theme-karanlik .home-tup-inline {
    background: rgba(44, 44, 46, 0.8);
    border: 1px solid var(--glass-border-subtle);
}

body.theme-karanlik .home-tup-inline-title,
body.theme-karanlik .analysis-title,
body.theme-karanlik .analysis-sub,
body.theme-karanlik .project-title,
body.theme-karanlik .project-sub {
    color: var(--text-primary);
}

body.theme-karanlik .project-inline-wrap {
    border-color: var(--glass-border-subtle);
}

body.theme-karanlik .analysis-item {
    background: var(--glass-bg);
    border-color: var(--glass-border-subtle);
}

body.theme-karanlik select option {
    background: #2c2c2e;
    color: #f5f5f7;
}

.app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    gap: 12px;
    background: var(--topbar-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border-bottom: 1px solid var(--topbar-border);
    color: var(--nav-blue-text);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
    transition: transform 0.25s ease;
}

.topbar.topbar--hidden {
    transform: translateY(-100%);
}

.topbar-left,
.topbar-center,
.topbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
}

.logo-icon {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--accent), #6e6e9a);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
}
/* Manuel logo: assets/images/logo.png veya logo.svg koyduğunuzda img ile gösterilir */
.logo-icon img,
img.logo-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: var(--radius-sm);
    display: block;
    background: #ffffff;
    border: 2px solid #e0e0e0; /* kenarlık */
    box-shadow: 0 4px 8px rgba(0,0,0,0.15); /* hafif gölge */;
}
img.logo-icon {
    display: block;
    background: #ffffff;
}

.logo-text {
    font-weight: 700;
    font-size: 16px;
}

.counter-badge {
    padding: 5px 12px;
    border-radius: var(--radius-full);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
}

.counter-active {
    background: rgba(34, 197, 94, 0.25);
    color: #86efac;
    border: 1px solid rgba(34, 197, 94, 0.5);
}

.counter-done {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.45);
}

.counter-label {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: inherit;
}

.counter-value {
    font-weight: 700;
    color: inherit;
}

.topbar-start-btn {
    padding: 6px 14px;
    border-radius: var(--radius-full);
    background: rgba(34, 197, 94, 0.18);
    color: #bbf7d0;
    border: 1px solid rgba(34, 197, 94, 0.6);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}

.topbar-start-btn:hover {
    background: rgba(34, 197, 94, 0.3);
    color: #ecfdf5;
}

.topbar .datetime {
    font-size: 13px;
    color: var(--nav-blue-text-dim);
}

.topbar .icon-btn {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-full);
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.1);
    color: var(--nav-blue-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.topbar .icon-btn:hover {
    background: rgba(255, 255, 255, 0.18);
}

.notification-wrapper {
    position: relative;
}

.notification-panel {
    position: fixed;
    right: 16px;
    top: 60px;
    width: 280px;
    max-height: min(420px, calc(100vh - 80px));
    overflow-y: auto;
    border-radius: var(--radius-lg);
    background: #ffffff;
    border: 1px solid var(--glass-border-subtle);
    box-shadow: var(--shadow-floating);
    padding: 8px 0;
    display: none;
    z-index: 10002;
}
body.theme-karanlik .notification-panel {
    background: #1e293b;
}

.notification-panel.open {
    display: block;
}

.notification-actions {
    padding: 8px 12px;
    border-bottom: 1px solid var(--glass-border-subtle);
}
.notification-okundu-form {
    margin: 0;
}
.btn-notification-okundu {
    width: 100%;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--accent);
    background: rgba(0, 102, 204, 0.1);
    border: 1px solid rgba(0, 102, 204, 0.3);
    border-radius: var(--radius-sm);
    cursor: pointer;
}
.btn-notification-okundu:hover {
    background: rgba(0, 102, 204, 0.2);
}

.notification-header {
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-tertiary);
}

.notification-empty {
    padding: 8px 12px;
    font-size: 13px;
    color: #6b7280;
}

.notification-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.notification-item {
    padding: 8px 12px;
    border-top: 1px solid var(--glass-border-subtle);
}

.notification-title {
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
}

.notification-sub {
    font-size: 11px;
    color: #334155;
}

.notification-header-kritik {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(15,23,42,0.2);
}

.notification-item-kritik {
    background: rgba(220, 38, 38, 0.1);
}

.notification-item-kritik .notification-title {
    color: #dc2626;
}

.notification-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.topbar .user-menu-wrapper {
    position: relative;
    padding-left: 8px;
    border-left: 1px solid var(--nav-blue-border);
}

.user-menu-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 0;
    color: var(--nav-blue-text);
    font-size: 13px;
    border-radius: var(--radius-sm);
}
.user-menu-trigger:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.user-avatar {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.user-name {
    font-size: 13px;
}

.user-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    min-width: 160px;
    background: var(--glass-bg-strong);
    backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-floating);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}
.user-menu-wrapper.open .user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.user-dropdown-item {
    display: block;
    padding: 10px 14px;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 14px;
    border-radius: var(--radius-sm);
    transition: background 0.12s ease;
}
.user-dropdown-item:hover {
    background: rgba(0, 0, 0, 0.06);
}
body.theme-karanlik .user-dropdown-item:hover {
    background: rgba(255, 255, 255, 0.08);
}

.topbar .user-dropdown {
    background: var(--nav-blue-light);
    border-color: var(--nav-blue-border);
    color: var(--nav-blue-text);
}
.topbar .user-dropdown-item {
    color: var(--nav-blue-text);
}
.topbar .user-dropdown-item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.app-body {
    display: flex;
    min-height: calc(100vh - 56px);
    padding-top: 56px;
}

.sidebar {
    width: 230px;
    flex-shrink: 0;
    position: sticky;
    top: 56px;
    height: calc(100vh - 56px);
    align-self: flex-start;
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--sidebar-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    color: var(--nav-blue-text);
    border-right: 1px solid var(--sidebar-border);
    transition: width 0.18s ease;
    box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15);
}

.sidebar.collapsed {
    width: 70px;
}

.sidebar-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sidebar-toggle {
    margin: 8px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.08);
    color: var(--nav-blue-text);
    width: 40px;
    height: 32px;
    cursor: pointer;
}
.sidebar-toggle:hover {
    background: rgba(255, 255, 255, 0.15);
}

.sidebar-menu {
    display: flex;
    flex-direction: column;
    padding: 4px 6px 12px;
    gap: 4px;
}

.sidebar-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: var(--radius-sm);
    color: inherit;
    text-decoration: none;
    font-size: 13px;
}

.sidebar-item .icon {
    width: 26px;
    text-align: center;
}

.sidebar-item.active,
.sidebar-item:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

/* Ar-Ge Lab. daraltılabilir grup - görünüm diğer menü öğeleriyle aynı */
.sidebar-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.sidebar-group-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    color: inherit;
    background: transparent;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
    -webkit-appearance: none;
    appearance: none;
}
.sidebar-group-header:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.sidebar-group-chevron {
    width: 14px;
    font-size: 10px;
    opacity: 0.85;
    color: inherit;
}
.sidebar-group-header .icon {
    width: 26px;
    text-align: center;
}
/* Alt sayfalar: varsayılan gizli, açıkken .is-open ile gösterilir */
.sidebar-group-children {
    display: none;
    flex-direction: column;
    gap: 2px;
    padding-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    margin-left: 28px;
    margin-bottom: 4px;
}
.sidebar-group.is-open .sidebar-group-children {
    display: flex;
}
.sidebar-subitem {
    padding-left: 10px;
}
.sidebar-subitem .icon {
    width: 22px;
}

.sidebar.collapsed .label {
    display: none;
}

.sidebar.collapsed .sidebar-group-children {
    display: none !important;
}

.content {
    flex: 1;
    min-height: 0;
    padding: 16px 18px 48px;
    background: transparent;
    color: var(--text-primary);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.content input[type="text"],
.content input[type="number"],
.content input[type="email"],
.content input[type="password"],
.content select,
.content textarea {
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
}

/* Sayı alanlarında yukarı/aşağı oklarını kaldır, değer yalnızca el ile girilsin */
.content input[type="number"]::-webkit-outer-spin-button,
.content input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.content input[type="number"] {
    -moz-appearance: textfield;
}

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-header h2 {
    margin: 0 0 4px;
}

.dashboard-header p {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
}


.btn-live {
    background: #ff3b30;
    color: white;
}

.btn-live:hover {
    background: #ff2d20;
}

.card-hint {
    font-size: 12px;
    color: var(--text-tertiary);
}

.big-number {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 4px;
}

.muted {
    font-size: 12px;
    color: var(--text-tertiary);
    margin: 0;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.dashboard-grid-two {
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 992px) {
    .dashboard-grid-two {
        grid-template-columns: 1fr;
    }
}

/* ========== Sistem özeti – kullanıcılar ve hareketler ========== */
.sistem-ozeti-filtre {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}
.sistem-ozeti-filtre-label {
    font-weight: 600;
    color: var(--text-secondary);
    margin-right: 4px;
}
.sistem-ozeti-filtre .btn-ghost-sm.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
.sistem-ozeti-subtitle {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--text-primary);
}
.sistem-ozeti-kullanicilar {
    margin-bottom: 20px;
}
.sistem-ozeti-user-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
}
.sistem-ozeti-user-list li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}
.sistem-ozeti-lamp {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.sistem-ozeti-lamp-on {
    background: #22c55e;
    box-shadow: 0 0 6px #22c55e;
}
.sistem-ozeti-lamp-off {
    background: #94a3b8;
    opacity: 0.5;
}
.sistem-ozeti-sonuk {
    color: var(--text-tertiary);
    font-size: 12px;
}
.sistem-ozeti-hareketler {
    margin-top: 16px;
}
.sistem-ozeti-delete-form {
    margin-bottom: 10px;
}
.sistem-ozeti-hareket-table th,
.sistem-ozeti-hareket-table td {
    font-size: 13px;
}

/* ========== Raporlama sayfası (KPI dashboard) ========== */
.rapor-page {
    padding-bottom: 24px;
}
.rapor-page-header {
    margin-bottom: 8px;
}
.rapor-page-header h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
}
.rapor-filters {
    margin-bottom: 20px;
    padding: 12px 16px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-md);
}
.rapor-filters-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
}
.rapor-filters-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
}
.rapor-filters-preset {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.rapor-filter-pill {
    display: inline-block;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    background: rgba(0, 0, 0, 0.05);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-full);
    text-decoration: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.rapor-filter-pill:hover {
    background: rgba(0, 0, 0, 0.08);
    color: var(--text-primary);
}
.rapor-filter-pill.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
body.theme-karanlik .rapor-filter-pill {
    background: rgba(255, 255, 255, 0.08);
    color: var(--nav-blue-text);
}
body.theme-karanlik .rapor-filter-pill:hover {
    background: rgba(255, 255, 255, 0.12);
}
body.theme-karanlik .rapor-filter-pill.active {
    background: var(--accent);
    color: #fff;
}

/* KPI kartları */
.rapor-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
@media (max-width: 900px) {
    .rapor-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .rapor-kpi-grid {
        grid-template-columns: 1fr;
    }
}
.rapor-kpi-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-lg);
    padding: 18px 20px;
    box-shadow: var(--shadow-glass);
    transition: box-shadow 0.2s, transform 0.15s;
}
.rapor-kpi-card:hover {
    box-shadow: var(--shadow-glass-hover);
}
.rapor-kpi-total {
    border-left: 4px solid #3b82f6;
}
.rapor-kpi-toprak {
    border-left: 4px solid #10b981;
}
.rapor-kpi-pair {
    border-left: 4px solid #8b5cf6;
}
.rapor-kpi-score-info {
    border-left: 4px solid #64748b;
    background: linear-gradient(135deg, var(--glass-bg) 0%, rgba(0,0,0,0.02) 100%);
}
body.theme-karanlik .rapor-kpi-score-info {
    background: linear-gradient(135deg, var(--glass-bg) 0%, rgba(255,255,255,0.03) 100%);
}
.rapor-kpi-icon {
    font-size: 24px;
    margin-bottom: 8px;
    opacity: 0.9;
}
.rapor-kpi-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.3;
    margin-bottom: 2px;
}
.rapor-kpi-sublabel {
    font-size: 12px;
    color: var(--text-tertiary);
    margin-bottom: 4px;
}
.rapor-kpi-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-tertiary);
}
.rapor-score-formula {
    font-size: 11px;
    color: var(--text-secondary);
    margin: 8px 0 0;
    line-height: 1.45;
}
.rapor-score-formula code {
    font-size: 10px;
    padding: 2px 6px;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 4px;
    white-space: nowrap;
}
body.theme-karanlik .rapor-score-formula code {
    background: rgba(255, 255, 255, 0.1);
}

/* Ana grid: grafik + export */
.rapor-main-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
    margin-bottom: 24px;
}
@media (max-width: 1024px) {
    .rapor-main-grid {
        grid-template-columns: 1fr;
    }
}
.rapor-chart-card {
    min-width: 0;
}
.rapor-chart-card .card-body {
    padding: 16px 20px;
}

/* 2 yan yana + 1 altta */
.rapor-cards-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
@media (max-width: 992px) {
    .rapor-cards-row {
        grid-template-columns: 1fr;
    }
}
.rapor-card-full {
    grid-column: 1 / -1;
}
.rapor-card-header-compact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.rapor-card-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.rapor-card-title-wrap .card-title {
    font-size: 1.1rem;
    font-weight: 700;
}
.rapor-card-subtitle {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 400;
}
.rapor-card-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.rapor-metric-toggles {
    display: inline-flex;
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid var(--glass-border-subtle);
    background: rgba(0, 0, 0, 0.04);
}
.rapor-metric-btn {
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.rapor-metric-btn:hover {
    background: rgba(0, 0, 0, 0.06);
    color: var(--text-primary);
}
.rapor-metric-btn.active {
    background: var(--nav-blue, #0a1628);
    color: #fff;
}
.rapor-metric-btn[data-metric="r"].active {
    background: #dc2626;
    color: #fff;
}
.rapor-metric-btn[data-metric="klo"].active {
    background: #10b981;
    color: #fff;
}
body.theme-karanlik .rapor-metric-toggles {
    background: rgba(255, 255, 255, 0.06);
}
body.theme-karanlik .rapor-metric-btn.active {
    background: var(--accent);
    color: #fff;
}
body.theme-karanlik .rapor-metric-btn[data-metric="r"].active {
    background: #dc2626;
    color: #fff;
}
body.theme-karanlik .rapor-metric-btn[data-metric="klo"].active {
    background: #10b981;
    color: #fff;
}
.rapor-chart-fixed {
    min-height: 240px;
}
.rapor-chart-wrap.rapor-chart-top10 {
    height: 380px;
}
.rapor-chart-wrap {
    height: 260px;
    margin-bottom: 16px;
    position: relative;
}
.rapor-chart-desc {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0 0 12px;
    line-height: 1.45;
}
.rapor-select-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 14px;
}
.rapor-select-row label {
    font-size: 13px;
    color: var(--text-secondary);
}
.rapor-select {
    min-width: 180px;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
    color: var(--text-primary);
    font-size: 14px;
}
.rapor-toprak-yag-dosya-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.rapor-select-label {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
}
.rapor-chart-controls {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-left: 8px;
}
.rapor-chart-controls .rapor-select {
    min-width: 140px;
}
.rapor-param-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
}
.rapor-param-label input[type="checkbox"] {
    margin: 0;
}
.rapor-check-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}
.rapor-card-downloads {
    display: flex;
    gap: 8px;
    margin-left: auto;
}
.rapor-card-downloads .btn-ghost-sm {
    font-size: 13px;
}
.rapor-empty {
    color: var(--text-tertiary);
    font-size: 14px;
    margin: 0;
    padding: 12px 0;
}
.rapor-export-card {
    min-width: 0;
}
.rapor-export-desc {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0 0 14px;
    line-height: 1.45;
}
.rapor-export-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rapor-export-buttons .btn {
    justify-content: center;
}

/* Tablolar */
.rapor-table-wrap {
    margin-top: 0;
    overflow-x: auto;
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-border-subtle);
}
.rapor-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.rapor-table th {
    background: rgba(0, 0, 0, 0.04);
    padding: 10px 14px;
    font-weight: 600;
    color: var(--text-secondary);
    text-align: left;
    border-bottom: 1px solid var(--glass-border-subtle);
}
body.theme-karanlik .rapor-table th {
    background: rgba(255, 255, 255, 0.06);
}
.rapor-table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--glass-border-subtle);
}
.rapor-table tbody tr:hover {
    background: rgba(0, 0, 0, 0.02);
}
body.theme-karanlik .rapor-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}
.rapor-compare-card,
.rapor-detail-card {
    margin-top: 0;
}
.rapor-order-links {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.rapor-order-links .btn-ghost-sm.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
.rapor-compare-table tr[style*="background"] td {
    font-weight: 600;
}

/* PWA – Ana ekrana ekle (Ayarlar) */
.pwa-card .pwa-desc {
    margin: 0 0 12px;
    font-size: 14px;
    color: var(--text-secondary);
}
.pwa-install-wrap {
    margin-bottom: 12px;
}
.pwa-hint {
    font-size: 13px;
    color: var(--text-tertiary);
    line-height: 1.5;
    padding: 10px 12px;
    background: rgba(0, 0, 0, 0.04);
    border-radius: var(--radius-sm);
}
body.theme-karanlik .pwa-hint {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-secondary);
}
.pwa-hint .pwa-step {
    color: var(--accent);
    font-weight: 600;
}
.pwa-arrow {
    margin: 0 4px;
    color: var(--text-tertiary);
}
.pwa-standalone-msg {
    color: var(--text-secondary);
}

.card {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    border-radius: var(--radius-lg);
    padding: 14px 14px 12px;
    box-shadow: var(--shadow-glass);
    border: 1px solid var(--glass-border-subtle);
}
.card:hover {
    box-shadow: var(--shadow-glass-hover);
}

/* Stok sayfası */

.page-header h2 {
    margin: 0 0 8px;
}

.tabs {
    margin: 12px 0 10px;
    display: inline-flex;
    border-radius: var(--radius-full);
    background: rgba(0, 0, 0, 0.06);
    padding: 4px;
    border: 1px solid var(--glass-border-subtle);
}

.tab-item {
    padding: 6px 14px;
    font-size: 13px;
    color: var(--text-tertiary);
    text-decoration: none;
    border-radius: var(--radius-full);
}

.tab-item.active {
    background: var(--glass-bg-strong);
    color: var(--text-primary);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.stok-section {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.7fr);
    gap: 16px;
    margin-top: 12px;
}

.stok-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px 14px;
}

.stok-form-grid .form-group {
    margin-bottom: 0;
}

.stok-form-grid input {
    width: 100%;
}

.stok-form-grid select {
    width: 100%;
    padding: 9px 12px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
    color: var(--text-primary);
    font-size: 14px;
}

.stok-yag-tipi-select { max-width: 320px; }
.stok-yag-tipi-diger {
    margin-top: 8px;
    max-width: 320px;
}
.stok-yag-tipi-toggle { margin-top: 8px; display: inline-block; }
.stok-yag-tipi-yonet { margin-top: 16px; }
.stok-yag-tipi-yonet-hr { margin: 14px 0; border: none; border-top: 1px solid var(--glass-border-subtle); }
.stok-yag-tipi-yonet-title { font-size: 13px; color: var(--text-secondary); margin: 0 0 10px; }
.stok-yag-tipi-list {
    list-style: none;
    padding: 0;
    margin: 0 0 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}
.stok-yag-tipi-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.stok-yag-tipi-list-form { display: inline; }
.stok-yag-tipi-add {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.stok-yag-tipi-add input[type="text"] { min-width: 200px; }

.form-group-full {
    grid-column: 1 / -1;
    margin-top: 4px;
}

.stok-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.stok-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 11px;
    border-radius: var(--radius-md);
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    border: 1px solid var(--glass-border-subtle);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.stok-card-empty {
    opacity: 0.45;
}

.stok-title-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.stok-title {
    font-size: 14px;
    font-weight: 600;
}

.stok-title-row .stok-sub {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.stok-detail {
    font-size: 11px;
    color: #64748b;
    margin-top: 4px;
}

.stok-sub {
    font-size: 12px;
    color: #475569;
    margin-top: 2px;
}

.stok-meta {
    font-size: 11px;
    color: #64748b;
    margin-top: 4px;
}

.stok-card-actions {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.card-form,
.card-list {
    height: 100%;
}

@media (max-width: 992px) {
    .stok-section {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Stok: form + sonrası liste, form kapalıyken gizli */
.stok-section-stacked {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
}

.stok-form-collapsed {
    display: none !important;
}

.stok-list .stok-card {
    padding: 6px 10px;
}

.stok-list .stok-card .stok-title {
    font-size: 13px;
}

/* Stok kartı: hammadde adı + ağırlık büyük/kalın, diğerleri küçük */
.stok-card-primary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px 16px;
    margin-bottom: 4px;
}

.stok-title-lg {
    font-size: 1.125rem;
    font-weight: 700;
}

.stok-weight-lg {
    font-size: 1.125rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.stok-palet-no {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-secondary, #475569);
}

.stok-list .stok-card-emphasis .stok-detail,
.stok-list .stok-card-emphasis .stok-meta {
    font-size: 12px;
    color: var(--text-tertiary);
}

.stok-list .stok-card-emphasis .stok-title-lg {
    font-size: 1.125rem;
}

/* Stok sayfası: kategori ikonları (toprak, yağ, kimyasal, ekipman) */
.stok-page .stok-list .stok-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
}

.stok-page .stok-card-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-subtle);
}

.stok-page .stok-card-icon-symbol {
    font-size: 1.5rem;
    line-height: 1;
    display: block;
}

/* Yağ simgesi: SVG sarı damla (stok + lab) */
.stok-card-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.stok-page .stok-card-main {
    flex: 1;
    min-width: 0;
}

/* Lab. Stok sayfası: kategori ikonları + kart/yazı hizalama (kayma önleme) */
.lab-stok-page {
    min-width: 0;
}

.lab-stok-page .card-body,
.lab-stok-page .stok-list {
    min-width: 0;
}

.lab-stok-page .stok-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lab-stok-page .stok-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    padding: 10px 12px;
    min-height: 72px;
}

.lab-stok-page .stok-card-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-subtle);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.lab-stok-page .stok-card-icon-symbol {
    font-size: 1.75rem;
    line-height: 1;
    display: block;
}

.lab-stok-page .stok-card-icon--toprak .stok-card-icon-symbol {
    font-size: 1.75rem;
}

.lab-stok-page .stok-card-icon--yag .stok-card-icon-symbol {
    font-size: 1.875rem;
}

.lab-stok-page .stok-card-icon--kimyasal .stok-card-icon-symbol {
    font-size: 1.75rem;
    filter: brightness(0);
}

.lab-stok-page .stok-card-icon--ekipman .stok-card-icon-symbol {
    font-size: 1.75rem;
}

.lab-stok-page .stok-card-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.lab-stok-page .stok-card-primary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
    width: 100%;
    min-width: 0;
}

.lab-stok-page .stok-title-lg {
    min-width: 0;
}

.lab-stok-page .stok-detail,
.lab-stok-page .stok-meta {
    width: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
}

body.theme-karanlik .lab-stok-page .stok-card-icon {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

/* Stok sayfası: sekme satırı + genel arama */
.stok-tabs-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin: 12px 0 10px;
}

.stok-tabs-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
}

.stok-tabs-row .tabs {
    margin: 0;
}

.stok-global-search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.stok-search-input {
    width: 200px;
    padding: 6px 10px;
    border-radius: var(--radius-full);
    border: 1px solid var(--glass-border-subtle);
    font-size: 13px;
}

.stok-card-list-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.stok-header-tools {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    flex-wrap: wrap;
}
.stok-kategori-ara-form {
    display: flex;
    align-items: center;
    gap: 6px;
}
.stok-kategori-ara-form input[type="search"] {
    min-width: 120px;
}
.stok-sort-select {
    padding: 4px 8px;
    font-size: 12px;
    border: 1px solid var(--glass-border-subtle);
    border-radius: 6px;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    cursor: pointer;
    outline: none;
    transition: border-color .15s;
}
.stok-sort-select:focus {
    border-color: var(--accent-primary, #2563eb);
}
body.theme-karanlik .stok-sort-select {
    background: var(--card-bg, #1e293b);
    border-color: rgba(255,255,255,0.15);
    color: var(--text-primary);
}

.stok-category-filter {
    width: 180px;
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    font-size: 13px;
    margin-left: auto;
}

.stok-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--glass-border-subtle);
}
.stok-pagination-info {
    font-size: 13px;
    color: var(--text-secondary);
}
.stok-pagination-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.stok-pagination-links a,
.stok-pagination-links .stok-pagination-current {
    min-width: 32px;
    padding: 4px 8px;
    text-align: center;
    font-size: 13px;
}
.stok-pagination-current {
    font-weight: 600;
    color: var(--accent);
}

.stok-list .stok-card .stok-title-row .stok-sub {
    font-size: 12px;
}

.stok-list .stok-card .stok-detail {
    font-size: 10px;
}

.stok-list .stok-card .stok-meta {
    font-size: 11px;
}

.stok-list-narrow .stok-card {
    padding: 4px 8px;
}

/* Aktif çalışmalar: klasör listesi dar */
.aktif-calisma-page .stok-list .stok-card {
    padding: 6px 10px;
}

/* Kayıtlı Dosyalar: müşteri + dosya seçim listesi */
.aktif-dosya-secim {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.aktif-dosya-secim .form-group {
    margin-bottom: 0;
}
.aktif-dosya-secim .aktif-select {
    width: 100%;
    max-width: 420px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
    font-size: 14px;
}
.aktif-calisma-actions-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 0 4px;
    border-top: 1px solid var(--glass-border-subtle);
    margin-top: 4px;
}
.aktif-calisma-actions-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
}
.aktif-calisma-actions-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Tüp Yapılandırmaları – resimdeki görsel: Path gizli, Notlar altta */
.tup-config-path-row {
    display: none !important;
}

.tup-config-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tup-config-form-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
body.theme-karanlik .tup-config-form-footer {
    border-top-color: rgba(255, 255, 255, 0.08);
}

.form-group-tup-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.tup-sayac {
    font-size: 13px;
    color: var(--text-muted, #64748b);
    font-weight: 500;
}
body.theme-karanlik .tup-sayac {
    color: rgba(255, 255, 255, 0.7);
}

.tup-config-card {
    border: 1.5px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    padding: 0;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
}
body.theme-karanlik .tup-config-card {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(38, 38, 42, 0.95);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35), 0 1px 3px rgba(0, 0, 0, 0.2);
}

.tup-config-header {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 14px 10px 14px;
    margin: 0;
    border-bottom: 1.5px solid rgba(59, 130, 246, 0.2);
    border-radius: 12px 12px 0 0;
    background: rgba(96, 165, 250, 0.14);
}
body.theme-karanlik .tup-config-header {
    border-bottom-color: rgba(100, 160, 255, 0.15);
    background: rgba(14, 33, 71, 0.35);
}
.tup-config-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.tup-config-not-toggle {
    color: var(--text-secondary, #475569);
    font-size: 12px;
}
body.theme-karanlik .tup-config-not-toggle {
    color: var(--text-secondary);
}
.tup-config-not-toggle:hover {
    color: var(--accent);
}
.tup-config-not-wrap {
    display: none;
}
.tup-config-not-wrap.is-open {
    display: block;
}

/* Tüp Yapılandırmaları bölüm başlığı – tüp kartlarıyla aynı şerit */
.card-header.card-header-tup-config {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-start;
    padding: 12px 16px;
    margin: 0 -1px 0 -1px;
    margin-bottom: 10px;
    border-bottom: 1.5px solid rgba(59, 130, 246, 0.2);
    border-radius: 12px 12px 0 0;
    background: rgba(96, 165, 250, 0.14);
}
body.theme-karanlik .card-header-tup-config {
    border-bottom-color: rgba(100, 160, 255, 0.15);
    background: rgba(14, 33, 71, 0.35);
}
.card-header-tup-config .card-title {
    font-size: 15px;
    font-weight: 700;
}
.card-header-tup-config .card-header-tup-sayac {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary, #475569);
}
body.theme-karanlik .card-header-tup-config .card-header-tup-sayac {
    color: var(--text-secondary);
}
.card-header-tup-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.card-header-tup-actions .tup-sayac {
    font-weight: 600;
    color: var(--text-secondary, #475569);
}
body.theme-karanlik .card-header-tup-actions .tup-sayac {
    color: var(--text-secondary);
}

/* Çalışma Koşulları kartı – belirgin başlık ve form paneli */
.card-kosul {
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.08);
}
body.theme-karanlik .card-kosul {
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.2), 0 2px 8px rgba(0, 0, 0, 0.1);
    border-color: rgba(255, 255, 255, 0.1);
}

.card-header-kosul {
    margin: -14px -14px 0 -14px;
    padding: 14px 18px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    border-bottom: 1.5px solid rgba(59, 130, 246, 0.22);
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.18) 0%, rgba(147, 197, 253, 0.12) 100%);
}
.card-header-kosul .card-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
}
body.theme-karanlik .card-header-kosul {
    border-bottom-color: rgba(100, 160, 255, 0.2);
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.4) 0%, rgba(14, 33, 71, 0.35) 100%);
}

.kosul-form-panel {
    margin-top: 4px;
    padding: 18px 16px 16px;
    border-radius: var(--radius-md);
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.25);
}
body.theme-karanlik .kosul-form-panel {
    background: rgba(30, 41, 59, 0.5);
    border-color: rgba(71, 85, 105, 0.4);
}

.kosul-form .kosul-subsection-title {
    margin-top: 14px;
    margin-bottom: 2px;
}
.kosul-form .kosul-subsection-title:first-of-type {
    margin-top: 0;
}
.kosul-subsection-label {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-secondary, #475569);
    letter-spacing: 0.02em;
    padding-left: 10px;
    border-left: 3px solid rgba(59, 130, 246, 0.55);
}
body.theme-karanlik .kosul-subsection-label {
    color: var(--text-secondary);
    border-left-color: rgba(96, 165, 250, 0.6);
}

.kosul-form label {
    font-weight: 600;
    color: var(--text-secondary, #475569);
}
body.theme-karanlik .kosul-form label {
    color: var(--text-secondary);
}

.kosul-form input[type="number"] {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(100, 116, 139, 0.25);
    border-radius: var(--radius-sm);
}
.kosul-form input[type="number"]:focus {
    border-color: rgba(59, 130, 246, 0.5);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
    outline: none;
}
body.theme-karanlik .kosul-form input[type="number"] {
    background: rgba(51, 65, 85, 0.6);
    border-color: rgba(71, 85, 105, 0.5);
}
body.theme-karanlik .kosul-form input[type="number"]:focus {
    border-color: rgba(96, 165, 250, 0.6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.kosul-form-actions {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.3);
}
body.theme-karanlik .kosul-form-actions {
    border-top-color: rgba(71, 85, 105, 0.5);
}

.kosul-hr {
    border-width: 1px 0 0;
}

.tup-config-no {
    font-weight: 700;
    font-size: 15px;
}

.tup-config-status {
    font-size: 12px;
    color: var(--text-tertiary, #64748b);
}

.tup-config-kaldir {
    color: #e63946 !important;
    border-color: rgba(230, 57, 70, 0.5);
}
.tup-config-kaldir:hover {
    background: rgba(230, 57, 70, 0.12);
    border-color: #e63946;
    color: #e63946 !important;
}
body.theme-karanlik .tup-config-kaldir {
    color: #ff4757 !important;
    border-color: rgba(255, 71, 87, 0.55);
}
body.theme-karanlik .tup-config-kaldir:hover {
    background: rgba(255, 71, 87, 0.18);
    border-color: #ff4757;
    color: #ff4757 !important;
}

.tup-config-body {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 10px 14px 10px;
    min-height: 0;
}

.tup-config-main {
    flex: 1 1 auto;
    grid-column: 1 / -1;
}

.tup-config-footer {
    margin-top: auto;
    padding-top: 8px;
    border-top: 1.5px solid rgba(0, 0, 0, 0.08);
}
body.theme-karanlik .tup-config-footer {
    border-top-color: rgba(255, 255, 255, 0.1);
}

.tup-config-footer .tup-config-notlar {
    grid-column: 1 / -1;
    display: block;
    width: 100%;
    min-height: 38px;
    max-height: 72px;
    resize: vertical;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 13px;
    box-sizing: border-box;
    line-height: 1.35;
}

.tup-config-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
    min-height: 28px;
}

.tup-config-row:last-child {
    margin-bottom: 0;
}

.tup-config-row > label {
    flex-shrink: 0;
    width: 82px;
    font-size: 11px;
    color: #475569;
    margin: 0;
}

.tup-config-row > .tup-config-path {
    width: 72px;
    flex-shrink: 0;
    height: 28px;
    padding: 4px 6px;
    font-size: 12px;
    border-radius: 6px;
    box-sizing: border-box;
}
.tup-config-row > input[type="number"].tup-yag-miktar {
    width: 72px;
    flex-shrink: 0;
    height: 28px;
    padding: 4px 6px;
    font-size: 12px;
    box-sizing: border-box;
}

.tup-config-row:not(.tup-config-row-notlar) > .tup-config-notlar {
    flex: 1;
    min-width: 0;
    resize: vertical;
    min-height: 28px;
    max-height: 60px;
}

.tup-config-row-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    align-items: start;
    margin-bottom: 0;
}

.tup-config-row-cols > .tup-config-row {
    display: block;
    margin-bottom: 0;
    min-height: 0;
    min-width: 0;
}

.tup-config-row-cols .tup-config-row > label {
    display: block;
    width: auto;
    margin-bottom: 4px;
}

.tup-config-multi {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    min-width: 0;
}

.tup-config-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.tup-config-chip {
    display: flex;
    gap: 6px;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

.tup-config-chip select {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    max-width: none;
    height: 30px;
    padding: 5px 8px;
    border-radius: 8px;
    border: 1px solid var(--glass-border-subtle);
    background: #fff;
    font-size: 13px;
}

.tup-config-chip input[type="number"] {
    width: 54px;
    flex-shrink: 0;
    height: 30px;
    padding: 5px 6px;
    border-radius: 8px;
    border: 1px solid var(--glass-border-subtle);
    background: #fff;
    font-size: 13px;
    box-sizing: border-box;
}

/* Toprak combobox: arama ile seçim, sütun genişliğinde */
.toprak-combobox-wrap {
    position: relative;
    flex: 1 1 0;
    min-width: 120px;
    max-width: none;
}
.toprak-combobox-wrap .toprak-select-native {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.toprak-combobox-display {
    width: 100%;
    height: 30px;
    padding: 5px 8px;
    border-radius: 8px;
    border: 1px solid var(--glass-border-subtle);
    background: #fff;
    font-size: 13px;
    cursor: pointer;
    box-sizing: border-box;
}
.toprak-combobox-dropdown {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 2px;
    min-width: 100%;
    width: max-content;
    max-width: 320px;
    background: #fff;
    border: 1px solid var(--glass-border-subtle);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 100;
    overflow: hidden;
}
.toprak-combobox-dropdown-floating {
    z-index: 99999;
}
.toprak-combobox-list {
    max-height: 220px;
    overflow-y: auto;
    padding: 4px 0;
}
.toprak-combobox-item {
    padding: 8px 12px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.toprak-combobox-item:hover {
    background: rgba(0, 0, 0, 0.06);
}
.toprak-combobox-item[hidden] {
    display: none;
}
body.theme-karanlik .toprak-combobox-display {
    background: var(--card-bg, #1e293b);
    border-color: rgba(255, 255, 255, 0.15);
}
body.theme-karanlik .toprak-combobox-dropdown {
    background: var(--card-bg, #1e293b);
    border-color: rgba(255, 255, 255, 0.15);
}
body.theme-karanlik .toprak-combobox-item:hover {
    background: rgba(255, 255, 255, 0.1);
}

.tup-config-card .tup-config-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 12px;
}

/* Kimyasal chip: select + % + tip aynı hizada */
.tup-config-chip-kimyasal {
    display: flex;
    gap: 5px;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}
.tup-config-chip-kimyasal select:first-of-type {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
}
.tup-config-kim-yuzde-wrap {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.tup-config-kim-yuzde-wrap input {
    width: 54px;
    height: 30px;
    padding: 5px 6px;
    border-radius: 8px;
    border: 1px solid var(--glass-border-subtle);
    background: #fff;
    font-size: 13px;
    box-sizing: border-box;
}
.tup-config-kim-suffix {
    font-size: 12px;
    color: #64748b;
    margin-left: 2px;
}
.tup-config-kim-tip {
    width: 92px;
    flex-shrink: 0;
    height: 30px;
    padding: 5px 6px;
    border-radius: 8px;
    border: 1px solid var(--glass-border-subtle);
    background: #fff;
    font-size: 12px;
}

.tup-config-add-btn,
.add-toprak-aktif,
.add-kimyasal-aktif {
    flex-shrink: 0;
    height: 28px;
    padding: 4px 8px;
    font-size: 12px;
    background: var(--glass-bg) !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--text-primary, #0f172a);
}
.tup-config-add-btn:hover,
.add-toprak-aktif:hover,
.add-kimyasal-aktif:hover {
    background: var(--glass-bg-subtle, rgba(0, 0, 0, 0.04)) !important;
}
body.theme-karanlik .tup-config-add-btn,
body.theme-karanlik .add-toprak-aktif,
body.theme-karanlik .add-kimyasal-aktif {
    background: var(--glass-bg) !important;
    color: rgba(255, 255, 255, 0.92);
}
body.theme-karanlik .tup-config-add-btn:hover,
body.theme-karanlik .add-toprak-aktif:hover,
body.theme-karanlik .add-kimyasal-aktif:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff;
}

@media (max-width: 768px) {
    .tup-config-card .tup-config-body {
        grid-template-columns: 1fr;
    }
}

/* Tüp yapılandırma kartı: mobilde taşmayı önle */
@media (max-width: 640px) {
    .tup-config-card {
        min-width: 0;
        overflow: hidden;
    }
    .tup-config-row-cols {
        grid-template-columns: 1fr;
        min-width: 0;
    }
    .tup-config-row-cols > .tup-config-row {
        min-width: 0;
    }
    .tup-config-multi,
    .tup-config-chips {
        min-width: 0;
    }
    .tup-config-chip {
        flex-wrap: wrap;
        min-width: 0;
        max-width: 100%;
    }
    .tup-config-chip select {
        min-width: 0;
        max-width: 100%;
    }
    .toprak-combobox-wrap {
        max-width: none;
    }
    .tup-config-chip-kimyasal select:first-of-type {
        max-width: 100%;
    }
    .tup-config-header {
        flex-wrap: wrap;
        gap: 6px;
    }
    .tup-config-kaldir {
        flex-shrink: 0;
    }
}

/* Arge Klasörü: üst klasörler, alt tam genişlik detay */
.arge-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.arge-folders {
    max-width: 400px;
}

.arge-detail {
    width: 100%;
}

.arge-folders-only {
    max-width: none;
}

/* Müşteriler – orta boy klasör simgeleri */
.arge-musteri-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 16px;
}

.arge-musteri-folder-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.arge-musteri-folder-wrap .arge-musteri-folder {
    flex: 1;
    min-width: 0;
}

.arge-musteri-folder {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 10px;
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg);
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
    box-shadow: var(--shadow-glass);
    width: 100%;
    min-height: 100px;
}

.arge-musteri-folder:hover {
    background: var(--glass-bg-strong);
    box-shadow: var(--shadow-glass-hover);
}

.arge-musteri-folder-icon {
    width: 48px;
    height: 42px;
    margin-bottom: 6px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cpath fill='%23fbbf24' stroke='%23d97706' stroke-width='1.5' d='M4 8h20l6 8h30a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V12a4 4 0 0 1 4-4z'/%3E%3Cpath fill='%23fcd34d' d='M4 8h18l6 8h32v2H4V8z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

.arge-musteri-folder-name {
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    word-break: break-word;
    line-height: 1.25;
}

.arge-musteri-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
}

.arge-musteri-edit:hover {
    color: var(--accent);
    background: var(--glass-bg-subtle);
}

.arge-icon-pencil {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

/* Ayrıntılar görünümü – dosya listesi (Excel simgeli) */
.arge-details-desc {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0 0 12px;
}

.arge-details-header {
    display: grid;
    grid-template-columns: 40px 1fr 120px 80px;
    gap: 12px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--glass-border-subtle);
}

.arge-details-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arge-details-list li {
    margin: 0;
    padding: 0;
}

.arge-details-row {
    display: grid;
    grid-template-columns: 40px 1fr 120px 80px;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    text-decoration: none;
    color: inherit;
    border-radius: var(--radius-sm);
    transition: background 0.2s;
}

.arge-details-row:hover {
    background: var(--glass-bg-subtle);
}

.arge-details-th {
    min-width: 0;
}

.arge-details-th-icon {
    width: 40px;
}

.arge-details-cell {
    min-width: 0;
    font-size: 13px;
}

.arge-details-name {
    font-weight: 500;
}

.arge-details-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.arge-icon-excel {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23217040' d='M28 4H12a4 4 0 0 0-4 4v32a4 4 0 0 0 4 4h24a4 4 0 0 0 4-4V16L28 4z'/%3E%3Cpath fill='%23217040' d='M28 4v12h12'/%3E%3Cpath fill='%23fff' opacity='.9' d='M28 22v2h-4v-2h4zm0 6v2h-4v-2h4zm0 6v2h-4v-2h4zm-6-12v2h-4v-2h4zm0 6v2h-4v-2h4zm0 6v2h-4v-2h4zm-6-12v2H8v-2h8zm0 6v2H8v-2h8zm0 6v2H8v-2h8z'/%3E%3Cpath fill='%23217040' d='M28 4l12 12h-8a4 4 0 0 1-4-4V4z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

@media (max-width: 600px) {
    .arge-musteri-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
    .arge-details-header,
    .arge-details-row {
        grid-template-columns: 36px 1fr 80px 70px;
        gap: 8px;
        padding-left: 8px;
        padding-right: 8px;
    }
    .arge-details-icon {
        width: 28px;
        height: 28px;
    }
}

/* Çalışma detay sayfası: breadcrumb Projeler › Çalışma Detayları */
.arge-detail-page .page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.arge-breadcrumb {
    font-size: 13px;
    color: var(--text-tertiary);
    margin-bottom: 8px;
}

.arge-breadcrumb a {
    color: var(--accent);
    text-decoration: none;
}

.arge-breadcrumb a:hover {
    text-decoration: underline;
}

.arge-breadcrumb-sep {
    margin: 0 6px;
}

.arge-breadcrumb-current {
    color: var(--text-primary);
    font-weight: 500;
}

/* Klasör kartları – orta boy simgeli grid */
.arge-folder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}

.arge-folder-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 12px;
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
    box-shadow: var(--shadow-glass);
}

.arge-folder-card:hover {
    background: var(--glass-bg-strong);
    box-shadow: var(--shadow-glass-hover);
}

.arge-folder-icon {
    width: 64px;
    height: 56px;
    margin-bottom: 8px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cpath fill='%23fbbf24' stroke='%23d97706' stroke-width='1.5' d='M4 8h20l6 8h30a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V12a4 4 0 0 1 4-4z'/%3E%3Cpath fill='%23fcd34d' d='M4 8h18l6 8h32v2H4V8z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

.arge-folder-name {
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    word-break: break-word;
    line-height: 1.3;
}

.arge-folder-meta {
    font-size: 11px;
    color: var(--text-tertiary);
    margin-top: 4px;
    text-align: center;
}

.arge-detail-title {
    margin-top: 0;
    font-size: 18px;
}

.arge-detail-meta {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 16px;
}

/* Çalışma koşulları kartı (Ağartma / Deodorize – Tüpler kartının üstünde) */
.arge-kosul-card {
    margin-bottom: 16px;
}
.arge-kosul-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 32px;
}
.arge-kosul-block {
    flex: 0 1 auto;
}
.arge-kosul-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 10px;
}
.arge-kosul-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
}
.arge-kosul-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.arge-kosul-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
}
.arge-kosul-value {
    display: inline-block;
    min-width: 72px;
    padding: 6px 10px;
    font-size: 14px;
    color: var(--text-primary);
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-sm);
    font-variant-numeric: tabular-nums;
}
body.theme-karanlik .arge-kosul-value {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--glass-border-subtle);
}

/* Tüp kartları – tıklanabilir */
.arge-tup-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.arge-tup-card {
    display: block;
    padding: 14px 12px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.arge-tup-card:hover {
    background: #e2e8f0;
    border-color: #94a3b8;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.arge-tup-card-no {
    display: inline-block;
    font-weight: 700;
    font-size: 14px;
    color: #1e293b;
    margin-bottom: 6px;
}

.arge-tup-card-toprak,
.arge-tup-card-kimyasal {
    display: block;
    font-size: 12px;
    color: #475569;
    line-height: 1.4;
}

.arge-tup-card-hint {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    margin-top: 8px;
}

/* Çalışma Detayları – alt alta tüp listesi */
.arge-tup-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.arge-tup-list-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-md);
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    overflow: hidden;
}

.arge-tup-compare-wrap {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: 0 12px;
    border-right: 1px solid var(--glass-border-subtle);
    cursor: pointer;
    user-select: none;
}

.arge-tup-compare-cb {
    cursor: pointer;
    width: 18px;
    height: 18px;
}

.arge-tup-card-link {
    flex: 1;
    min-width: 0;
    display: block;
    padding: 0;
    text-decoration: none;
    color: inherit;
    transition: background 0.2s;
}

.arge-tup-card-link:hover {
    background: rgba(0, 0, 0, 0.03);
}

.arge-tup-card-link:hover .arge-tup-satir {
    background: transparent;
}

.arge-tup-satir {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    min-height: 52px;
}

.arge-tup-satir.arge-tup-deodorize {
    border-top: 1px solid var(--glass-border-subtle);
    background: rgba(0, 0, 0, 0.02);
}

.arge-tup-card-link:hover .arge-tup-satir.arge-tup-deodorize {
    background: rgba(0, 0, 0, 0.04);
}

.arge-tup-badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}

.arge-tup-badge-placeholder {
    visibility: hidden;
    pointer-events: none;
}

.arge-tup-satir-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.arge-tup-satir-line1 {
    font-size: 13px;
    color: #1e293b;
}

.arge-tup-satir-line2 {
    font-size: 12px;
    color: #64748b;
}

.arge-tup-renkler {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.arge-tup-renkler .chip {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.arge-tup-hint {
    display: block;
    text-align: right;
    font-size: 11px;
    color: var(--text-tertiary);
    padding: 6px 14px 12px;
    border-top: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
}

.arge-tup-card-link:hover .arge-tup-hint {
    background: rgba(0, 0, 0, 0.03);
}

/* Tüp karşılaştırma tablosu */
.arge-karsilastir-body {
    padding: 0;
    min-width: 0;
}

/* Tüp listesi: çok satırda dikey kaydırma (tüm tüpler görünsün) */
.arge-tup-table-scroll-wrap {
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.arge-tup-table-scroll-wrap .overflow-x-auto {
    overflow-x: visible;
}

.arge-karsilastir-body .overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Tek düzen: hem PC hem mobil – her tüp 2 satır (Ağartma, hemen altında Deodorize), Tüp no yeşil, Dozaj ayrı sütun, renk sütunları */
.arge-karsilastir-unified {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.arge-karsilastir-unified th,
.arge-karsilastir-unified td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--glass-border-subtle);
    vertical-align: middle;
}

.arge-karsilastir-unified th {
    font-weight: 600;
    text-align: center;
}

.arge-karsilastir-unified .arge-karsilastir-tup-no {
    width: 48px;
    min-width: 48px;
    text-align: center;
    font-weight: 700;
    background: rgba(22, 163, 74, 0.2);
    color: #0d5c2e;
}

body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-tup-no {
    background: rgba(22, 163, 74, 0.35);
    color: #86efac;
}

.arge-karsilastir-unified .arge-karsilastir-aciklama {
    min-width: 100px;
    max-width: 200px;
    text-align: left;
    word-break: break-word;
}
.arge-aciklama-pn-tst {
    font-size: 0.85em;
    font-style: italic;
}

.arge-karsilastir-unified .arge-karsilastir-dozaj {
    width: 64px;
    min-width: 64px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    vertical-align: top;
}
.arge-karsilastir-unified .arge-karsilastir-kimyasal {
    min-width: 90px;
    max-width: 160px;
    text-align: left;
    word-break: break-word;
    vertical-align: top;
}

/* Her tüp ayrımı: Tüm tüp kartı genelinde tek çizgi (rowspan hücreler dahil tüm sütunlar) */
.arge-karsilastir-unified tr.arge-karsilastir-row-deodorize td {
    border-bottom: 2px solid rgba(0, 0, 0, 0.14);
}
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-select,
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-tup-no,
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-dozaj,
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-kimyasal,
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-notlar,
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-path {
    border-bottom: 2px solid rgba(0, 0, 0, 0.14);
}
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-deodorize td {
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-select,
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-tup-no,
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-dozaj,
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-kimyasal,
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-notlar,
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma td.arge-karsilastir-path {
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.arge-karsilastir-unified .arge-karsilastir-deodorize-label {
    color: #dc2626;
    font-weight: 600;
}

body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-deodorize-label {
    color: #f87171;
}

/* Renk sütunları: R, Y, B, N, Klorofil */
.arge-karsilastir-unified .arge-karsilastir-col-r,
.arge-karsilastir-unified .arge-karsilastir-col-y,
.arge-karsilastir-unified .arge-karsilastir-col-b,
.arge-karsilastir-unified .arge-karsilastir-col-n,
.arge-karsilastir-unified .arge-karsilastir-col-klo {
    width: 56px;
    min-width: 56px;
    text-align: center;
    vertical-align: middle;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.arge-karsilastir-unified .arge-karsilastir-col-klo {
    width: 100px;
    min-width: 100px;
}
.arge-karsilastir-unified .arge-karsilastir-col-r { background: rgba(220, 38, 38, 0.14); }
.arge-karsilastir-unified .arge-karsilastir-col-y { background: rgba(234, 179, 8, 0.22); }
.arge-karsilastir-unified .arge-karsilastir-col-b { background: rgba(37, 99, 235, 0.14); }
.arge-karsilastir-unified .arge-karsilastir-col-n { background: rgba(100, 116, 139, 0.18); }
.arge-karsilastir-unified .arge-karsilastir-col-klo { background: rgba(22, 163, 74, 0.14); }

.arge-karsilastir-unified .arge-karsilastir-notlar {
    min-width: 80px;
    max-width: 180px;
    text-align: left;
    font-size: 0.9em;
    word-break: break-word;
}
.arge-karsilastir-unified .arge-karsilastir-path {
    min-width: 90px;
    text-align: left;
    vertical-align: middle;
}
.arge-karsilastir-unified .arge-path-form {
    display: inline-flex;
    align-items: center;
}
.arge-karsilastir-unified .arge-path-select {
    padding: 4px 8px;
    font-size: 0.9rem;
    border-radius: 6px;
    min-width: 72px;
}

body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-col-r { background: rgba(220, 38, 38, 0.28); }
body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-col-y { background: rgba(234, 179, 8, 0.28); }
body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-col-b { background: rgba(37, 99, 235, 0.28); }
body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-col-n { background: rgba(100, 116, 139, 0.28); }
body.theme-karanlik .arge-karsilastir-unified .arge-karsilastir-col-klo { background: rgba(22, 163, 74, 0.28); }

/* Başlık satırı renk sütunları */
.arge-karsilastir-unified thead .arge-karsilastir-col-r { background: rgba(220, 38, 38, 0.25); }
.arge-karsilastir-unified thead .arge-karsilastir-col-y { background: rgba(234, 179, 8, 0.35); }
.arge-karsilastir-unified thead .arge-karsilastir-col-b { background: rgba(37, 99, 235, 0.25); }
.arge-karsilastir-unified thead .arge-karsilastir-col-n { background: rgba(100, 116, 139, 0.3); }
.arge-karsilastir-unified thead .arge-karsilastir-col-klo { background: rgba(22, 163, 74, 0.25); }

.arge-karsilastir-unified thead .arge-karsilastir-tup-no {
    background: rgba(22, 163, 74, 0.3);
}
/* Proje detay tüp listesi: Seçim sütunu ve satır tıklanabilir */
.arge-tup-list-table .arge-karsilastir-select {
    width: 44px;
    min-width: 44px;
    text-align: center;
    vertical-align: middle;
}
.arge-tup-list-table .arge-karsilastir-select .arge-tup-compare-wrap {
    display: inline-flex;
    min-width: auto;
    padding: 0;
    border: none;
}
.arge-tup-list-table tr.arge-tup-row-click {
    cursor: pointer;
}
/* Tüp hattı bütünü: Ağartma + DEODORİZE satırları birlikte hover
   CSS-only: agartma hover olunca altındaki deodorize da hover olur (+ combinator) */
.arge-tup-list-table tr.arge-tup-row-click:hover td,
.arge-tup-list-table tr.arge-tup-block-hover td,
.arge-karsilastir-unified tr.arge-karsilastir-row-agartma:hover + tr.arge-karsilastir-row-deodorize td {
    box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.08);
}
body.theme-karanlik .arge-tup-list-table tr.arge-tup-row-click:hover td,
body.theme-karanlik .arge-tup-list-table tr.arge-tup-block-hover td,
body.theme-karanlik .arge-karsilastir-unified tr.arge-karsilastir-row-agartma:hover + tr.arge-karsilastir-row-deodorize td {
    box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.1);
}
.arge-tup-list-table tr.arge-karsilastir-row-agartma td.arge-karsilastir-select,
.arge-tup-list-table tr.arge-karsilastir-row-agartma td.arge-karsilastir-dozaj {
    border-bottom: 2px solid rgba(0, 0, 0, 0.14);
}
body.theme-karanlik .arge-tup-list-table tr.arge-karsilastir-row-agartma td.arge-karsilastir-select,
body.theme-karanlik .arge-tup-list-table tr.arge-karsilastir-row-agartma td.arge-karsilastir-dozaj {
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

/* Manuel renk değeri girişi — arka plan tamamen şeffaf: sadece td görünsün (blur/saydamlık birebir aynı) */
.arge-karsilastir-unified td .arge-sonuc-input,
.arge-karsilastir-unified .arge-sonuc-input,
.content .arge-sonuc-input,
.arge-sonuc-input {
    width: 100%;
    max-width: 52px;
    padding: 4px 6px;
    font-size: 12px;
    border: none !important;
    border-radius: 8px;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--text-primary, #0f172a);
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}
.arge-sonuc-input:hover,
.arge-sonuc-input:focus,
.arge-sonuc-input:focus-visible {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
}
body.theme-karanlik .arge-karsilastir-unified td .arge-sonuc-input,
body.theme-karanlik .arge-karsilastir-unified .arge-sonuc-input,
body.theme-karanlik .content .arge-sonuc-input,
body.theme-karanlik .arge-sonuc-input {
    background: transparent !important;
    background-color: transparent !important;
    color: #e2e8f0;
}
body.theme-karanlik .arge-sonuc-input:hover,
body.theme-karanlik .arge-sonuc-input:focus,
body.theme-karanlik .arge-sonuc-input:focus-visible {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
}
.arge-manual-hint {
    font-size: 12px;
    color: var(--text-muted, #64748b);
    margin-left: 12px;
}
.arge-manual-sonuc-actions {
    margin-top: 12px;
}

/* Telefon: R,Y,B,N,Klorofil geniş; Path dar */
@media (max-width: 480px) {
    .arge-karsilastir-unified { font-size: 12px; }
    .arge-karsilastir-unified th,
    .arge-karsilastir-unified td { padding: 6px 6px; }
    .arge-karsilastir-unified .arge-karsilastir-tup-no { width: 40px; min-width: 40px; }
    .arge-karsilastir-unified .arge-karsilastir-aciklama { max-width: 140px; }
    .arge-karsilastir-unified .arge-karsilastir-col-r,
    .arge-karsilastir-unified .arge-karsilastir-col-y,
    .arge-karsilastir-unified .arge-karsilastir-col-b,
    .arge-karsilastir-unified .arge-karsilastir-col-n { width: 58px; min-width: 58px; }
    .arge-karsilastir-unified .arge-karsilastir-col-klo { width: 68px; min-width: 68px; }
    .arge-karsilastir-unified .arge-karsilastir-path { min-width: 56px; width: 56px; }
    .arge-karsilastir-unified .arge-path-select { min-width: 48px; padding: 2px 4px; font-size: 11px; }
    .arge-karsilastir-unified .arge-sonuc-input,
    .arge-karsilastir-unified td .arge-sonuc-input { max-width: none; }
}

/* ====== Son Analizler – mini kart liste (anasayfa) ====== */
.sa-body { padding: 6px 8px !important; }
.sa-list { display: flex; flex-direction: column; gap: 4px; }

.sa-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--glass-border-subtle);
    border-radius: 8px;
    padding: 5px 7px;
    overflow: hidden;
    transition: box-shadow .15s, background .15s;
}
.sa-card:hover {
    background: rgba(0,0,0,0.03);
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
body.theme-karanlik .sa-card:hover {
    background: rgba(255,255,255,0.05);
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* Satır 1: Tüp · Klasör · tip */
.sa-head {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 2px;
    line-height: 1.2;
    overflow: hidden;
}
.sa-tup {
    flex-shrink: 0;
    font-weight: 700;
    font-size: 12px;
    color: #15803d;
}
body.theme-karanlik .sa-tup { color: #86efac; }
.sa-folder {
    font-weight: 700;
    font-size: 12px;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.sa-tip {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    letter-spacing: .2px;
}
.sa-tip--agr { background: rgba(22, 36, 163, 0.967); color: #fffffffe; }
.sa-tip--deo { background: rgb(18, 170, 18); color: #ffffff; }
body.theme-karanlik .sa-tip--agr { background: rgba(13, 21, 109, 0.855); color: #ffffff; }
body.theme-karanlik .sa-tip--deo { background: rgba(11, 155, 28, 0.914); color: #ffffff; }
.sa-bitis-saat {
    margin-left: auto;
    flex-shrink: 0;
    font-size: 12px;
    color: var(--text-secondary);
}
.sa-bitis-saat strong { color: var(--text-primary); }

/* Satır 2: toprak | kimyasal */
.sa-detail {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 11px;
    color: var(--text-secondary);
    margin-bottom: 3px;
    line-height: 1.3;
    min-width: 0;
    overflow: hidden;
}
.sa-toprak {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sa-pipe {
    flex-shrink: 0;
    font-weight: 800;
    font-size: 13px;
    color: var(--text-secondary);
    opacity: .55;
    padding: 0 1px;
}
.sa-kimyasal {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-secondary);
}

/* Satır 3: renkler + %BE en sağda */
.sa-colors {
    display: flex;
    gap: 2px;
    flex-wrap: nowrap;
    overflow: hidden;
}
.sa-c {
    min-width: 0;
    flex: 1 1 0;
    padding: 2px 2px;
    text-align: center;
    font-size: 11px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sa-c-r { background: rgba(220,38,38,0.12); color: #991b1b; }
.sa-c-y { background: rgba(234,179,8,0.18); color: #854d0e; }
.sa-c-b { background: rgba(37,99,235,0.12); color: #1e40af; }
.sa-c-n { background: rgba(100,116,139,0.14); color: #334155; }
.sa-c-k { background: rgba(22,163,74,0.12); color: #166534; }
.sa-c-be {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 2px 5px;
    font-weight: 600;
    background: rgba(100,116,139,0.10);
    color: var(--text-primary);
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
}
.sa-c-be small {
    font-size: 7px;
    font-weight: 700;
    opacity: .55;
    letter-spacing: .3px;
}
body.theme-karanlik .sa-c-r { background: rgba(220,38,38,0.25); color: #fca5a5; }
body.theme-karanlik .sa-c-y { background: rgba(234,179,8,0.25); color: #fde68a; }
body.theme-karanlik .sa-c-b { background: rgba(37,99,235,0.25); color: #93c5fd; }
body.theme-karanlik .sa-c-n { background: rgba(100,116,139,0.25); color: #cbd5e1; }
body.theme-karanlik .sa-c-k { background: rgba(22,163,74,0.25); color: #86efac; }
body.theme-karanlik .sa-c-be { background: rgba(100,116,139,0.22); }

/* Mobil optimizasyon – taşmayı önle, sığdır */
@media (max-width: 768px) {
    .dashboard,
    .dashboard-grid,
    .card.card-live,
    .card-live .card-body.sa-body,
    .sa-list,
    .sa-card {
        min-width: 0;
        max-width: 100%;
        overflow-x: hidden;
    }
    .card-live .card-header {
        flex-wrap: wrap;
        gap: 4px;
        min-width: 0;
    }
    .card-live .card-title,
    .card-live .card-hint {
        min-width: 0;
    }
    .sa-head {
        flex-wrap: wrap;
        gap: 4px 6px;
    }
    .sa-bitis-saat {
        flex: 1 1 100%;
        margin-left: 0;
        margin-top: 2px;
        text-align: right;
        font-size: 11px;
    }
    .sa-colors {
        flex-wrap: wrap;
        gap: 3px;
    }
    .sa-c {
        min-width: 2.25em;
        flex: 1 1 auto;
    }
}

@media (max-width: 480px) {
    .sa-body { padding: 4px 5px !important; }
    .sa-card { padding: 4px 5px; }
    .sa-head { gap: 4px; }
    .sa-tup { font-size: 11px; }
    .sa-folder { font-size: 11px; }
    .sa-tip { font-size: 9px; padding: 1px 4px; }
    .sa-detail { font-size: 10px; gap: 3px; }
    .sa-pipe { font-size: 11px; }
    .sa-c { font-size: 10px; padding: 2px 1px; min-width: 2em; }
    .sa-c-be { padding: 2px 3px; font-size: 10px; }
    .sa-c-be small { font-size: 6px; }
}

/* Deodorize satırında %BE hücresini gizle (arge klasörü) */
.son-analiz-deodorize-be-hidden {
    color: transparent !important;
    user-select: none;
    pointer-events: none;
}

/* Excel indir & Karşılaştır butonları – belirgin stil */
.btn-excel-tup,
.btn-karsilastir-tup {
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    letter-spacing: .2px;
    transition: background .15s, box-shadow .15s, transform .1s;
}
.btn-excel-tup {
    background: #16a34a !important;
    color: #fff !important;
    border: none !important;
}
.btn-excel-tup:hover {
    background: #15803d !important;
    box-shadow: 0 2px 6px rgba(22,163,74,0.35);
    transform: translateY(-1px);
}
.btn-karsilastir-tup {
    background: #2563eb !important;
    color: #fff !important;
    border: none !important;
}
.btn-karsilastir-tup:hover {
    background: #1d4ed8 !important;
    box-shadow: 0 2px 6px rgba(37,99,235,0.35);
    transform: translateY(-1px);
}
body.theme-karanlik .btn-excel-tup {
    background: #22c55e !important;
    color: #052e16 !important;
}
body.theme-karanlik .btn-karsilastir-tup {
    background: #3b82f6 !important;
    color: #eff6ff !important;
}

.arge-karsilastir-table {
    border-collapse: collapse;
    font-size: 13px;
}

/* Masaüstü tablo: ilk sütun özellik, diğerleri eşit genişlikte Tüp sütunları (değer tam üstte) */
.arge-karsilastir-desktop .arge-karsilastir-table {
    width: max-content;
    min-width: 100%;
}

.arge-karsilastir-table th,
.arge-karsilastir-table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--glass-border-subtle);
}

.arge-karsilastir-table th {
    font-weight: 600;
    background: rgba(0, 0, 0, 0.03);
}

.arge-karsilastir-metric {
    width: 140px;
    min-width: 140px;
    text-align: left;
    color: var(--text-secondary);
}

.arge-karsilastir-tup {
    width: 100px;
    min-width: 100px;
    text-align: center;
}

.arge-karsilastir-table td.arge-karsilastir-metric {
    text-align: left;
}

.arge-karsilastir-table td:not(.arge-karsilastir-metric) {
    text-align: center;
    font-variant-numeric: tabular-nums;
    width: 100px;
    min-width: 100px;
}

.arge-karsilastir-group td {
    background: rgba(0, 0, 0, 0.04);
    font-weight: 600;
    padding-top: 14px;
    padding-bottom: 6px;
}

/* Renk satırları: R, Y, B, N, Klorofil kendi renginde (göz yormadan takip) */
.arge-karsilastir-row-r td {
    background: rgba(220, 38, 38, 0.12);
}
.arge-karsilastir-row-y td {
    background: rgba(234, 179, 8, 0.2);
}
.arge-karsilastir-row-b td {
    background: rgba(37, 99, 235, 0.12);
}
.arge-karsilastir-row-n td {
    background: rgba(100, 116, 139, 0.15);
}
.arge-karsilastir-row-klo td {
    background: rgba(22, 163, 74, 0.12);
}

body.theme-karanlik .arge-karsilastir-row-r td {
    background: rgba(220, 38, 38, 0.25);
}
body.theme-karanlik .arge-karsilastir-row-y td {
    background: rgba(234, 179, 8, 0.25);
}
body.theme-karanlik .arge-karsilastir-row-b td {
    background: rgba(37, 99, 235, 0.25);
}
body.theme-karanlik .arge-karsilastir-row-n td {
    background: rgba(100, 116, 139, 0.25);
}
body.theme-karanlik .arge-karsilastir-row-klo td {
    background: rgba(22, 163, 74, 0.25);
}

/* Mobil: transpoz tablo (tüpler satırda, metrikler sütunda) */
.arge-karsilastir-table-transposed {
    table-layout: fixed;
    min-width: 100%;
}

.arge-karsilastir-table-transposed .arge-karsilastir-sticky-col {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--glass-bg, #fff);
    font-weight: 600;
    min-width: 56px;
    width: 56px;
    text-align: center;
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0.06);
}

body.theme-karanlik .arge-karsilastir-table-transposed .arge-karsilastir-sticky-col {
    background: var(--glass-bg);
}

.arge-karsilastir-table-transposed th,
.arge-karsilastir-table-transposed td {
    min-width: 70px;
    width: 70px;
    text-align: center;
    padding: 8px 6px;
    font-size: 12px;
}

.arge-karsilastir-table-transposed td:first-of-type,
.arge-karsilastir-table-transposed th:first-of-type {
    min-width: 56px;
    width: 56px;
}

.arge-karsilastir-table-transposed .arge-karsilastir-subhead {
    text-align: center;
    font-size: 11px;
    background: rgba(0, 0, 0, 0.06);
}

.arge-karsilastir-mobile-metric-row th {
    font-size: 11px;
    font-weight: 600;
}

/* Mobil tablo renk sütunları (R,Y,B,N,Klo) */
.arge-karsilastir-table-transposed .col-r {
    background: rgba(220, 38, 38, 0.15);
}
.arge-karsilastir-table-transposed .col-y {
    background: rgba(234, 179, 8, 0.22);
}
.arge-karsilastir-table-transposed .col-b {
    background: rgba(37, 99, 235, 0.15);
}
.arge-karsilastir-table-transposed .col-n {
    background: rgba(100, 116, 139, 0.18);
}
.arge-karsilastir-table-transposed .col-klo {
    background: rgba(22, 163, 74, 0.15);
}

body.theme-karanlik .arge-karsilastir-table-transposed .col-r {
    background: rgba(220, 38, 38, 0.28);
}
body.theme-karanlik .arge-karsilastir-table-transposed .col-y {
    background: rgba(234, 179, 8, 0.28);
}
body.theme-karanlik .arge-karsilastir-table-transposed .col-b {
    background: rgba(37, 99, 235, 0.28);
}
body.theme-karanlik .arge-karsilastir-table-transposed .col-n {
    background: rgba(100, 116, 139, 0.28);
}
body.theme-karanlik .arge-karsilastir-table-transposed .col-klo {
    background: rgba(22, 163, 74, 0.28);
}

/* Toprak/Kimyasal ve Yağ sütunları mobilde daha geniş */
.arge-karsilastir-table-transposed th:nth-child(2),
.arge-karsilastir-table-transposed td:nth-child(2) {
    min-width: 100px;
    max-width: 140px;
    text-align: left;
    white-space: normal;
    word-break: break-word;
}
.arge-karsilastir-table-transposed th:nth-child(3),
.arge-karsilastir-table-transposed td:nth-child(3) {
    min-width: 64px;
    width: 64px;
    text-align: center;
}

/* Ar-Ge sayfaları: mobil (dar ekran) hizalama ve taşma önleme */
.arge-page .card-body,
.arge-detail .card-body {
    min-width: 0;
}

@media (max-width: 992px) {
    .arge-page {
        min-width: 0;
    }

    .arge-breadcrumb {
        font-size: 12px;
        word-break: break-word;
        overflow-wrap: break-word;
        margin-bottom: 6px;
    }

    .arge-breadcrumb-sep {
        margin: 0 4px;
    }

    .arge-detail-page .page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .arge-detail-page .page-header h2 {
        word-break: break-word;
        overflow-wrap: break-word;
        min-width: 0;
        font-size: 1.25rem;
    }

    .arge-detail-page .page-header-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .arge-detail-meta {
        font-size: 12px;
        word-break: break-word;
    }

    /* Tüp satırı: mobilde grid – badge + metin üstte, renk skalaları altta hizalı */
    .arge-tup-satir {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        gap: 8px 12px;
        align-items: start;
        padding: 10px 12px;
        min-height: 0;
    }

    .arge-tup-badge {
        grid-column: 1;
        grid-row: 1;
        width: 36px;
        height: 36px;
        font-size: 12px;
    }

    .arge-tup-badge-placeholder {
        grid-column: 1;
        grid-row: 1;
    }

    .arge-tup-satir-text {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .arge-tup-satir-line1,
    .arge-tup-satir-line2 {
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .arge-tup-satir-line1 {
        font-size: 12px;
    }

    .arge-tup-satir-line2 {
        font-size: 11px;
    }

    .arge-tup-renkler {
        grid-column: 2;
        grid-row: 2;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 2px;
    }

    .arge-tup-renkler .chip {
        padding: 3px 6px;
        font-size: 10px;
        white-space: nowrap;
    }

    .arge-tup-hint {
        padding: 8px 12px 10px;
        font-size: 10px;
    }

    .arge-tup-list {
        gap: 10px;
    }

    .arge-tup-list-item {
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .arge-folder-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .arge-folder-card {
        padding: 14px 10px;
        flex-direction: row;
        align-items: center;
        gap: 12px;
        text-align: left;
    }

    .arge-folder-icon {
        width: 48px;
        height: 44px;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .arge-folder-name {
        font-size: 13px;
        text-align: left;
        flex: 1;
        min-width: 0;
    }

    .arge-folder-meta {
        font-size: 11px;
        text-align: left;
        margin-top: 2px;
    }

    .arge-tup-satir {
        padding: 8px 10px;
        gap: 6px 10px;
    }

    .arge-tup-badge {
        width: 32px;
        height: 32px;
        font-size: 11px;
    }

    .arge-tup-renkler .chip {
        padding: 2px 5px;
        font-size: 9px;
    }

    .arge-detail-page .page-header h2 {
        font-size: 1.125rem;
    }

    .rename-folder-form {
        flex-wrap: wrap;
        gap: 8px;
    }

    .rename-folder-form input {
        min-width: 0;
        width: 100%;
    }
}

/* Tüp detay sayfası */
.tup-detay-page .page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.tup-detay-page .page-header h2 {
    margin: 0;
}

.tup-detay-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px 20px;
}

.tup-detay-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tup-detay-label {
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tup-detay-value {
    font-size: 14px;
    font-weight: 500;
}

.tup-detay-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tup-detay-list li {
    padding: 6px 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 14px;
}

.tup-detay-list li:last-child {
    border-bottom: none;
}

.table-color-cells {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.table-color-cells .chip {
    padding: 2px 6px;
    font-size: 11px;
}

/* Numune Takip / Ön Lab: alt alta layout */
.dinamik-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.dinamik-tablo-card {
    width: 100%;
}

.dinamik-tablo-card .table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Genel dinamik tablo (dinamik-table OLMAYAN) */
.dinamik-tablo-card .data-table:not(.dinamik-table) {
    table-layout: fixed;
    min-width: 100%;
}

.dinamik-tablo-card .data-table:not(.dinamik-table) th,
.dinamik-tablo-card .data-table:not(.dinamik-table) td {
    min-width: 80px;
    max-width: 200px;
}

/* Ön Lab / Numune Takip: Satır/Sütun ekle toolbar (açılır kapa değil, doğrudan) */
.dinamik-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

/* Ön Lab detay: toolbar satırı ortada, Bölüm notları aynı satırda */
.dinamik-toolbar-centered {
    justify-content: center;
    gap: 12px;
    padding: 4px 0 14px;
}
.dinamik-toolbar-centered .dinamik-toolbar-inline {
    gap: 8px;
}
.btn-toolbar-notlar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover, #2563eb) 100%);
    border: none;
    border-radius: var(--radius-sm);
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-toolbar-notlar:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.35);
}
.btn-toolbar-notlar-icon {
    font-size: 1.1em;
    line-height: 1;
}
body.theme-karanlik .btn-toolbar-notlar {
    box-shadow: 0 2px 10px rgba(0, 102, 204, 0.4);
}
body.theme-karanlik .btn-toolbar-notlar:hover {
    box-shadow: 0 4px 14px rgba(0, 102, 204, 0.5);
}

.dinamik-toolbar-inline {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.dinamik-toolbar-input {
    min-width: 160px;
}

/* Numune Takip: Tabloyu düzenle dropdown (onlab_detay artık .dinamik-toolbar kullanıyor) */
.dinamik-edit-dropdown {
    margin-bottom: 14px;
}
.dinamik-edit-dropdown summary {
    list-style: none;
    cursor: pointer;
    display: inline-block;
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg);
    font-size: 14px;
    user-select: none;
}
.dinamik-edit-dropdown summary::-webkit-details-marker {
    display: none;
}
.dinamik-edit-dropdown summary::after {
    content: " ▾";
    opacity: 0.7;
}
.dinamik-edit-dropdown[open] summary::after {
    content: " ▴";
}
.dinamik-edit-summary {
    background: var(--accent) !important;
    color: #fff !important;
    border-color: var(--accent) !important;
    font-weight: 600;
}
.dinamik-edit-summary:hover {
    background: var(--accent-hover) !important;
    border-color: var(--accent-hover) !important;
}
.dinamik-edit-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 20px;
    margin-top: 12px;
    padding: 12px 0;
}
.dinamik-toolbar-inline input[type="text"] {
    min-width: 140px;
}

.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;
}

/* Excel benzeri tablo (Numune Takip / Ön Lab) */
.dinamik-tablo-card.dinamik-tablo-excel .table-wrapper {
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.dinamik-tablo-card.dinamik-tablo-excel .table-wrapper.dinamik-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-width: 0; /* flex içinde küçülmesin */
}

/* Dinamik tablo: sütunlar MUTLAKA yan yana (table layout zorunlu) */
.dinamik-tablo-card.dinamik-tablo-excel .table-wrapper.dinamik-table-wrap .dinamik-table {
    display: table !important;
    table-layout: auto;
    width: max-content !important;
    min-width: 100%;
    border-collapse: collapse;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table thead {
    display: table-header-group !important;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table tbody {
    display: table-row-group !important;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table tr {
    display: table-row !important;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table th,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table td {
    display: table-cell !important;
    min-width: 0;
    max-width: none;
    white-space: nowrap;
    vertical-align: middle;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell input {
    min-width: 4em;
    width: 100%;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(148, 163, 184, 0.6);
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-th {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-width: 72px;
    overflow: hidden;
    white-space: normal;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .th-label {
    min-width: 0;
    flex: 1;
    white-space: normal;
    word-break: break-word;
    line-height: 1.25;
}
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .th-label a {
    display: block;
    word-break: break-word;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-th .btn-cell-remove {
    flex-shrink: 0;
}

/* No sütunu: dar ve sabit */
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-th-no,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell-no {
    width: 56px;
    max-width: 56px;
    white-space: nowrap;
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell-no input {
    max-width: 100%;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

/* Notlar sütunu: metin sarılsın, genişlik kontrollü */
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell-not,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-th-not {
    max-width: 260px;
    min-width: 200px;
    white-space: normal;
    word-break: break-word;
}

.dinamik-cell-notarea {
    width: 100%;
    min-width: 180px;
    min-height: 2.6em;
    resize: vertical;
    padding: 4px 6px;
    font-size: 13px;
    line-height: 1.4;
    border: 1px solid var(--glass-border-subtle);
    border-radius: 4px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.15);
    white-space: normal;
    word-wrap: break-word;
}

.dinamik-cell-notarea:focus {
    outline: none;
    border-color: var(--accent);
    background-color: rgba(255, 255, 255, 0.35);
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-meta,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-row-action {
    white-space: nowrap;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-row-action {
    width: 1%;
    text-align: center;
}

/* Sil butonları: sade, hover'da kırmızı */
.btn-cell-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.7);
    background: transparent;
    color: #64748b;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.btn-cell-remove:hover {
    border-color: rgba(220, 38, 38, 0.7);
    background: rgba(220, 38, 38, 0.06);
    color: #b91c1c;
}

/* Satır/sütun kaldır artık JS ile; buton type="button" */

.dinamik-tablo-card.dinamik-tablo-excel .data-table thead th {
    background: rgba(0, 127, 255, 0.08);
    border-bottom: 2px solid rgba(0, 127, 255, 0.2);
    border-right: 1px solid var(--glass-border-subtle);
    padding: 10px 12px;
    font-weight: 600;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table thead th {
    padding: 8px 10px;
}

.dinamik-tablo-card.dinamik-tablo-excel .data-table thead th:last-child,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table thead th:last-child {
    border-right: none;
}

.dinamik-tablo-card.dinamik-tablo-excel .data-table td,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table td {
    border-right: 1px solid var(--glass-border-subtle);
    padding: 8px 12px;
}

.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table td {
    padding: 8px 10px;
}

.dinamik-tablo-card.dinamik-tablo-excel .data-table td:last-child,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table td:last-child {
    border-right: none;
}

.dinamik-tablo-card.dinamik-tablo-excel .data-table tbody tr:hover,
.dinamik-tablo-card.dinamik-tablo-excel .dinamik-table tbody tr:hover {
    background: rgba(0, 127, 255, 0.04);
}

.th-edit-link {
    color: inherit;
    text-decoration: none;
}

.th-edit-link:hover {
    text-decoration: underline;
}

/* Numune Takip / Ön Lab tablo – mobil */
@media (max-width: 768px) {
    .dinamik-edit-summary {
        padding: 10px 16px;
        font-size: 15px;
    }

    .dinamik-edit-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .dinamik-toolbar-inline {
        width: 100%;
    }

    .dinamik-toolbar-inline input[type="text"] {
        flex: 1;
        min-width: 0;
    }

    .dinamik-table-wrap {
        margin-left: -8px;
        margin-right: -8px;
        border-radius: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: inset 0 0 0 1px var(--glass-border-subtle);
    }

    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table {
        font-size: 12px;
    }

    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table th,
    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table td {
        padding: 6px 8px;
    }

    /* Mobilde uzun metin sütunu şişirmesin; max genişlik + satır kaydırma */
    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell,
    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-th {
        max-width: 140px;
        white-space: normal;
        word-break: break-word;
    }

    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell input {
        min-width: 3em;
        font-size: 14px;
        max-width: 100%;
    }

    .btn-cell-remove {
        width: 22px;
        height: 22px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table {
        font-size: 11px;
    }

    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table th,
    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table td {
        padding: 5px 6px;
    }

    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-cell,
    .dinamik-tablo-card.dinamik-tablo-excel .dinamik-table .dinamik-th {
        max-width: 110px;
    }
}

.dinamik-add-folder-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px 14px;
    align-items: end;
    margin-bottom: 16px;
}

.dinamik-add-folder-form .form-group-full {
    grid-column: 1 / -1;
}

.serbest-not-card {
    margin-top: 18px;
}
.serbest-not-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.serbest-not-textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-sm);
    box-sizing: border-box;
}
.serbest-not-textarea:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
}
.serbest-not-actions {
    display: flex;
    gap: 8px;
}

/* Bölüm notları sayfası (onlab_notlar.php) */
.onlab-notlar-page .page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.onlab-notlar-card .card-body {
    padding: 16px;
}
.onlab-notlar-toolbar {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    padding: 8px 10px;
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border-subtle);
    border-bottom: none;
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.onlab-toolbar-btn {
    padding: 6px 10px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-xs);
    background: var(--glass-bg);
    color: var(--text-primary);
    cursor: pointer;
}
.onlab-toolbar-btn:hover {
    background: var(--glass-bg-hover);
    border-color: var(--accent);
}
.onlab-toolbar-sep {
    width: 1px;
    height: 20px;
    background: var(--glass-border-subtle);
    margin: 0 4px;
}
.onlab-notlar-editor {
    min-height: 220px;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.55;
    border: 1px solid var(--glass-border-subtle);
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
    overflow-y: auto;
}
.onlab-notlar-editor:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.15);
}
.onlab-notlar-editor ul,
.onlab-notlar-editor ol {
    margin: 8px 0;
    padding-left: 24px;
}
.onlab-notlar-actions {
    margin-top: 14px;
}

/* Bölüm notları: düz okuma görünümü (en-boy oranı okumaya uygun) */
.onlab-notlar-viewer {
    max-width: 52ch;
    line-height: 1.65;
    font-size: 15px;
    padding: 4px 0 20px;
    color: var(--text-primary);
}
.onlab-notlar-viewer h1,
.onlab-notlar-viewer h2,
.onlab-notlar-viewer h3,
.onlab-notlar-viewer h4 {
    margin: 1.2em 0 0.5em;
    line-height: 1.3;
}
.onlab-notlar-viewer h1:first-child,
.onlab-notlar-viewer h2:first-child,
.onlab-notlar-viewer h3:first-child { margin-top: 0; }
.onlab-notlar-viewer p { margin: 0.6em 0; }
.onlab-notlar-viewer ul,
.onlab-notlar-viewer ol {
    margin: 0.6em 0;
    padding-left: 1.5em;
}
.onlab-notlar-viewer a { color: var(--accent); }
.onlab-notlar-empty {
    color: var(--text-secondary);
    font-style: italic;
    margin: 0;
}
.onlab-notlar-read-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.onlab-note-tooltip {
    position: fixed;
    z-index: 10050;
    max-width: 360px;
    max-height: 240px;
    overflow: auto;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.45;
    background: rgba(30, 41, 59, 0.96);
    color: #f1f5f9;
    border-radius: var(--radius-sm);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    pointer-events: none;
    white-space: pre-wrap;
    word-break: break-word;
}

.dinamik-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 10px;
}

.dinamik-toolbar .form-group {
    margin-bottom: 0;
}

.dinamik-save-row {
    margin-top: 12px;
}

.dinamik-edit-col-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
    background: #f1f5f9;
    border-radius: 10px;
}

.dinamik-detail-page .page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dinamik-detail-page .dinamik-tablo-card {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.page-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.rename-folder-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 0;
}

.rename-folder-form input[type="text"] {
    min-width: 200px;
}

/* Sayı hizalaması: ondalık ayırıcılar aynı hizada (proje geneli kural) */
.num-align,
.stok-weight-lg,
.data-table td input[type="number"] {
    font-variant-numeric: tabular-nums;
}

/* Asit tayini sayfası */

.asit-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px 14px;
}

.asit-form-grid .form-group {
    margin-bottom: 0;
}

.asit-form-grid input {
    width: 100%;
}

/* Asit tayini tablosu: %H2SO4 ve mg KOH/g sütunları kalın */
.asit-page .data-table th:nth-child(6),
.asit-page .data-table th:nth-child(7),
.asit-page .data-table td:nth-child(6),
.asit-page .data-table td:nth-child(7) {
    font-weight: 700;
}

.hint {
    display: block;
    font-size: 11px;
    color: #64748b;
    margin-top: 2px;
}

label .hint {
    display: inline;
    font-weight: normal;
    margin-top: 0;
}

.table-wrapper {
    overflow-x: auto;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table thead {
    background: rgba(0, 0, 0, 0.04);
    color: var(--text-primary);
}

.data-table th,
.data-table td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--glass-border-subtle);
    text-align: left;
}

.data-table th {
    font-weight: 600;
    color: var(--text-secondary);
}

.data-table tbody tr:nth-child(even) {
    background: rgba(0, 0, 0, 0.02);
}

.data-table tbody tr:nth-child(odd) {
    background: transparent;
}

/* Tüp konfigürasyon kartları (Çalışma Başlat) */

.tup-config-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tup-card {
    border-radius: 16px;
    padding: 10px 11px;
    background: #f1f5f9;
    border: 1px solid var(--glass-border-subtle);
}

.tup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.tup-title {
    font-size: 14px;
    font-weight: 600;
}

.tup-status {
    font-size: 12px;
    color: #475569;
}

.tup-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tup-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tup-subtitle {
    font-size: 12px;
    color: #475569;
}

.tup-multi {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.tup-chip-group {
    display: flex;
    gap: 4px;
}

.tup-chip-group select,
.tup-chip-group input {
    padding: 7px 8px;
    border-radius: 10px;
    border: 1px solid var(--glass-border-subtle);
    background: #ffffff;
    color: #0f172a;
    font-size: 13px;
}

.tup-chip-group select {
    min-width: 160px;
}

.tup-chip-group input {
    width: 80px;
}

.tup-actions {
    margin-top: 4px;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.card-header-with-actions .card-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-title {
    font-size: 14px;
    font-weight: 600;
}

.analysis-list,
.project-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.analysis-item,
.project-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

.project-item-expandable {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.project-item-expandable .project-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.project-inline-wrap {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}

.home-tup-inline {
    background: #f8fafc;
    border-radius: 10px;
    padding: 12px;
    margin-top: 4px;
}

.home-tup-inline-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.home-tup-inline-title {
    font-size: 13px;
    font-weight: 600;
}

.home-tup-inline-body .tup-excel-list {
    margin: 0;
}

.home-tup-inline-body .tup-excel-row {
    margin-bottom: 12px;
}

/* Ana sayfa aktif çalışmalar – tablo görünümü (Tüp, Toprak, %BE, Kimyasal) */
.home-tup-aktif-wrap {
    margin-top: 4px;
}
.home-tup-aktif-wrap .overflow-x-auto {
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
}
.home-tup-aktif-table.arge-karsilastir-unified {
    margin: 0;
}
.home-tup-aktif-table.arge-karsilastir-unified thead .arge-karsilastir-tup-no {
    background: rgba(22, 163, 74, 0.3);
}
.home-tup-aktif-table.arge-karsilastir-unified td.arge-karsilastir-tup-no {
    background: rgba(22, 163, 74, 0.2);
    font-weight: 600;
}
body.theme-karanlik .home-tup-aktif-table.arge-karsilastir-unified thead .arge-karsilastir-tup-no,
body.theme-karanlik .home-tup-aktif-table.arge-karsilastir-unified td.arge-karsilastir-tup-no {
    background: rgba(22, 163, 74, 0.35);
    color: #86efac;
}
.home-tup-aktif-status td.home-tup-aktif-status-cell {
    padding: 6px 10px 10px;
    border-bottom: 1px solid var(--glass-border-subtle);
    vertical-align: top;
}
.home-tup-aktif-status-cell .analysis-sub {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}
.home-tup-aktif-status-cell .tup-excel-countdown {
    font-size: 12px;
    color: #dc2626;
    font-weight: 500;
}
body.theme-karanlik .home-tup-aktif-status-cell .tup-excel-countdown {
    color: #f87171;
}
.home-tup-renk-bekleniyor-label {
    display: block;
    color: #dc2626;
    font-weight: 600;
    font-size: 13px;
    margin-top: 4px;
}
body.theme-karanlik .home-tup-renk-bekleniyor-label {
    color: #f87171;
}
.home-tup-bitti-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.home-tup-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    font-size: 12px;
    font-weight: 600;
    color: #fff;
}
.home-tup-badge-agartma {
    background: #2564eb7b;
    color: #fff;
}
.home-tup-badge-deodorize {
    background: #16a34a8f;
    color: #fff;
}
body.theme-karanlik .home-tup-badge-agartma {
    background: #3b82f6;
}
body.theme-karanlik .home-tup-badge-deodorize {
    background: #22c55e;
}

.home-tup-display-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-tup-display-item .tup-excel-countdown,
.home-tup-display-item .countdown-done-msg {
    margin-top: 4px;
    font-size: 12px;
}

.analysis-main {
    display: flex;
    align-items: center;
    gap: 8px;
}

.badge {
    padding: 2px 7px;
    border-radius: 999px;
    background: #1d4ed8;
    color: white;
    font-size: 11px;
}

.analysis-title {
    font-size: 13px;
}

.analysis-sub {
    font-size: 11px;
    color: #475569;
}

.analysis-metrics {
    display: flex;
    gap: 4px;
}

.chip {
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 11px;
}

/* Renk chip'leri - belirgin arka plan, yüksek kontrast */
.chip-red { background: #dc2626; color: #fff; }
.chip-yellow { background: #eab308; color: #1e293b; }
.chip-blue { background: #2563eb; color: #fff; }
.chip-neutral { background: #64748b; color: #fff; }
.chip-green { background: #16a34a; color: #fff; }

.tup-chip-colored .chip {
    padding: 4px 6px;
}

.tup-chip-colored .chip input {
    width: 60px;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 12px;
}

.tup-chip-colored .chip-red input { color: #fff; }
.tup-chip-colored .chip-yellow input { color: #1e293b; }
.tup-chip-colored .chip-blue input,
.tup-chip-colored .chip-neutral input,
.tup-chip-colored .chip-green input { color: #fff; }

/* Stok – Ekipman kalibrasyon uyarısı */
.ekipman-kalibrasyon-uyari {
    border-left: 4px solid var(--accent-red) !important;
}

.stok-ekipman-kal-icon {
    margin-left: 4px;
    vertical-align: middle;
}

/* Kritik Stok: grid kartlar, progress bar, badge */
.kritik-stok-section {
    max-width: 100%;
}

.kritik-stok-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--accent-red);
    color: #fff;
    font-weight: 700;
    padding: 12px 20px;
    border-radius: var(--radius-md);
    margin-bottom: 20px;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35);
}

.kritik-stok-badge-count {
    font-size: 1.5rem;
    line-height: 1;
}

.kritik-stok-badge-label {
    font-size: 0.95rem;
}

.kritik-stok-desc {
    color: var(--text-secondary);
    margin: 0 0 20px 0;
    font-size: 14px;
}

.kritik-stok-grid-wrap {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.kritik-stok-category {
    margin: 0;
}

.kritik-stok-cat-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin: 0 0 12px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--glass-border-subtle);
}

.kritik-stok-empty {
    color: var(--text-tertiary);
    font-size: 14px;
    margin: 0;
}

.kritik-stok-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}

.kritik-stok-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-md);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.kritik-stok-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.kritik-stok-icon {
    flex-shrink: 0;
    color: var(--accent-red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.kritik-stok-name {
    font-weight: 900;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.02em;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kritik-stok-progress-wrap {
    height: 8px;
    background: rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.kritik-stok-progress-bar {
    height: 100%;
    border-radius: var(--radius-full);
    transition: width 0.2s ease;
}

.kritik-progress-red {
    background: var(--accent-red);
}

.kritik-progress-orange {
    background: #ea580c;
}

.kritik-progress-ok {
    background: #16a34a;
}

.kritik-stok-meta {
    font-size: 12px;
    color: var(--text-tertiary);
}

.kritik-stok-quick-btn {
    align-self: flex-start;
}

.kritik-quick-name {
    margin: 0 0 12px 0;
    font-weight: 600;
    color: var(--text-primary);
}

/* Ekipman: Master-Detail layout (sol menü + tablo) */
.stok-ekipman-master {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    min-width: 0;
}

.ekipman-sidebar {
    flex-shrink: 0;
    width: 200px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-md);
    padding: 12px;
}

.ekipman-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ekipman-sidebar-link {
    display: block;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 14px;
}

.ekipman-sidebar-link:hover {
    background: rgba(0, 0, 0, 0.05);
    color: var(--text-primary);
}

.ekipman-sidebar-link.active {
    background: var(--accent);
    color: #fff;
}

.ekipman-sidebar-actions {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--glass-border-subtle);
}

.ekipman-main {
    flex: 1;
    min-width: 0;
}

.ekipman-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.ekipman-search-input {
    padding: 8px 14px;
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-sm);
    font-size: 14px;
    width: 100%;
    max-width: 280px;
}

.ekipman-search-input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
}

.ekipman-card-table-wrap .card-body {
    padding: 0;
}

.ekipman-table-responsive {
    overflow-x: auto;
}

.ekipman-smart-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ekipman-smart-table th,
.ekipman-smart-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--glass-border-subtle);
    vertical-align: middle;
}

.ekipman-smart-table thead th {
    background: var(--glass-bg);
    font-weight: 600;
    color: var(--text-secondary);
}

.ekipman-smart-table tbody tr:hover {
    background: rgba(0, 0, 0, 0.02);
}

.ekipman-smart-table tbody tr.ekipman-kalibrasyon-uyari {
    border-left: 4px solid var(--accent-red);
}

.ekipman-th-icon,
.ekipman-td-icon { width: 44px; }
.ekipman-td-adi { min-width: 140px; }
.ekipman-td-kategori { min-width: 120px; }
.ekipman-td-durum { white-space: nowrap; }
.ekipman-td-adet { width: 56px; text-align: center; }
.ekipman-td-kal { white-space: nowrap; }
.ekipman-td-dosya { width: 48px; text-align: center; }
.ekipman-th-actions,
.ekipman-td-actions { white-space: nowrap; }

.ekipman-row-icon {
    font-size: 1.25rem;
    display: inline-block;
}

.ekipman-td-actions .btn-ghost-sm,
.ekipman-td-actions .ekipman-action-form {
    display: inline-block;
    margin-right: 4px;
}

.ekipman-dosya-link {
    color: var(--accent);
    text-decoration: none;
}

.ekipman-dosya-link:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .stok-ekipman-master {
        flex-direction: column;
    }
    .ekipman-sidebar {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
    .ekipman-sidebar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        flex: 1;
    }
    .ekipman-sidebar-actions {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }
    .ekipman-toolbar {
        justify-content: stretch;
    }
    .ekipman-search-input {
        max-width: none;
    }
}

.stok-ekipman-kategori-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin: 16px 0 8px 0;
    padding: 0;
}

.stok-ekipman-kategori-title:first-child {
    margin-top: 0;
}

.stok-ekipman-kategori-wrap {
    margin-bottom: 8px;
}

.stok-ekipman-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.stok-ekipman-inline-form {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.stok-ekipman-durum-select {
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    font-size: 13px;
}

.stok-ekipman-miktar-input,
.stok-ekipman-adet-input {
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    font-size: 13px;
    width: 64px;
}

/* Ekipman kartları: kompakt boyut + hizalama (PC ve mobil) */
.stok-list-ekipman .stok-card,
.stok-page #stok-list-ekipman .stok-card {
    padding: 8px 12px;
    min-height: 0;
    align-items: center;
}

.stok-list-ekipman .stok-card-main,
.stok-page #stok-list-ekipman .stok-card-main {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    align-items: center;
    text-align: left;
}

.stok-list-ekipman .stok-card-primary,
.stok-page #stok-list-ekipman .stok-card-primary {
    grid-column: 1;
    margin-bottom: 0;
    align-items: center;
    min-width: 0;
}

.stok-list-ekipman .stok-detail,
.stok-page #stok-list-ekipman .stok-detail {
    grid-column: 1;
    font-size: 12px;
}

.stok-list-ekipman .stok-meta,
.stok-page #stok-list-ekipman .stok-meta {
    grid-column: 1;
    font-size: 11px;
}

.stok-list-ekipman .stok-card-actions.stok-ekipman-actions,
.stok-page #stok-list-ekipman .stok-card-actions.stok-ekipman-actions {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

@media (max-width: 640px) {
    .stok-list-ekipman .stok-card-main,
    .stok-page #stok-list-ekipman .stok-card-main {
        grid-template-columns: 1fr;
    }
    .stok-list-ekipman .stok-card-actions.stok-ekipman-actions,
    .stok-page #stok-list-ekipman .stok-card-actions.stok-ekipman-actions {
        grid-column: 1;
        grid-row: auto;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }
}

.stok-ekipman-adet {
    font-size: 1rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.stok-ekipman-dosya-link {
    color: var(--accent);
    text-decoration: none;
}

.stok-ekipman-dosya-link:hover {
    text-decoration: underline;
}

.sifre-degistir-page .form-hint.sifre-kurallari {
    margin-top: 4px;
    color: var(--text-tertiary);
}
.sifre-degistir-page .sifre-degistir-info {
    margin-bottom: 14px;
    font-size: 14px;
    color: var(--text-secondary);
}

.form-hint {
    font-size: 12px;
    color: var(--text-tertiary);
    margin: 4px 0 0 0;
}

/* Modal – Ekipman ekleme/düzenleme */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 16px;
}

.modal-overlay[hidden] {
    display: none;
}

.modal-panel {
    background: var(--glass-bg-strong);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-floating);
    border: 1px solid var(--glass-border-subtle);
    max-width: 100%;
    max-height: 90vh;
    overflow: auto;
}

.modal-panel-form {
    width: 100%;
    max-width: 480px;
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--glass-border-subtle);
}

.modal-header h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
}

.modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--text-tertiary);
    cursor: pointer;
    padding: 0 4px;
}

.modal-close:hover {
    color: var(--text-primary);
}

.modal-body {
    padding: 20px;
}

.modal-body .stok-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
}

.modal-body .form-group-full {
    grid-column: 1 / -1;
}

.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;
}

/* Tüp Excel satır görünümü (Çalışma Başlat) */
.tup-excel-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tup-excel-row {
    border: 3px solid rgba(0, 0, 0, 0.14);
    border-radius: var(--radius-sm);
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-sm));
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    overflow: hidden;
}

.tup-excel-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    padding: 8px 12px;
}

.tup-excel-no {
    font-weight: 700;
    color: #fff;
    min-width: 32px;
    background: #16a34a;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
}

.tup-excel-icerik {
    font-size: 12px;
    color: #475569;
    flex: 1;
    min-width: 120px;
}

.tup-excel-yag {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tup-excel-yag label {
    font-size: 12px;
    color: #64748b;
}

.tup-excel-yag input {
    width: 72px;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    font-size: 12px;
    background: var(--glass-bg-strong);
}

.tup-excel-kontrol {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.tup-excel-kontrol .btn-ghost-sm {
    font-size: 11px;
    padding: 3px 8px;
}

.tup-excel-countdown {
    font-size: 12px;
    color: #dc2626;
    font-weight: 600;
}

.countdown-done-msg,
.tup-excel-countdown.countdown-finished .countdown-value.countdown-done-text,
.tup-excel-countdown.countdown-finished .countdown-label.countdown-done-text {
    color: #16a34a;
    font-weight: 600;
}

.tup-excel-countdown .countdown-value {
    font-variant-numeric: tabular-nums;
}

.tup-excel-sonuclar {
    border-top: 1px solid var(--glass-border-subtle);
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.02);
}

.tup-excel-sonuclar .tup-sonuc-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.tup-excel-sonuclar .tup-sonuc-row:last-child {
    margin-bottom: 0;
}

.tup-excel-sonuclar .tup-sonuc-label {
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    min-width: 110px;
}

.calisma-tup-wrapper {
    background: var(--glass-bg-strong);
}

.calisma-tup-wrapper .tup-excel-row {
    background: var(--glass-bg);
    border-width: 4px;
    border-color: rgba(0, 0, 0, 0.18);
}

body.theme-karanlik .calisma-tup-wrapper {
    background: rgba(44, 44, 46, 0.96);
}

body.theme-karanlik .calisma-tup-wrapper .tup-excel-row {
    background: rgba(28, 28, 30, 0.96);
    border-width: 4px;
    border-color: rgba(255, 255, 255, 0.22);
}

body.theme-karanlik .tup-excel-no {
    background: #15803d;
    color: #fff;
}

.card-body-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.mini-stat {
    flex: 1;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 8px 10px;
}

.mini-stat-label {
    font-size: 12px;
    color: #475569;
}

.mini-stat-value {
    font-size: 18px;
    font-weight: 700;
    margin-top: 4px;
}

.btn-ghost-sm {
    font-size: 12px;
    padding: 4px 10px;
    border-radius: var(--radius-full);
    border: 1px solid var(--glass-border-subtle);
    color: #03080e;
    text-decoration: none;
    background: #fff;
    cursor: pointer;
}

.btn-ghost-sm:hover:not(:disabled) {
    background: rgba(0, 0, 0, 0.06);
}

.btn-ghost-sm:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Yazı boyutu varyantları */
body.font-kucuk { font-size: 13px; }
body.font-orta { font-size: 14px; }
body.font-buyuk { font-size: 16px; }

/* ========== GPU / PERFORMANS ========== */

/* Mobilde backdrop-filter devre disi birak – GPU tasarrufu */
@media (max-width: 768px) {
    .topbar,
    .sidebar,
    .card,
    .analysis-item,
    .project-item,
    .stok-card,
    .alert,
    .notification-panel,
    .login-card,
    .user-dropdown,
    .tup-excel-row,
    .modal-backdrop {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* Salt okunur mod: düzenleme yetkisi olmayan kullanıcılar sadece görüntüleyebilir */
/* Salt okunur mod: düzenleme yetkisi yoksa tüm buton, form, giriş ve aksiyon linkleri görünmez */
body.readonly-mode .content button,
body.readonly-mode .content input:not([type="hidden"]),
body.readonly-mode .content select,
body.readonly-mode .content textarea,
body.readonly-mode .content .stok-toggle-form,
body.readonly-mode .content a[href*="edit"],
body.readonly-mode .content a[href*="delete"],
body.readonly-mode .content a[href*="Delete"],
body.readonly-mode .content a[href*="Ekle"],
body.readonly-mode .content a.btn-ghost-sm[href*="Düzenle"],
body.readonly-mode .content a.btn-ghost-sm[href*="Kaldır"],
body.readonly-mode .content .stok-card-actions a,
body.readonly-mode .content .page-header-actions button,
body.readonly-mode .content .rename-folder-form,
body.readonly-mode .content form .btn,
body.readonly-mode .content .dinamik-toolbar button,
body.readonly-mode .content .dinamik-edit-dropdown,
body.readonly-mode .content .dinamik-save-row,
body.readonly-mode .content .dinamik-edit-col-form,
body.readonly-mode .content .btn-cell-remove,
body.readonly-mode .content .js-delete-column,
body.readonly-mode .content .js-delete-row,
body.readonly-mode .content .tup-excel-yag button,
body.readonly-mode .content .tup-excel-kontrol,
body.readonly-mode .content .project-toggle {
    display: none !important;
}

/* Gözlemci (readonly-mode) için stok sayfasında sıralama seçimi gizlenmesin */
body.readonly-mode .content .stok-sort-select {
    display: inline-block !important;
}

body.readonly-mode .content input:disabled,
body.readonly-mode .content input[readonly],
body.readonly-mode .content select:disabled,
body.readonly-mode .content textarea:disabled,
body.readonly-mode .content textarea[readonly],
body.readonly-mode .content button:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

/* ========== Deney Föyleri (Digital Binder / Document Viewer) ========== */
.deney-foyleri-page {
    height: calc(100vh - 56px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.deney-foyleri-header {
    flex-shrink: 0;
}
.deney-foyleri-header .page-desc {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-secondary);
}
.deney-foyleri-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}
.deney-foyleri-list-toggle {
    display: none;
    flex-shrink: 0;
}
.deney-foyleri-split {
    flex: 1;
    display: flex;
    gap: 0;
    min-height: 0;
    margin-top: 12px;
}
.deney-foyleri-sidebar {
    width: 280px;
    min-width: 240px;
    flex-shrink: 0;
    background: var(--glass-bg-strong);
    border: 1px solid var(--glass-border-subtle);
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.deney-foyleri-search-wrap {
    padding: 10px;
    border-bottom: 1px solid var(--glass-border-subtle);
}
.deney-foy-ara {
    width: 100%;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
    color: var(--text-primary);
    font-size: 14px;
}
.deney-foyleri-admin-actions {
    padding: 8px 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--glass-border-subtle);
}
.deney-foyleri-nav {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}
.deney-foyleri-kategori {
    padding: 4px 10px;
}
.deney-foyleri-kategori-baslik {
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-primary);
    padding: 8px 0 4px;
    border-bottom: 2px solid var(--glass-border-subtle);
    margin-bottom: 4px;
}
.deney-foyleri-foy-link {
    display: block;
    padding: 6px 10px;
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    text-decoration: none;
    font-size: 14px;
    transition: background 0.15s;
}
.deney-foyleri-foy-link:hover {
    background: var(--glass-bg-subtle);
}
.deney-foyleri-foy-link.active {
    background: var(--accent);
    color: #fff;
}
.deney-foyleri-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-left: 12px;
}
.deney-foy-placeholder {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 15px;
    background: var(--glass-bg-subtle);
    border: 1px dashed var(--glass-border-subtle);
    border-radius: var(--radius-sm);
}
.deney-foy-viewer {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.deney-foy-viewer-toolbar {
    flex-shrink: 0;
    padding: 8px 0;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.deney-foy-document {
    flex: 1;
    min-width: 0;
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #f8fafc;
    color: #0f172a;
    border-radius: var(--radius-md);
    padding: 24px 32px 48px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
}
body.theme-karanlik .deney-foy-document {
    background: #f1f5f9;
    color: #0f172a;
}
.deney-foy-doc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
.deney-foy-doc-logo img {
    max-height: 48px;
    max-width: 180px;
    object-fit: contain;
}
.deney-foy-doc-meta {
    font-size: 12px;
    color: #475569;
}
.deney-foy-doc-no,
.deney-foy-doc-rev {
    display: block;
}
.deney-foy-doc-title {
    font-size: 1.5rem;
    margin: 0 0 16px;
    color: #0f172a;
}
.deney-foy-doc-body {
    font-size: 14px;
    line-height: 1.6;
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    overflow-x: hidden;
    padding-bottom: 2em;
}
.deney-foy-doc-body::after {
    content: "";
    display: block;
    height: 80px;
}
.deney-foy-doc-body p { margin: 0 0 0.75em; max-width: 100%; overflow-wrap: break-word; word-break: break-word; }
.deney-foy-doc-body p:last-child { margin-bottom: 0; }
.deney-foy-doc-body div,
.deney-foy-doc-body span,
.deney-foy-doc-body li { max-width: 100%; overflow-wrap: break-word; word-break: break-word; }
.deney-foy-doc-body h2 { font-size: 1.2em; margin: 1em 0 0.5em; }
.deney-foy-doc-body ul, .deney-foy-doc-body ol { margin: 0.5em 0; padding-left: 1.5em; }
.deney-foy-doc-body table { border-collapse: collapse; width: 100%; max-width: 100%; margin: 0.5em 0; table-layout: fixed; }
.deney-foy-doc-body th, .deney-foy-doc-body td { border: 1px solid #cbd5e1; padding: 6px 10px; text-align: left; overflow-wrap: break-word; word-break: break-word; }

.deney-foy-editor-wrap {
    flex: 1;
    overflow-y: auto;
    background: var(--glass-bg-subtle);
    border-radius: var(--radius-sm);
    padding: 16px;
}
.deney-foy-edit-toolbar {
    margin-bottom: 12px;
    display: flex;
    gap: 8px;
}
.deney-foy-edit-fields .form-group {
    margin-bottom: 12px;
}
.deney-foy-edit-fields .form-group label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
}
.deney-foy-edit-fields input[type="text"],
.deney-foy-edit-fields input[type="date"],
.deney-foy-edit-fields textarea {
    width: 100%;
    max-width: 600px;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
    background: var(--glass-bg-strong);
    color: var(--text-primary);
}

/* Karanlık tema: Deney föyü düzenleme formu ve Summernote editör */
body.theme-karanlik .deney-foy-editor-wrap .deney-foy-edit-fields label,
body.theme-karanlik .deney-foy-editor-wrap .form-group label {
    color: var(--text-primary);
}
body.theme-karanlik .deney-foy-editor-wrap .note-editor {
    border-color: var(--glass-border-subtle);
    background: var(--glass-bg-strong);
}
body.theme-karanlik .deney-foy-editor-wrap .note-toolbar {
    background: rgba(255, 255, 255, 0.06);
    border-bottom-color: var(--glass-border-subtle);
}
body.theme-karanlik .deney-foy-editor-wrap .note-toolbar .note-btn,
body.theme-karanlik .deney-foy-editor-wrap .note-toolbar .note-btn-group .note-btn {
    background: transparent;
    border-color: var(--glass-border-subtle);
    color: var(--text-primary);
}
body.theme-karanlik .deney-foy-editor-wrap .note-toolbar .note-btn:hover {
    background: rgba(255, 255, 255, 0.08);
}
body.theme-karanlik .deney-foy-editor-wrap .note-editing-area,
body.theme-karanlik .deney-foy-editor-wrap .note-editable {
    background: var(--glass-bg-strong) !important;
    color: var(--text-primary) !important;
    border-color: var(--glass-border-subtle);
}
body.theme-karanlik .deney-foy-editor-wrap .note-editable:focus {
    outline: none;
}
body.theme-karanlik .deney-foy-editor-wrap .note-placeholder {
    color: var(--text-tertiary) !important;
}
body.theme-karanlik .deney-foy-editor-wrap .note-statusbar {
    background: rgba(255, 255, 255, 0.04);
    border-top-color: var(--glass-border-subtle);
}

.deney-foy-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}
.deney-foy-modal-inner {
    background: var(--card-bg);
    border-radius: var(--radius-md);
    padding: 20px;
    min-width: 320px;
    max-width: 90vw;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.deney-foy-modal-inner-opaque {
    background: #ffffff;
}
body.theme-karanlik .deney-foy-modal-inner-opaque {
    background: #1e293b;
}
.deney-foy-modal-desc {
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--text-secondary);
}
.deney-foy-logo-listesi {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
    max-height: 280px;
    overflow-y: auto;
}
.deney-foy-logo-sec-item {
    display: block;
    padding: 8px;
    border: 2px solid var(--glass-border-subtle);
    border-radius: var(--radius-sm);
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.deney-foy-logo-sec-item:hover {
    border-color: var(--accent);
    background: var(--glass-bg-subtle);
}
.deney-foy-logo-sec-item img {
    width: 100%;
    height: 60px;
    object-fit: contain;
    display: block;
}
.deney-foy-logo-loading,
.deney-foy-logo-empty {
    margin: 0;
    padding: 12px 0;
    color: var(--text-secondary);
    font-size: 14px;
}
.deney-foy-modal-inner h3 {
    margin: 0 0 12px;
    font-size: 1.1rem;
}
.deney-foy-modal-inner .form-group {
    margin-bottom: 12px;
}
.deney-foy-modal-inner .form-group label {
    display: block;
    margin-bottom: 4px;
}
.deney-foy-modal-inner input[type="text"],
.deney-foy-modal-inner input[type="file"],
.deney-foy-modal-inner select {
    width: 100%;
    padding: 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-border-subtle);
}
.btn-danger-sm { color: #dc2626; }
.btn-danger-sm:hover { background: rgba(220, 38, 38, 0.15); }

@media print {
    .sidebar, .topbar, .deney-foyleri-sidebar, .deney-foy-viewer-toolbar,
    .deney-foyleri-header, .deney-foyleri-list-toggle, .alert, .deney-foyleri-admin-actions { display: none !important; }
    .deney-foyleri-split { display: block !important; }
    .deney-foyleri-content { margin: 0 !important; }
    .deney-foy-document { box-shadow: none; }
}

/* Otomatik kaydetme göstergesi (nokta) */
.autosave-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    margin-left: 7px;
    vertical-align: middle;
    background: transparent;
    transition: background 0.25s;
    cursor: default;
}
.autosave-dot--saving {
    background: var(--text-secondary, #94a3b8);
    animation: autosave-pulse 0.8s ease-in-out infinite alternate;
}
.autosave-dot--saved  { background: #16a34a; }
.autosave-dot--error  { background: #dc2626; }
@keyframes autosave-pulse { from { opacity: 0.3; } to { opacity: 1; } }

