/**
 * BKM PORTAL - Kurumsal Tema ve Arayüz Stilleri
 * Bursa Kalıp Merkezi A.Ş.
 */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap');

/* Renk değişkenleri üst menü köklerinde de tanımlıdır: ziyaretçi modülü (assets/css/styles.css) aynı adlı değişkenleri
   (--primary, --text-main, --danger …) :root'ta farklı değerlerle yeniden tanımlar ve portal CSS'inden sonra yüklenir.
   Menü (templates/header.php) her sayfada portal renklerini korusun. Aydınlık tema bloğu aynı kökleri de kapsar. */
/* Edge Auto Dark Mode engelleme: 'only' tarayıcıya renk düzenini kendimiz yönettiğimizi bildirir */
[data-theme="light"],
[data-tema="acik"] {
    color-scheme: light only;
}

[data-theme="dark"],
[data-tema="koyu"] {
    color-scheme: dark only;
}

:root,
[data-theme="dark"],
[data-tema="koyu"],
[data-theme="dark"] .portal-navbar,
[data-tema="koyu"] .portal-navbar,
[data-theme="dark"] .portal-subnav,
[data-tema="koyu"] .portal-subnav,
[data-theme="dark"] .bkm-oturum,
[data-tema="koyu"] .bkm-oturum,
[data-theme="dark"] .bkm-modul-cubuk,
[data-tema="koyu"] .bkm-modul-cubuk,
.portal-navbar,
.portal-subnav,
.bkm-oturum,
.bkm-modul-cubuk {
    --bg-main: #0a0f1d;
    --bg-card: #131d31;
    --bg-card-hover: #1a2742;
    --bg-input: #1b263b;
    --border-color: #23334d;
    --border-color-focus: #38bdf8;
    
    --primary: #0284c7;
    --primary-hover: #0369a1;
    --primary-light: rgba(2, 132, 199, 0.15);
    
    --accent: #f59e0b;
    --accent-light: rgba(245, 158, 11, 0.15);
    
    --success: #10b981;
    --success-light: rgba(16, 185, 129, 0.15);
    
    --danger: #ef4444;
    --danger-light: rgba(239, 68, 68, 0.15);
    
    --warning: #eab308;
    
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --text-dim: #64748b;
    
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.2);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.3);
    --shadow-lg: 0 12px 32px rgba(0,0,0,0.4);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: var(--bg-main);
    color: var(--text-main);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: all 0.2s ease;
}

a:hover {
    color: #38bdf8;
}

/* NAVBAR */
.portal-navbar {
    background: rgba(19, 29, 49, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0.75rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portal-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
}

.portal-brand img {
    height: 40px;
    width: auto;
    object-fit: contain;
}

/* Portal Başlığı ve Slogan yöneticinin girdiği serbest metinlerdir (settings): uzunsa tek satırda kesilir, tam metin title özniteliğinde */
.brand-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 24rem;
}

.brand-title {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, #ffffff 0%, #94a3b8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-subtitle {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-weight: 500;
    letter-spacing: 0.2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.portal-nav-items {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.user-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--bg-input);
    padding: 0.35rem 0.85rem 0.35rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid var(--border-color);
}

.user-avatar {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, var(--primary) 0%, #6366f1 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    color: #fff;
}

.user-details {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.user-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-main);
}

.user-role-label {
    font-size: 0.7rem;
    color: var(--text-muted);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.6rem 1.25rem;
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.btn-primary {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4);
}

.btn-primary:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(2, 132, 199, 0.6);
    color: #fff;
}

.btn-secondary {
    background: var(--bg-input);
    color: var(--text-main);
    border-color: var(--border-color);
}

.btn-secondary:hover {
    background: var(--bg-card-hover);
    border-color: var(--text-muted);
    color: #fff;
}

.btn-danger {
    background: var(--danger-light);
    color: var(--danger);
    border-color: rgba(239, 68, 68, 0.3);
}

.btn-danger:hover {
    background: var(--danger);
    color: #fff;
}

.btn-sm {
    padding: 0.35rem 0.75rem;
    font-size: 0.8rem;
    border-radius: var(--radius-sm);
}

/* CONTAINER */
.portal-container {
    max-width: 1360px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem;
    width: 100%;
    flex: 1;
}

/* HERO SECTION */
.hero-section {
    margin-bottom: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
    background: linear-gradient(135deg, rgba(19, 29, 49, 0.8) 0%, rgba(10, 15, 29, 0.95) 100%);
    border: 1px solid var(--border-color);
    padding: 2rem 2.5rem;
    border-radius: var(--radius-xl);
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.hero-section::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.15) 0%, rgba(0,0,0,0) 70%);
    pointer-events: none;
}

.hero-greeting h1 {
    font-size: 1.85rem;
    font-weight: 800;
    margin-bottom: 0.35rem;
    letter-spacing: -0.5px;
}

.hero-greeting p {
    color: var(--text-muted);
    font-size: 0.95rem;
}

/* PREMIUM TARİH & SAAT KARTI */
.hero-datetime {
    --hdt-surface: rgba(12, 19, 36, 0.88);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 1.15rem;
    min-width: 310px;
    padding: 0.95rem 1.6rem 0.95rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--radius-xl);
    background:
        linear-gradient(var(--hdt-surface), var(--hdt-surface)) padding-box,
        linear-gradient(135deg, rgba(56, 189, 248, 0.6) 0%, rgba(129, 140, 248, 0.22) 50%, rgba(245, 158, 11, 0.5) 100%) border-box;
    box-shadow: 0 14px 34px -16px rgba(2, 132, 199, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.hdt-dial {
    position: relative;
    width: 66px;
    height: 66px;
    flex-shrink: 0;
}

.hdt-ring {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    filter: drop-shadow(0 0 6px rgba(56, 189, 248, 0.35));
}

.hdt-ring-track {
    fill: none;
    stroke: rgba(148, 163, 184, 0.16);
    stroke-width: 3.5;
}

.hdt-ring-progress {
    fill: none;
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-dasharray: 100;
    transition: stroke-dashoffset 0.8s ease;
}

.hdt-dial-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.hdt-dial-day {
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: var(--text-main);
}

.hdt-dial-month {
    margin-top: 3px;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: #38bdf8;
}

.hdt-body {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    min-width: 0;
}

.hdt-time {
    display: flex;
    align-items: baseline;
    font-size: 2.15rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -1px;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(135deg, #f8fafc 0%, #bae6fd 55%, #7dd3fc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.hdt-colon {
    margin: 0 0.04em;
    animation: hdtColonPulse 2s ease-in-out infinite;
}

/* Saniye (v1.45.2; lobi ekranı saatiyle aynı dil): ":ss", saat:dakikanın ~yarısı, üstle hizalı, rakam genişliği sabit */
.hdt-seconds {
    align-self: flex-start;
    margin: 0.12em 0 0 0.04em;
    font-size: 0.48em;
    font-weight: 700;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    min-width: 1.9em;
    -webkit-text-fill-color: var(--text-muted);
    color: var(--text-muted);
}

.hdt-date {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
}

.hdt-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.5rem;
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--text-dim);
}

.hdt-meta > span {
    white-space: nowrap;
}

.hdt-greeting {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--accent);
}

.hdt-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.6;
}

@keyframes hdtColonPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

@media (prefers-reduced-motion: reduce) {
    .hdt-colon { animation: none; }
    .hdt-ring-progress { transition: none; }
}

@media (max-width: 640px) {
    .hero-datetime { width: 100%; min-width: 0; }
    .hdt-time { font-size: 1.85rem; }
    .hdt-date { white-space: normal; }
}

[data-theme="light"] .hero-datetime,
[data-tema="acik"] .hero-datetime {
    --hdt-surface: rgba(255, 255, 255, 0.92);
    background:
        linear-gradient(var(--hdt-surface), var(--hdt-surface)) padding-box,
        linear-gradient(135deg, rgba(2, 132, 199, 0.45) 0%, rgba(99, 102, 241, 0.18) 50%, rgba(217, 119, 6, 0.4) 100%) border-box;
    box-shadow: 0 14px 30px -18px rgba(2, 132, 199, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

[data-theme="light"] .hdt-time,
[data-tema="acik"] .hdt-time {
    background: linear-gradient(135deg, #0f172a 0%, #075985 60%, #0284c7 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

[data-theme="light"] .hdt-ring,
[data-tema="acik"] .hdt-ring {
    filter: drop-shadow(0 0 4px rgba(2, 132, 199, 0.2));
}

[data-theme="light"] .hdt-ring-track,
[data-tema="acik"] .hdt-ring-track {
    stroke: rgba(100, 116, 139, 0.16);
}

[data-theme="light"] .hdt-dial-month,
[data-tema="acik"] .hdt-dial-month {
    color: #0284c7;
}

[data-theme="light"] .hdt-greeting,
[data-tema="acik"] .hdt-greeting {
    color: #b45309;
}

/* STATS BAR */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
}

.stat-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    transition: all 0.25s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
    border-color: rgba(56, 189, 248, 0.4);
    box-shadow: var(--shadow-md);
}

.stat-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.stat-icon-blue { background: var(--primary-light); color: #38bdf8; }
.stat-icon-green { background: var(--success-light); color: var(--success); }
.stat-icon-amber { background: var(--accent-light); color: var(--accent); }
.stat-icon-purple { background: rgba(168, 85, 247, 0.15); color: #c084fc; }

.stat-val {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.1;
}

.stat-label {
    font-size: 0.8rem;
    color: var(--text-muted);
    font-weight: 500;
}

/* MODULE CARDS GRID */
.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.section-title {
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.modules-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.module-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: var(--shadow-sm);
}

.module-card:hover {
    transform: translateY(-4px);
    border-color: #38bdf8;
    box-shadow: 0 16px 36px rgba(0,0,0,0.4), 0 0 24px rgba(2, 132, 199, 0.2);
    background: var(--bg-card-hover);
}

.module-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.module-icon-box {
    width: 54px;
    height: 54px;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(2, 132, 199, 0.2) 0%, rgba(99, 102, 241, 0.1) 100%);
    border: 1px solid rgba(56, 189, 248, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: #38bdf8;
    transition: all 0.2s ease;
}

.module-card:hover .module-icon-box {
    transform: scale(1.08);
    background: var(--primary);
    color: #fff;
    border-color: transparent;
}

/* Pano: her modülün kendi ikon rengi (--mod-renk, ModuleManager::iconColors); ikon ve ad modüle bağlantıdır */
.module-card[style*="--mod-renk"] .module-icon-box {
    color: var(--mod-renk);
    background: color-mix(in srgb, var(--mod-renk) 16%, transparent);
    border-color: color-mix(in srgb, var(--mod-renk) 45%, transparent);
    text-decoration: none;
}
[data-theme="dark"] .module-card[style*="--mod-renk"] .module-icon-box,
[data-tema="koyu"] .module-card[style*="--mod-renk"] .module-icon-box {
    color: color-mix(in srgb, var(--mod-renk) 70%, #ffffff);
    background: color-mix(in srgb, var(--mod-renk) 24%, transparent);
}
.module-card[style*="--mod-renk"]:hover .module-icon-box,
.module-card[style*="--mod-renk"] .module-icon-box:focus-visible {
    background: var(--mod-renk);
    border-color: transparent;
    color: #fff;
}
a.module-icon-box { cursor: pointer; }
.module-name-link {
    color: inherit;
    text-decoration: none;
}
.module-name-link:hover,
.module-name-link:focus-visible {
    color: var(--mod-renk, var(--primary));
    text-decoration: underline;
    text-underline-offset: 3px;
}

.module-badge {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.25rem 0.6rem;
    border-radius: 9999px;
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.module-name {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text-main);
}

.module-desc {
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    flex: 1;
}

.module-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 1rem;
    margin-top: auto;
}

.module-role-pill {
    font-size: 0.72rem;
    color: var(--text-dim);
    font-weight: 500;
}

.module-card-actions {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

/* KURUMSAL PANO (index.php): sayaçlar karşılama alanında, modüller 4'lü */
.hero-section.pano-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "greet clock"
        "stats clock";
    align-items: center;
    column-gap: 2rem;
    row-gap: 1.25rem;
    margin-bottom: 1.75rem;
    padding: 1.75rem 2rem;
}
.pano-hero .hero-greeting { grid-area: greet; position: relative; z-index: 1; }
.pano-hero .hero-greeting h1 { font-size: 1.65rem; }
/* Saat kartı selamlamanın üst kenarından sayaç kartlarının alt kenarına kadar uzanır */
.pano-hero .hero-datetime { grid-area: clock; align-self: stretch; }
.stats-grid.pano-stats {
    grid-area: stats;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}
.pano-stats .stat-card {
    padding: 0.7rem 0.9rem;
    gap: 0.75rem;
    border-radius: var(--radius-md);
}
.pano-stats .stat-icon-wrap {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    font-size: 1.1rem;
}
.pano-stats .stat-val { font-size: 1.35rem; }
.pano-stats .stat-label { font-size: 0.75rem; line-height: 1.3; }

/* Pano'da uygulama kartları karşılama alanının hemen altında, kart ızgarasının (hava durumu …) üstündedir */
.modules-grid.pano-modules {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}
.pano-modules .module-card { padding: 1.25rem; }
.pano-modules .module-card-top { margin-bottom: 0.85rem; }
.pano-modules .module-icon-box {
    width: 44px;
    height: 44px;
    font-size: 1.4rem;
    border-radius: var(--radius-md);
}
.pano-modules .module-name { font-size: 1.05rem; margin-bottom: 0.35rem; }
.pano-modules .module-desc { font-size: 0.82rem; margin-bottom: 1rem; }
.pano-modules .module-card-footer { flex-wrap: wrap; gap: 0.5rem; padding-top: 0.85rem; }
.pano-modules .new-module-card { min-height: 0; padding: 1.5rem 1.25rem; }

@media (max-width: 1200px) {
    .modules-grid.pano-modules { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
    .hero-section.pano-hero {
        grid-template-areas:
            "greet clock"
            "stats stats";
    }
    .pano-hero .hero-datetime { align-self: center; }
}
@media (max-width: 900px) {
    .modules-grid.pano-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .hero-section.pano-hero {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "greet" "clock" "stats";
        padding: 1.5rem;
    }
    .stats-grid.pano-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
    .pano-stats .stat-card { padding: 0.6rem 0.65rem; gap: 0.55rem; }
    .pano-stats .stat-icon-wrap { width: 32px; height: 32px; font-size: 0.95rem; }
    .pano-stats .stat-label { font-size: 0.72rem; overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
    .hero-section.pano-hero { padding: 1.1rem; }
    .pano-hero .hero-greeting h1 { font-size: 1.35rem; }
}
@media (max-width: 600px) {
    .modules-grid.pano-modules { grid-template-columns: minmax(0, 1fr); }
}

/* PANO "Uygulamalar" başlığı ve görünümleri (v1.75.0; .pano-uygulamalar[data-gorunum] = simge | kompakt | kart;
   Dashboard::APP_VIEWS, kişiye özel). Kart işaretlemesi tektir; simge / kompakt görünümde kartın tamamı ad bağlantısıyla tıklanır. */
.uyg-bas { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1rem; margin-bottom: 0.85rem; }
.uyg-baslik { display: flex; align-items: center; gap: 0.5rem; font-size: 1.05rem; font-weight: 700; margin: 0; color: var(--text-main); }
.uyg-baslik > i { color: var(--primary); }
.uyg-sayi { font-size: 0.72rem; font-weight: 600; color: var(--text-muted); background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 999px; padding: 0.05rem 0.5rem; }
.uyg-ipucu { margin: 0; font-size: 0.8rem; color: var(--text-muted); flex: 1 1 260px; }
/* Başlık + ipucu tek panelde (v1.139.0 — kullanıcı isteği) */
.uyg-bas-panel { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem 1rem; flex: 1 1 420px; min-width: 0; padding: 0.6rem 0.9rem; border-radius: 14px; }
.uyg-ipucu i { color: var(--primary); }
.uyg-gorunum { display: inline-flex; gap: 2px; padding: 3px; background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 10px; margin-left: auto; }
.uyg-gorunum-dugme { display: inline-flex; align-items: center; gap: 0.35rem; border: 0; background: transparent; color: var(--text-muted);
    font: inherit; font-size: 0.8rem; font-weight: 600; padding: 0.35rem 0.7rem; border-radius: 7px; cursor: pointer; }
.uyg-gorunum-dugme:hover { color: var(--text-main); background: color-mix(in srgb, var(--primary) 8%, transparent); }
.uyg-gorunum-dugme[aria-pressed="true"] { background: var(--primary); color: #fff; }
.uyg-gorunum-dugme:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
@media (max-width: 600px) { .uyg-gorunum-dugme span { display: none; } .uyg-gorunum-dugme { padding: 0.4rem 0.6rem; font-size: 0.95rem; } }

/* Ortak: simge ve kompakt görünümde ad bağlantısı kartın tamamını kaplar; ayrıntılar gizli */
.pano-uygulamalar:not([data-gorunum="kart"]) .module-card { position: relative; }
.pano-uygulamalar:not([data-gorunum="kart"]) .module-card > div:first-child,
.pano-uygulamalar:not([data-gorunum="kart"]) .module-card-top { display: contents; }
.pano-uygulamalar:not([data-gorunum="kart"]) .module-badge,
.pano-uygulamalar:not([data-gorunum="kart"]) .module-role-pill { display: none; }
.pano-uygulamalar:not([data-gorunum="kart"]) .module-name-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.pano-uygulamalar:not([data-gorunum="kart"]) .module-name-link:hover { text-decoration: none; }
.pano-uygulamalar:not([data-gorunum="kart"]) .module-card:hover { transform: translateY(-2px); }

/* Simgeler */
.pano-uygulamalar[data-gorunum="simge"] .modules-grid.pano-modules {
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 0.4rem;
    background: var(--bg-card); border: 1px solid var(--border-color); border-radius: var(--radius-xl); padding: 0.75rem; box-shadow: var(--shadow-sm);
}
.pano-uygulamalar[data-gorunum="simge"] .module-card {
    flex-direction: column; align-items: center; justify-content: flex-start; gap: 0.5rem; padding: 0.7rem 0.35rem;
    border-radius: var(--radius-lg); text-align: center;
}
/* Açık temanın .module-card kuralı !important (beyaz zemin + kenar); simgelerde kutu dış çerçevededir */
.pano-uygulamalar[data-gorunum="simge"] .module-card:not(.new-module-card) { background: transparent !important; border: 1px solid transparent !important; box-shadow: none !important; }
.pano-uygulamalar[data-gorunum="simge"] .module-card:not(.new-module-card):hover { background: color-mix(in srgb, var(--mod-renk, var(--primary)) 9%, transparent) !important; }
.pano-uygulamalar[data-gorunum="simge"] .module-icon-box { width: 50px; height: 50px; font-size: 1.5rem; border-radius: 14px; }
@media (max-width: 600px) {
    .pano-uygulamalar[data-gorunum="simge"] .modules-grid.pano-modules { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); padding: 0.5rem; }
    .pano-uygulamalar[data-gorunum="simge"] .module-name { font-size: 0.74rem !important; }
}
.pano-uygulamalar[data-gorunum="simge"] .module-name { font-size: 0.8rem; font-weight: 600; line-height: 1.25; margin: 0; }
.pano-uygulamalar[data-gorunum="simge"] .module-desc,
.pano-uygulamalar[data-gorunum="simge"] .module-card-footer { display: none; }
.pano-uygulamalar[data-gorunum="simge"] .new-module-card { border: 1px dashed var(--border-color); }
.pano-uygulamalar[data-gorunum="simge"] .new-module-icon { width: 50px; height: 50px; margin: 0; font-size: 1.4rem; }
.pano-uygulamalar[data-gorunum="simge"] .new-module-title { font-size: 0.8rem; margin: 0; }
.pano-uygulamalar[data-gorunum="simge"] .new-module-desc,
.pano-uygulamalar[data-gorunum="simge"] .new-module-card .btn { display: none; }

/* Kompakt liste: simge | ad + tek satır açıklama | yönetim + ok */
.pano-uygulamalar[data-gorunum="kompakt"] .modules-grid.pano-modules { grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr)); gap: 0.7rem; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-card {
    display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; grid-template-areas: "ikon ad son" "ikon acik son";
    column-gap: 0.75rem; row-gap: 0.1rem; align-items: center; padding: 0.65rem 0.75rem; border-radius: var(--radius-lg);
}
.pano-uygulamalar[data-gorunum="kompakt"] .module-icon-box { grid-area: ikon; width: 40px; height: 40px; font-size: 1.2rem; border-radius: 10px; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-name { grid-area: ad; font-size: 0.92rem; margin: 0; align-self: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-desc { grid-area: acik; font-size: 0.76rem; margin: 0; align-self: start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-card-footer { grid-area: son; border: 0 !important; padding: 0; margin: 0; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-card-actions { position: relative; z-index: 2; gap: 0.3rem; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-card-actions .btn { padding: 0.3rem 0.45rem; min-height: 0; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-card-actions .btn { background: transparent !important; border-color: transparent !important; color: var(--text-muted) !important; box-shadow: none !important; }
.pano-uygulamalar[data-gorunum="kompakt"] .module-card-actions .btn:hover { color: var(--mod-renk, var(--primary)); background: color-mix(in srgb, var(--mod-renk, var(--primary)) 10%, transparent); }
.pano-uygulamalar[data-gorunum="kompakt"] .module-git span { display: none; }
.pano-uygulamalar[data-gorunum="kompakt"] .new-module-card { display: flex; flex-direction: row; align-items: center; gap: 0.75rem; padding: 0.65rem 0.75rem; text-align: left; }
.pano-uygulamalar[data-gorunum="kompakt"] .new-module-icon { width: 40px; height: 40px; margin: 0; font-size: 1.2rem; flex-shrink: 0; }
.pano-uygulamalar[data-gorunum="kompakt"] .new-module-title { font-size: 0.92rem; margin: 0; }
.pano-uygulamalar[data-gorunum="kompakt"] .new-module-desc,
.pano-uygulamalar[data-gorunum="kompakt"] .new-module-card .btn { display: none; }

/* LOGIN CARD */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    background: radial-gradient(circle at 50% 30%, #15233c 0%, #080c17 100%);
}

.login-card {
    background: rgba(19, 29, 49, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    width: 100%;
    max-width: 440px;
    padding: 2.5rem;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 30px rgba(2, 132, 199, 0.1);
}

.form-group {
    margin-bottom: 1.25rem;
}

.form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-main);
    margin-bottom: 0.4rem;
}

.form-control {
    width: 100%;
    padding: 0.75rem 1rem;
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-main);
    font-family: inherit;
    font-size: 0.92rem;
    transition: all 0.2s ease;
}

.form-control:focus {
    outline: none;
    border-color: var(--border-color-focus);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
    background: #202d45;
}

.alert {
    padding: 0.85rem 1rem;
    border-radius: var(--radius-md);
    font-size: 0.88rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.alert-danger {
    background: var(--danger-light);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.4);
}

.alert-success {
    background: var(--success-light);
    color: #86efac;
    border: 1px solid rgba(16, 185, 129, 0.4);
}

/* FOOTER */
.portal-footer {
    border-top: 1px solid var(--border-color);
    padding: 1.5rem 2rem;
    text-align: center;
    font-size: 0.82rem;
    color: var(--text-dim);
    background: #090e1a;
    margin-top: auto;
}

/* TABLES (Admin) */
/* position: relative — içindeki mutlak konumlu öğeler (ör. .visually-hidden) kutunun dışına, sayfanın sağına taşmasın (telefonda sayfa yana kayıyordu) */
.table-responsive {
    position: relative;
    overflow-x: auto;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    text-align: left;
}

.portal-table th {
    background: var(--bg-input);
    padding: 0.85rem 1rem;
    font-weight: 700;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-color);
    white-space: nowrap;
}

.portal-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-main);
    vertical-align: middle;
}

.portal-table tr:hover td {
    background: var(--bg-card-hover);
}

@media (max-width: 768px) {
    .portal-navbar {
        padding: 0.75rem 1rem;
    }
    .portal-container {
        padding: 1.5rem 1rem;
    }
    .hero-section {
        padding: 1.5rem;
    }
    .modules-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   AYDINLIK TEMA (LIGHT MODE) TANIMLARI
   BKM Kurumsal Kimliğine Uygun Prestijli Aydınlık Tasarım
   ========================================================================== */
[data-theme="light"],
[data-tema="acik"],
[data-theme="light"] .portal-navbar,
[data-tema="acik"] .portal-navbar,
[data-theme="light"] .portal-subnav,
[data-tema="acik"] .portal-subnav,
[data-theme="light"] .bkm-oturum,
[data-tema="acik"] .bkm-oturum,
[data-theme="light"] .bkm-modul-cubuk,
[data-tema="acik"] .bkm-modul-cubuk {
    --bg-main: #f1f5f9;
    --bg-card: #ffffff;
    --bg-card-hover: #f8fafc;
    --bg-input: #ffffff;
    --border-color: #e2e8f0;
    --border-color-focus: #0284c7;

    --primary: #0284c7;
    --primary-hover: #0369a1;
    --primary-light: rgba(2, 132, 199, 0.08);

    --accent: #f59e0b;
    --accent-light: rgba(245, 158, 11, 0.1);

    --success: #10b981;
    --success-light: rgba(16, 185, 129, 0.1);

    --danger: #ef4444;
    --danger-light: rgba(239, 68, 68, 0.1);

    --text-main: #0f172a;
    --text-muted: #475569;
    --text-dim: #64748b;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);

    color-scheme: light only;
}

[data-theme="light"] body,
[data-tema="acik"] body {
    background-color: var(--bg-main);
    color: var(--text-main);
}

[data-theme="light"] .portal-navbar,
[data-tema="acik"] .portal-navbar {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

[data-theme="light"] .portal-subnav,
[data-tema="acik"] .portal-subnav {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .portal-footer,
[data-tema="acik"] .portal-footer {
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    color: #64748b !important;
}

[data-theme="light"] .portal-brand .brand-title,
[data-tema="acik"] .portal-brand .brand-title {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #0f172a !important;
    color: #0f172a !important;
}

[data-theme="light"] .portal-brand .brand-subtitle,
[data-tema="acik"] .portal-brand .brand-subtitle {
    color: #475569 !important;
    font-weight: 600 !important;
}

[data-theme="light"] .portal-nav-link,
[data-tema="acik"] .portal-nav-link {
    color: #475569 !important;
}

[data-theme="light"] .portal-nav-link:hover,
[data-tema="acik"] .portal-nav-link:hover {
    color: #0f172a !important;
    background: #f1f5f9 !important;
}

[data-theme="light"] .portal-nav-link.active,
[data-tema="acik"] .portal-nav-link.active {
    color: #0284c7 !important;
    background: #e0f2fe !important;
    border: 1px solid #bae6fd !important;
}

[data-theme="light"] .portal-nav-link.admin-link,
[data-tema="acik"] .portal-nav-link.admin-link {
    color: #92400e !important;
    background: #fef3c7 !important;
    border: 1px solid #fde68a !important;
}

[data-theme="light"] .portal-nav-link.admin-link:hover,
[data-theme="light"] .portal-nav-link.admin-link.active,
[data-tema="acik"] .portal-nav-link.admin-link:hover,
[data-tema="acik"] .portal-nav-link.admin-link.active {
    color: #78350f !important;
    background: #fde68a !important;
    border-color: #f59e0b !important;
}

[data-theme="light"] .btn-danger,
[data-tema="acik"] .btn-danger {
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
}

[data-theme="light"] .btn-danger:hover,
[data-tema="acik"] .btn-danger:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
}

/* HERO SECTION (LIGHT MODE) */
[data-theme="light"] .hero-section,
[data-tema="acik"] .hero-section {
    background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%) !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .hero-section::after,
[data-tema="acik"] .hero-section::after {
    background: radial-gradient(circle, rgba(2, 132, 199, 0.08) 0%, rgba(0,0,0,0) 70%) !important;
}

[data-theme="light"] .hero-greeting h1,
[data-tema="acik"] .hero-greeting h1 {
    color: #0f172a !important;
}

[data-theme="light"] .hero-greeting p,
[data-tema="acik"] .hero-greeting p {
    color: #475569 !important;
}

[data-theme="light"] .hero-time-badge,
[data-tema="acik"] .hero-time-badge {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .hero-time-badge .clock,
[data-tema="acik"] .hero-time-badge .clock {
    color: #0284c7 !important;
}

[data-theme="light"] .portal-subnav-link,
[data-tema="acik"] .portal-subnav-link {
    color: #64748b !important;
}

[data-theme="light"] .portal-subnav-link:hover,
[data-tema="acik"] .portal-subnav-link:hover {
    color: #0f172a !important;
    background: #e2e8f0 !important;
}

[data-theme="light"] .portal-subnav-link.active,
[data-tema="acik"] .portal-subnav-link.active {
    color: #0284c7 !important;
    border-bottom-color: #0284c7 !important;
    background: transparent !important;
}

[data-theme="light"] .user-badge,
[data-tema="acik"] .user-badge {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .user-badge:hover,
[data-tema="acik"] .user-badge:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}

[data-theme="light"] .user-name,
[data-tema="acik"] .user-name {
    color: #0f172a !important;
}

[data-theme="light"] .user-role-label,
[data-tema="acik"] .user-role-label {
    color: #64748b !important;
}

[data-theme="light"] .stat-card,
[data-tema="acik"] .stat-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .stat-card:hover,
[data-tema="acik"] .stat-card:hover {
    border-color: #38bdf8 !important;
    box-shadow: 0 8px 16px -4px rgba(2, 132, 199, 0.12) !important;
}

[data-theme="light"] .stat-val,
[data-tema="acik"] .stat-val {
    color: #0f172a !important;
}

[data-theme="light"] .stat-label,
[data-tema="acik"] .stat-label {
    color: #475569 !important;
    font-weight: 600 !important;
}

[data-theme="light"] .section-title,
[data-tema="acik"] .section-title {
    color: #0f172a !important;
}

[data-theme="light"] .module-card,
[data-tema="acik"] .module-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .module-card:hover,
[data-tema="acik"] .module-card:hover {
    background: #ffffff !important;
    border-color: #0284c7 !important;
    box-shadow: 0 12px 24px -4px rgba(2, 132, 199, 0.12), 0 4px 6px -2px rgba(0,0,0,0.04) !important;
}

[data-theme="light"] .module-name,
[data-tema="acik"] .module-name {
    color: #0f172a !important;
}

[data-theme="light"] .module-desc,
[data-tema="acik"] .module-desc {
    color: #475569 !important;
}

[data-theme="light"] .module-card-footer,
[data-tema="acik"] .module-card-footer {
    border-top: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .module-role-pill,
[data-tema="acik"] .module-role-pill {
    color: #475569 !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

/* Kategoriye özel canlı, yüksek kontrastlı rozetler */
[data-theme="light"] .module-badge,
[data-tema="acik"] .module-badge {
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #cbd5e1;
    font-weight: 700;
}

[data-theme="light"] .module-badge.badge-meeting,
[data-tema="acik"] .module-badge.badge-meeting {
    background: #e0f2fe !important;
    color: #0369a1 !important;
    border-color: #bae6fd !important;
}

[data-theme="light"] .module-badge.badge-security,
[data-theme="light"] .module-badge.badge-visitors,
[data-tema="acik"] .module-badge.badge-security,
[data-tema="acik"] .module-badge.badge-visitors {
    background: #dcfce7 !important;
    color: #15803d !important;
    border-color: #bbf7d0 !important;
}

[data-theme="light"] .module-badge.badge-fleet,
[data-tema="acik"] .module-badge.badge-fleet {
    background: #fef3c7 !important;
    color: #b45309 !important;
    border-color: #fde68a !important;
}

/* YENİ MODÜL EKLE KARTI */
.new-module-card {
    border: 2px dashed var(--border-color);
    background: rgba(19, 29, 49, 0.4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    min-height: 250px;
    padding: 2rem 1.5rem;
    border-radius: var(--radius-xl);
    transition: all 0.25s ease;
    text-decoration: none;
}

.new-module-card:hover {
    border-color: #38bdf8;
    background: var(--bg-card-hover);
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.new-module-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--primary-light);
    color: #38bdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 0.85rem;
    transition: transform 0.2s ease;
}

.new-module-card:hover .new-module-icon {
    transform: scale(1.1);
    background: var(--primary);
    color: #ffffff;
}

.new-module-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
    color: var(--text-main);
}

.new-module-desc {
    color: var(--text-muted);
    font-size: 0.85rem;
    max-width: 240px;
    margin-bottom: 1rem;
}

[data-theme="light"] .new-module-card,
[data-tema="acik"] .new-module-card {
    border: 2px dashed #cbd5e1 !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .new-module-card:hover,
[data-tema="acik"] .new-module-card:hover {
    border-color: #0284c7 !important;
    background: #f8fafc !important;
    box-shadow: 0 8px 16px -4px rgba(2, 132, 199, 0.12) !important;
}

[data-theme="light"] .new-module-title,
[data-tema="acik"] .new-module-title {
    color: #0f172a !important;
}

[data-theme="light"] .new-module-desc,
[data-tema="acik"] .new-module-desc {
    color: #475569 !important;
}

[data-theme="light"] .form-control,
[data-tema="acik"] .form-control {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

[data-theme="light"] .btn-secondary,
[data-tema="acik"] .btn-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

[data-theme="light"] .btn-secondary:hover,
[data-tema="acik"] .btn-secondary:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

[data-theme="light"] .portal-table th,
[data-tema="acik"] .portal-table th {
    background: #f8fafc !important;
    color: #475569 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .portal-table td,
[data-tema="acik"] .portal-table td {
    border-bottom: 1px solid #f1f5f9 !important;
    color: #1e293b !important;
}

[data-theme="light"] .portal-table tr:hover td,
[data-tema="acik"] .portal-table tr:hover td {
    background: #f8fafc !important;
}

/* Tema Değiştirici Buton */
.theme-toggle-btn {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #f59e0b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    transition: all 0.2s ease;
    margin-right: 0.5rem;
}

.theme-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.16);
    transform: scale(1.05);
}

[data-theme="light"] .theme-toggle-btn,
[data-tema="acik"] .theme-toggle-btn {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #d97706;
}

[data-theme="light"] .theme-toggle-btn:hover,
[data-tema="acik"] .theme-toggle-btn:hover {
    background: #e2e8f0;
}

/* ==========================================================================
   GİRİŞ VE ŞİFRE SIFIRLAMA AYDINLIK TEMA (LIGHT MODE LOGIN & FORGOT PASSWORD)
   ========================================================================== */
[data-theme="light"] .login-wrapper,
[data-tema="acik"] .login-wrapper {
    background: radial-gradient(circle at 50% 25%, #f1f5f9 0%, #e2e8f0 100%) !important;
}

[data-theme="light"] .login-bg-glow,
[data-tema="acik"] .login-bg-glow {
    opacity: 0.25;
}

[data-theme="light"] .login-card,
[data-tema="acik"] .login-card {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08), 0 0 25px rgba(2, 132, 199, 0.06) !important;
}

[data-theme="light"] .login-card h1,
[data-tema="acik"] .login-card h1 {
    color: #0f172a !important;
}

[data-theme="light"] .login-card p,
[data-tema="acik"] .login-card p {
    color: #475569 !important;
}

[data-theme="light"] .login-card .form-label,
[data-tema="acik"] .login-card .form-label {
    color: #1e293b !important;
}

[data-theme="light"] .login-card .form-control,
[data-tema="acik"] .login-card .form-control {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
}

[data-theme="light"] .login-card .form-control:focus,
[data-tema="acik"] .login-card .form-control:focus {
    border-color: #0284c7 !important;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.18) !important;
    background: #ffffff !important;
}

/* ==========================================================================
   KARŞILAMA SAYFASI (templates/landing.php: index.php oturumsuz + login.php), PANO KARTLARI ve KURUMSAL İÇERİK
   (templates/landing_widgets.php + assets/js/portal-karsilama.js, kurumsal/): hava durumu, döviz, haberler, ajanda, bekleyen
   işler, müsaitlik, duyurular, yemek menüsü, kazasız gün, kutlamalar, role göre kartlar. Renkler tema değişkenleriyle;
   --kk-vurgu aydınlık temada aşağıda yeniden tanımlanır. Izgara: kartlar en az 320 px, .kk-genis iki sütun kaplar (dense).
   [data-masonry] ızgarası betikle boşluksuz dizilir (.kk-masonry: 4 px satır, kart kendi yüksekliği kadar satır kaplar, tek sütun).
   Pano düzeni (portal-pano-duzen.js): [data-pano-gizli] gizli panel, .pano-duzenleniyor düzenleme modu, .pano-yer-tutucu.
   ========================================================================== */
.hero-section.pano-hero.karsilama-hero {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "greet clock";
    padding: 2rem 2.25rem;
}
.karsilama-hero .hero-greeting h1 {
    font-size: 2.1rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}
.hero-greeting h1 [data-bkm-selam-ikon] { color: var(--accent); font-size: 0.9em; }
.karsilama-hero .hero-greeting p { font-size: 1rem; max-width: 56ch; }
.karsilama-hero .hero-greeting p.karsilama-eylem { display: flex; align-items: flex-start; gap: 0.45rem; margin: 1rem 0 0; max-width: 64ch; font-size: 0.88rem; color: var(--text-muted); position: relative; z-index: 1; }
.karsilama-eylem .bi { color: var(--success); margin-top: 0.1rem; }
.karsilama-not { display: flex; align-items: center; gap: 0.6rem; margin: 0 auto 1.25rem; }

/* Özel gün / yaklaşan tatil (karşılama ve Pano başlığı) */
.hero-ozel { display: grid; gap: 0.35rem; margin-top: 0.75rem; position: relative; z-index: 1; }
.hero-ozel p { margin: 0; display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; font-size: 0.88rem; color: var(--text-muted); }
.hero-ozel .bi { color: var(--accent); }
.hero-ozel-bugun { color: var(--text-main) !important; font-weight: 700; }
.hero-ozel-bugun span {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.12rem 0.55rem;
    border-radius: 9999px;
    color: var(--success);
    background: var(--success-light);
}
.hero-ozel-anma .bi { color: var(--text-muted); }
.hero-ozel-yakin strong { color: var(--text-main); }

/* Pano başlığı: son giriş, hızlı işlemler, uyarı ve rıza sorusu */
.pano-son-giris { margin: 0.55rem 0 0; font-size: 0.8rem; color: var(--text-dim); display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; position: relative; z-index: 1; }
.pano-son-giris a { color: var(--primary); font-weight: 600; text-decoration: none; }
.pano-hizli { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.9rem; position: relative; z-index: 1; }
.pano-hizli-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem;
    border-radius: 9999px;
    border: 1px solid var(--border-color);
    background: var(--bg-input);
    color: var(--text-main);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.pano-hizli-btn .bi { color: var(--primary); }
.pano-hizli-btn:hover { border-color: var(--primary); color: var(--text-main); text-decoration: none; background: var(--primary-light); }
.pano-uyari { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pano-uyari > span { flex: 1 1 320px; }
.pano-soru {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(245, 158, 11, 0.35);
    background: var(--accent-light);
}
.pano-soru > .bi { font-size: 1.6rem; color: var(--accent); }
.pano-soru > div:first-of-type { flex: 1 1 320px; display: flex; flex-direction: column; gap: 0.2rem; }
.pano-soru > div:first-of-type span { font-size: 0.82rem; color: var(--text-muted); }
.pano-soru-eylem { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.pano-soru-eylem form { margin: 0; }

/* Kart ızgarası */
.kk-izgara {
    display: grid;
    /* auto-fit: kart sayısı sütun sayısından azsa boş sütun kalmaz, kartlar satırı doldurur (ör. karşılamada 2 kart) */
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    grid-auto-flow: row dense;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
    align-items: start;
}
.kk-izgara > .kk-genis { grid-column: span 2; }
.kk-izgara > .kk-tam { grid-column: 1 / -1; }
/* Boşluksuz dizilim: satır 4 px, kart yüksekliği kadar satır (grid-row-end: span n, portal-karsilama.js); seyrek yerleşim sırayı
   korur ve her kartı sıradaki en kısa sütunun altına koyar. Çok sütunlu kart boşluk açacağı için burada tek sütundur. */
.kk-izgara.kk-masonry { grid-auto-rows: 4px; row-gap: 0; grid-auto-flow: row; margin-bottom: 0.5rem; }
.kk-izgara.kk-masonry > * { margin-bottom: 1.25rem; }
.kk-izgara.kk-masonry > .kk-genis { grid-column: auto; }
.pano-haber-bolum { margin-top: 0.5rem; }
[data-pano-gizli] { display: none !important; }
.bkm-gorsel-gizli { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kk {
    --kk-vurgu: #38bdf8;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
    padding: 1.15rem 1.3rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.kk[hidden] { display: none; }
.kk-bas { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.kk-bas h2 { margin: 0; font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; letter-spacing: -0.2px; }
.kk-bas h2 .bi { color: var(--primary); font-size: 1.1rem; }
.kk-etiket { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.78rem; font-weight: 600; color: var(--text-muted); }
.kk-etiket a { color: var(--primary); text-decoration: none; }
.kk-etiket a:hover { text-decoration: underline; }
.kk-etiket[hidden] { display: none; }
.kk-govde { flex: 1 1 auto; min-width: 0; }
.kk-alt {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    flex-wrap: wrap;
    padding-top: 0.7rem;
    border-top: 1px solid var(--border-color);
    font-size: 0.76rem;
    color: var(--text-dim);
}
.kk-alt[hidden] { display: none; }
.kk-alt a { display: inline-flex; align-items: center; gap: 0.3rem; color: var(--primary); font-weight: 600; text-decoration: none; }
.kk-alt a:hover { text-decoration: underline; }
.kk-alt a.kk-alt-tehlike { color: var(--danger); }
.kk-hata, .kk-bos { display: flex; align-items: center; gap: 0.45rem; margin: 0; padding: 0.5rem 0; color: var(--text-muted); font-size: 0.86rem; }
.kk-bos .bi { color: var(--success); }
.kk-hata a { color: var(--primary); }
.kk-iskelet { display: grid; gap: 0.65rem; padding: 0.25rem 0; }
.kk-iskelet-satir {
    display: block;
    height: 14px;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--bg-input) 25%, var(--bg-card-hover) 50%, var(--bg-input) 75%);
    background-size: 200% 100%;
    animation: kkIskelet 1.4s ease-in-out infinite;
}
.kk-iskelet-buyuk { height: 44px; width: 55%; }
.kk-iskelet-kisa { width: 40%; }
@keyframes kkIskelet { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* Hava durumu */
.hava-uyari {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    margin-bottom: 0.6rem;
    padding: 0.55rem 0.75rem;
    border-radius: var(--radius-md);
    font-size: 0.8rem;
}
.hava-uyari .bi { font-size: 1.05rem; margin-top: 0.05rem; }
.hava-uyari div { display: flex; flex-direction: column; gap: 0.1rem; }
.hava-uyari span { color: var(--text-muted); }
.hava-uyari-dikkat { background: var(--accent-light); }
.hava-uyari-dikkat .bi { color: var(--accent); }
.hava-uyari-tehlike { background: var(--danger-light); }
.hava-uyari-tehlike .bi { color: var(--danger); }
.hava-simdi { display: flex; align-items: center; gap: 1rem; }
.hava-ikon {
    width: 66px;
    height: 66px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 2.3rem;
    color: var(--kk-vurgu);
    background: var(--primary-light);
}
.hava-ikon-gece { color: #c4b5fd; background: rgba(129, 140, 248, 0.18); }
.hava-derece { font-size: 2.5rem; font-weight: 800; line-height: 1; letter-spacing: -1px; }
.hava-birim { font-size: 1.05rem; font-weight: 600; color: var(--text-muted); margin-left: 0.15rem; vertical-align: top; }
.hava-durum { margin-top: 0.3rem; font-weight: 600; color: var(--text-muted); }
.hava-detay {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    margin: 0.9rem 0 0;
    padding: 0;
    font-size: 0.8rem;
    color: var(--text-muted);
}
.hava-detay li { display: inline-flex; align-items: center; gap: 0.35rem; }
.hava-detay .bi { color: var(--kk-vurgu); }
.hava-detay strong { color: var(--text-main); font-weight: 700; }
.hava-saatlik {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 58px;
    gap: 0.4rem;
    margin-top: 0.9rem;
    padding-bottom: 0.35rem;
    overflow-x: auto;
    scrollbar-width: thin;
}
.hava-saat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    padding: 0.45rem 0.2rem;
    border-radius: var(--radius-md);
    background: var(--bg-input);
    font-size: 0.74rem;
}
.hava-saat .bi { font-size: 1.15rem; color: var(--kk-vurgu); }
.hava-saat-ad { color: var(--text-muted); font-weight: 600; }
.hava-saat-yarin .hava-saat-ad { color: var(--text-dim); }
.hava-saat-yagis { font-size: 0.66rem; color: var(--text-muted); white-space: nowrap; }
.hava-saat-yagis .bi { font-size: 0.66rem; }
.hava-gunler { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0.75rem; }
.hava-gun {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.55rem 0.25rem;
    border-radius: var(--radius-md);
    background: var(--bg-input);
    font-size: 0.75rem;
    text-align: center;
}
.hava-gun .bi { font-size: 1.3rem; color: var(--kk-vurgu); }
.hava-gun-ad { font-weight: 700; color: var(--text-muted); }
.hava-gun-derece { color: var(--text-muted); white-space: nowrap; }
.hava-gun-derece strong { color: var(--text-main); }

.hava-saatlik[hidden], .hava-gunler[hidden] { display: none; }
.hava-tahmin { margin-top: 0.8rem; }
.hava-sekmeler { display: inline-flex; gap: 2px; margin-bottom: 0.55rem; padding: 3px; border-radius: 9999px; background: var(--bg-input); border: 1px solid var(--border-color); }
.hava-sekme { font: inherit; font-size: 0.74rem; font-weight: 700; padding: 0.22rem 0.8rem; border: 0; border-radius: 9999px; background: transparent; color: var(--text-muted); cursor: pointer; }
.hava-sekme[aria-selected="true"] { background: var(--bg-card); color: var(--text-main); box-shadow: 0 1px 3px rgba(2, 6, 23, 0.18); }
.hava-sekme:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.hava-tahmin [role="tabpanel"]:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: var(--radius-md); }
.kk-hava-kompakt .hava-uyari { margin-bottom: 0; padding: 0.45rem 0.65rem; }
.kk-hava-kompakt .hava-uyari div { flex-direction: row; flex-wrap: wrap; column-gap: 0.4rem; }
.hava-uyari-diger { font-size: 0.72rem; color: var(--text-dim); }
.kk-hava-kompakt .hava-simdi { gap: 0.8rem; }
.kk-hava-kompakt .hava-ikon { width: 52px; height: 52px; font-size: 1.85rem; border-radius: 14px; }
.kk-hava-kompakt .hava-derece { font-size: 2rem; }
.kk-hava-kompakt .hava-durum { margin-top: 0.15rem; font-size: 0.88rem; }
.kk-hava-kompakt .hava-detay { margin-top: 0.6rem; }
/* Saat şeridi: en çok 6 saat, eşit sütun, kaydırma çubuğu yok (karşılama ve Pano) */
.hava-saatlik.hava-saatlik-sabit { grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-columns: auto; gap: 0.35rem; padding-bottom: 0; overflow: visible; }
.kk-hava-kompakt .hava-saatlik { margin-top: 0; }
.kk-hava-kompakt .hava-saat { padding: 0.4rem 0.1rem; }
.kk-hava-kompakt .hava-gunler { margin-top: 0; }

/* Pano düzeni: "Panoyu düzenle" araç çubuğu, düzenleme modu, sürükle-bırak */
.pano-duzen { margin: -0.4rem 0 1rem; }
.pano-duzen[hidden], .pano-duzen-panel[hidden] { display: none; }
/* Pano butonları satırı (v1.139.0): standart butonlar soldan sağa + sağda "Panoyu düzenle", hepsi tek çerçeveli panelde, tam genişlik */
.pano-duzen-ust, .uyg-bas-panel {
    border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border-color));
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 7%, var(--bg-card)), var(--bg-card) 70%);
    box-shadow: 0 6px 18px -12px color-mix(in srgb, var(--primary) 45%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.pano-duzen-ust { display: flex; align-items: flex-start; gap: 0.5rem; width: 100%; padding: 0.55rem 0.65rem; border-radius: 18px; }
.pano-duzen-ust .pano-butonlar { flex: 1 1 auto; margin-top: 0; min-width: 0; align-items: center; }
.pano-duzen-ust .pano-hizli-btn { background: var(--bg-card); }
.pano-duzen-ust .pano-duzen-ac { flex: 0 0 auto; white-space: nowrap; margin-left: auto; padding: 0.45rem 0.9rem; font-size: 0.82rem; }
.pano-duzen-ac[hidden] { display: none; }
/* Pano "İzin talebi" penceresi (v1.139.0; assets/js/izin-pencere.js) */
.iz-pencere { margin: auto; width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--border-color);
    border-radius: 18px; background: var(--bg-card); color: var(--text-main); box-shadow: 0 24px 60px -20px rgba(15, 23, 42, 0.45); overflow: hidden; }
.iz-pencere[open] { display: flex; flex-direction: column; }
.iz-pencere::backdrop { background: rgba(15, 23, 42, 0.45); backdrop-filter: blur(2px); }
.iz-pencere-bas { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.9rem 1.15rem;
    border-bottom: 1px solid var(--border-color); background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 9%, var(--bg-card)), var(--bg-card) 70%); }
.iz-pencere-bas h2 { margin: 0; font-size: 1.05rem; font-weight: 800; display: flex; align-items: center; gap: 0.5rem; }
.iz-pencere-bas h2 .bi { color: var(--primary); }
.iz-pencere-x { width: 2.2rem; height: 2.2rem; border-radius: 10px; border: 1px solid var(--border-color); background: var(--bg-card); color: var(--text-main); cursor: pointer; }
.iz-pencere-x:hover { border-color: var(--primary); }
.iz-pencere-kap { padding: 1rem 1.15rem 1.15rem; overflow-y: auto; }
.iz-pencere-bakiye { margin: 0 0 0.75rem; }
.iz-pencere-mesaj { margin-bottom: 0.75rem; padding: 0.6rem 0.8rem; border-radius: 10px; font-size: 0.86rem; font-weight: 600; }
.iz-pencere-mesaj-hata { background: color-mix(in srgb, #dc2626 10%, var(--bg-card)); color: #b91c1c; border: 1px solid color-mix(in srgb, #dc2626 30%, transparent); }
.iz-pencere-mesaj[hidden] { display: none; }
.iz-pencere-tamam { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; text-align: center; padding: 1.5rem 0.5rem; }
.iz-pencere-tamam .bi { font-size: 2.6rem; color: #16a34a; }
.iz-pencere-tamam p { margin: 0; font-weight: 600; }
@media (max-width: 640px) { .pano-duzen-ust { flex-wrap: wrap; } .pano-duzen-ust .pano-butonlar { flex-basis: 100%; } }
.pano-duzen-ac {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.9rem;
    border-radius: 9999px;
    border: 1px solid var(--border-color);
    background: var(--bg-card);
    color: var(--text-main);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}
.pano-duzen-ac .bi { color: var(--primary); }
.pano-duzen-ac:hover { border-color: var(--primary); }
.pano-duzen-ac[aria-expanded="true"] { border-color: var(--primary); background: var(--primary-light); }
.pano-duzen-ac:focus-visible, .pano-duzen-secim input:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.pano-duzen-panel {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--primary);
    background: var(--bg-card);
}
.pano-duzen-bas h2 { margin: 0 0 0.3rem; font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; }
.pano-duzen-bas h2 .bi { color: var(--primary); }
.pano-duzen-bas p { margin: 0; max-width: 90ch; font-size: 0.82rem; color: var(--text-muted); }
.pano-duzen-liste { margin: 0; padding: 0; border: 0; min-width: 0; }
.pano-duzen-liste legend { margin-bottom: 0.45rem; padding: 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-dim); }
.pano-duzen-secimler { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pano-duzen-secim {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem 0.3rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid var(--border-color);
    background: var(--bg-input);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}
.pano-duzen-secim input { width: 16px; height: 16px; margin: 0; accent-color: var(--primary); cursor: pointer; }
.pano-duzen-secim:has(input:not(:checked)) { color: var(--text-dim); border-style: dashed; }
.pano-duzen-eylem { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; flex-wrap: wrap; }
.pano-duzen-durum { margin-right: auto; font-size: 0.8rem; color: var(--text-muted); }
.pano-duzen-durum.basari { color: var(--success); }
.pano-duzen-durum.hata { color: var(--danger); }
.pano-duzenleniyor [data-pano-izgara] > .kk { border-style: dashed; border-color: var(--primary); cursor: grab; user-select: none; }
.pano-duzenleniyor [data-pano-izgara] > .kk .kk-etiket { visibility: hidden; }
/* Düzenlerken kartlar eşit boy kutucuktur: ızgara düzenli satırlara oturur, sıra soldan sağa / yukarıdan aşağı okunur ve bırakılacak
   yer öngörülebilir olur (boşluksuz dizilimde bir kart kayınca diğerleri sütun değiştirir). "Bitti" ile boşluksuz dizilim döner. */
.pano-duzenleniyor [data-pano-izgara].kk-masonry { grid-auto-rows: auto; row-gap: 1.25rem; }
.pano-duzenleniyor [data-pano-izgara] > * { grid-row-end: auto !important; margin-bottom: 0 !important; }
.pano-duzenleniyor [data-pano-izgara] > .kk,
.pano-duzenleniyor [data-pano-izgara] > .pano-yer-tutucu { height: 168px !important; }
.pano-duzenleniyor [data-pano-izgara] > .kk::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 56px;
    background: linear-gradient(to bottom, transparent, var(--bg-card));
    pointer-events: none;
}
.pano-kontrol { position: absolute; top: 0.65rem; right: 0.65rem; z-index: 2; display: flex; gap: 0.3rem; }
.pano-kontrol button {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: var(--bg-card);
    color: var(--text-main);
    font-size: 1rem;
    cursor: pointer;
}
.pano-kontrol .pano-tasi { cursor: grab; touch-action: none; }
.pano-kontrol button:hover { border-color: var(--primary); color: var(--primary); }
.pano-kontrol button:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.pano-kontrol .pano-gizle:hover { border-color: var(--danger); color: var(--danger); }
.pano-suruklenen {
    position: fixed !important;
    z-index: 1500;
    margin: 0 !important;
    box-shadow: 0 22px 48px rgba(2, 6, 23, 0.35);
    cursor: grabbing !important;
    opacity: 0.97;
    will-change: transform;
}
.pano-yer-tutucu { border: 2px dashed var(--primary); border-radius: var(--radius-lg); background: var(--primary-light); opacity: 0.55; }
body.pano-surukleniyor, body.pano-surukleniyor * { cursor: grabbing !important; user-select: none; }

/* Döviz */
.kur-liste { display: grid; gap: 0.35rem; }
.kur-satir { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)) minmax(0, 0.9fr); gap: 0.5rem; align-items: center; padding: 0.45rem 0.6rem; border-radius: var(--radius-md); background: var(--bg-input); font-size: 0.86rem; }
.kur-bas { background: transparent; padding-top: 0; padding-bottom: 0; font-size: 0.7rem; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; }
.kur-ad { display: flex; flex-direction: column; min-width: 0; }
.kur-ad small { font-size: 0.7rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kur-deger { font-variant-numeric: tabular-nums; }
.kur-satis { font-weight: 700; }
.kur-degisim { font-size: 0.76rem; font-weight: 700; color: var(--text-muted); white-space: nowrap; }
.kur-degisim.artis { color: #16a34a; }
.kur-degisim.azalis { color: #dc2626; }

/* Durum listeleri (odalar / araçlar) ve hemen ayır */
.durum-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.durum-oge {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.4rem 0.65rem;
    padding: 0.5rem 0.7rem;
    border-radius: var(--radius-md);
    background: var(--bg-input);
    font-size: 0.85rem;
}
.durum-nokta { width: 10px; height: 10px; border-radius: 50%; background: var(--oda-renk, var(--primary)); box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.12); }
.durum-nokta-musait { background: var(--success); }
.durum-nokta-gorevde { background: var(--danger); }
.durum-nokta-rezerve { background: var(--accent); }
.durum-nokta-bakimda, .durum-nokta-pasif { background: var(--text-dim); }
.durum-govde { min-width: 0; display: flex; flex-direction: column; }
.durum-ad { font-weight: 700; color: var(--text-main); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.durum-ad:hover { color: var(--primary); text-decoration: none; }
.durum-meta { font-size: 0.74rem; color: var(--text-dim); margin-top: 0.1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.durum-sag { display: flex; align-items: center; gap: 0.4rem; }
.durum-rozet { font-size: 0.72rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 9999px; white-space: nowrap; }
.durum-bos .durum-rozet, .durum-musait .durum-rozet { background: var(--success-light); color: var(--success); }
.durum-dolu .durum-rozet, .durum-gorevde .durum-rozet { background: var(--danger-light); color: var(--danger); }
.durum-rezerve .durum-rozet { background: var(--accent-light); color: var(--accent); }
.durum-bakimda .durum-rozet, .durum-pasif .durum-rozet { background: rgba(148, 163, 184, 0.16); color: var(--text-muted); }
.durum-ayir {
    border: 1px solid var(--primary);
    background: transparent;
    color: var(--primary);
    border-radius: 9999px;
    padding: 0.18rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
}
.durum-ayir:hover:not(:disabled) { background: var(--primary); color: #fff; }
.durum-ayir:disabled { opacity: 0.45; cursor: not-allowed; }
.hizli-ayir { grid-column: 1 / -1; display: grid; gap: 0.5rem; padding-top: 0.45rem; border-top: 1px dashed var(--border-color); }
.hizli-ayir .form-control { width: 100%; font-size: 0.85rem; padding: 0.45rem 0.65rem; }
.hizli-ayir-sureler { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.hizli-ayir-not { font-size: 0.72rem; color: var(--text-dim); }
.durum-mesaj { display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; margin: 0 0 0.6rem; padding: 0.5rem 0.7rem; border-radius: var(--radius-md); font-size: 0.8rem; }
.durum-mesaj a { color: inherit; font-weight: 700; }
.durum-mesaj-basari { background: var(--success-light); color: var(--success); }
.durum-mesaj-hata { background: var(--danger-light); color: var(--danger); }
.durum-daha { margin: 0.5rem 0 0; text-align: center; font-size: 0.78rem; }
.durum-daha a { color: var(--primary); font-weight: 600; text-decoration: none; }

/* Ajandam */
.ajanda-sonraki {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.75rem;
    padding: 0.7rem 0.9rem;
    border-radius: var(--radius-md);
    background: var(--primary-light);
    border: 1px solid rgba(56, 189, 248, 0.3);
}
.ajanda-sonraki > .bi { font-size: 1.4rem; color: var(--primary); }
.ajanda-sonraki div { display: flex; flex-direction: column; min-width: 0; }
.ajanda-sonraki-etiket { font-size: 0.72rem; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: 0.04em; }
.ajanda-sonraki strong { font-size: 0.95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ajanda-sonraki-alt { font-size: 0.76rem; color: var(--text-muted); }
.ajanda-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
.ajanda-oge {
    display: grid;
    grid-template-columns: 62px 30px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.6rem;
    border-radius: var(--radius-md);
    font-size: 0.85rem;
}
.ajanda-oge.simdi { background: var(--success-light); }
.ajanda-oge.gecti { opacity: 0.55; }
.ajanda-zaman { display: flex; flex-direction: column; line-height: 1.15; font-variant-numeric: tabular-nums; font-size: 0.8rem; color: var(--text-muted); }
.ajanda-zaman strong { color: var(--text-main); font-size: 0.9rem; }
.ajanda-simge { width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-input); color: var(--primary); }
.ajanda-ziyaretci .ajanda-simge { color: var(--success); }
.ajanda-arac .ajanda-simge { color: var(--accent); }
.ajanda-takvim .ajanda-simge { color: #a78bfa; }
.ajanda-govde { display: flex; flex-direction: column; min-width: 0; }
.ajanda-baslik { font-weight: 700; color: var(--text-main); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
a.ajanda-baslik:hover { color: var(--primary); text-decoration: none; }
.ajanda-alt { font-size: 0.74rem; color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ajanda-durum { font-size: 0.7rem; font-weight: 700; padding: 0.18rem 0.55rem; border-radius: 9999px; white-space: nowrap; background: var(--primary-light); color: var(--primary); }
.ajanda-durum-uyari { background: var(--accent-light); color: var(--accent); }
.ajanda-durum-basari { background: var(--success-light); color: var(--success); }
.ajanda-durum-soluk { background: rgba(148, 163, 184, 0.16); color: var(--text-muted); }

/* Bekleyen işlerim ve role göre kartlar */
.is-liste, .saglik-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.is-oge a, .is-oge > div, .saglik-oge a, .saglik-oge > div {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.7rem;
    border-radius: var(--radius-md);
    background: var(--bg-input);
    color: var(--text-main);
    text-decoration: none;
    border: 1px solid transparent;
    transition: border-color 0.15s ease;
}
.is-oge a:hover, .saglik-oge a:hover { border-color: var(--border-color-focus); text-decoration: none; color: var(--text-main); }
.is-oge .bi { font-size: 1.1rem; color: var(--primary); flex: 0 0 auto; }
.is-uyari .bi { color: var(--accent); }
.is-metin, .saglik-metin { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; font-size: 0.84rem; }
.is-metin small, .saglik-metin small { font-size: 0.74rem; color: var(--text-muted); }
.is-sayi, .saglik-sayi { font-weight: 800; font-size: 0.85rem; min-width: 1.9rem; text-align: center; padding: 0.15rem 0.45rem; border-radius: 9999px; background: var(--primary-light); color: var(--primary); }
.is-uyari .is-sayi { background: var(--accent-light); color: var(--accent); }
.saglik-nokta { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; background: var(--text-dim); }
.saglik-iyi .saglik-nokta { background: var(--success); }
.saglik-uyari .saglik-nokta { background: var(--accent); }
.saglik-tehlike .saglik-nokta { background: var(--danger); }
.saglik-bilgi .saglik-nokta { background: var(--primary); }
.saglik-tehlike .saglik-sayi { background: var(--danger-light); color: var(--danger); }
.saglik-uyari .saglik-sayi { background: var(--accent-light); color: var(--accent); }
.saglik-iyi .saglik-sayi { background: var(--success-light); color: var(--success); }
.rol-sayaclar { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 0.5rem; margin-bottom: 0.75rem; }
.rol-sayac { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.6rem 0.7rem; border-radius: var(--radius-md); background: var(--bg-input); }
.rol-sayac strong { font-size: 1.4rem; font-weight: 800; line-height: 1.1; }
.rol-sayac span { font-size: 0.72rem; color: var(--text-muted); }
.rol-sayac-uyari strong { color: var(--accent); }
.rol-sayac-tehlike strong { color: var(--danger); }
/* Sayaçlar arası ince dikey ayraç (v1.85.2 — kullanıcı isteği 09.10.2026; Kapı Durumu, Filo Uyarıları, sistem / BT kartları):
   her sayacın solunda 1 px çizgi; satırın ilk sayacındaki çizgi kapsayıcının dışına (-1 px) kayıp kırpılır — satır kırılsa da baştaki çizgi görünmez */
.rol-sayaclar { column-gap: 0; overflow: hidden; }
.rol-sayac { border-left: 1px solid var(--border-color); margin-left: -1px; border-radius: 0; background: transparent; padding-top: 0.35rem; padding-bottom: 0.35rem; }

/* Duyurular */
.duyuru-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.kk-genis .duyuru-liste { grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }
.duyuru-oge { padding: 0.7rem 0.85rem; border-radius: var(--radius-md); background: var(--bg-input); border-left: 3px solid var(--primary); min-width: 0; }
.duyuru-onemli { border-left-color: var(--danger); }
.duyuru-etkinlik { border-left-color: #8b5cf6; }
.duyuru-kutlama { border-left-color: var(--accent); }
.duyuru-meta { display: flex; align-items: center; gap: 0.45rem; font-size: 0.72rem; color: var(--text-dim); margin-bottom: 0.25rem; }
.duyuru-meta a { color: var(--primary); text-decoration: none; }
.duyuru-rozet { font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--primary); }
.duyuru-onemli .duyuru-rozet, .duyuru-rozet.duyuru-onemli { color: var(--danger); }
.duyuru-etkinlik .duyuru-rozet, .duyuru-rozet.duyuru-etkinlik { color: #8b5cf6; }
.duyuru-kutlama .duyuru-rozet, .duyuru-rozet.duyuru-kutlama { color: var(--accent); }
.duyuru-sabit { color: var(--accent); }
.duyuru-baslik { display: block; font-weight: 700; font-size: 0.92rem; color: var(--text-main); text-decoration: none; overflow-wrap: anywhere; }
a.duyuru-baslik:hover { color: var(--primary); text-decoration: none; }
.duyuru-ozet { margin: 0.25rem 0 0; font-size: 0.8rem; color: var(--text-muted); overflow-wrap: anywhere; }
.duyuru-detay summary { cursor: pointer; font-weight: 700; font-size: 0.92rem; list-style-position: outside; overflow-wrap: anywhere; }
.duyuru-detay[open] summary { margin-bottom: 0.4rem; }
.duyuru-metin { font-size: 0.86rem; color: var(--text-muted); line-height: 1.55; overflow-wrap: anywhere; }
.duyuru-metin p { margin: 0 0 0.5rem; }
.duyuru-metin h3, .duyuru-metin h4 { color: var(--text-main); margin: 0.6rem 0 0.3rem; font-size: 0.95rem; }
.duyuru-metin ul { margin: 0 0 0.5rem 1.1rem; }
.duyuru-kalici { display: inline-flex; align-items: center; gap: 0.2rem; font-size: 0.74rem; color: var(--primary); text-decoration: none; }
.kurumsal-duyuru-tek { max-width: 820px; margin: 0 auto; padding: 1.75rem 2rem; }
.kurumsal-duyuru-tek .duyuru-metin { font-size: 0.98rem; color: var(--text-main); }

/* Duyuru kartı (v1.31.0): tıklanınca modal pencere (assets/js/duyuru-modal.js); kapak görseli ya da ikon, özet, galeri sayısı */
.duyuru-oge:has(> .duyuru-kart) { padding: 0; }
.duyuru-kart { display: flex; align-items: flex-start; gap: 0.7rem; width: 100%; padding: 0.7rem 0.85rem; border: 0; background: transparent; color: inherit;
    font: inherit; text-align: left; text-decoration: none; cursor: pointer; border-radius: inherit; min-width: 0; }
.duyuru-kart:hover { text-decoration: none; background: color-mix(in srgb, var(--primary) 6%, transparent); }
.duyuru-kart:hover .duyuru-baslik { color: var(--primary); }
.duyuru-kart:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.duyuru-kart-govde { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.duyuru-kart .duyuru-ozet { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.duyuru-kart-ikon { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border-radius: 0.7rem; display: flex; align-items: center; justify-content: center;
    font-size: 1.15rem; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, transparent); }
.duyuru-onemli .duyuru-kart-ikon, .duyuru-onemli .duyuru-tam-ikon { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, transparent); }
.duyuru-etkinlik .duyuru-kart-ikon, .duyuru-etkinlik .duyuru-tam-ikon { color: #8b5cf6; background: color-mix(in srgb, #8b5cf6 12%, transparent); }
.duyuru-kutlama .duyuru-kart-ikon, .duyuru-kutlama .duyuru-tam-ikon { color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); }
.duyuru-kart-kapak { flex: 0 0 auto; width: 4.2rem; height: 3.2rem; border-radius: 0.55rem; overflow: hidden; background: var(--border-color); }
.duyuru-kart-kapak img { width: 100%; height: 100%; object-fit: cover; display: block; }
.duyuru-galeri-say { display: inline-flex; align-items: center; gap: 0.2rem; }

/* Sabitlenmiş duyuru bandı (Pano en üstü; v1.33.0): kayan şerit, üzerine gelince / odakta / Durdur ile durur */
.duyuru-bant { display: flex; align-items: stretch; margin-bottom: 1rem; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-color);
    background: var(--bg-card); box-shadow: var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, 0.08)); min-height: 2.9rem; }
.duyuru-bant-etiket { flex: 0 0 auto; display: flex; align-items: center; gap: 0.4rem; padding: 0 1rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.03em;
    color: #fff; background: var(--primary); text-transform: uppercase; }
.duyuru-bant-pencere { flex: 1 1 auto; min-width: 0; overflow: hidden; display: flex; align-items: center;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%); }
.duyuru-bant-akis { display: flex; width: max-content; }
.duyuru-bant-grup { display: flex; align-items: center; gap: 2.2rem; padding: 0 1.1rem; }
.duyuru-bant-grup[hidden] { display: none; }
.duyuru-bant.kayiyor .duyuru-bant-akis { animation: duyuruBantKay 40s linear infinite; }
.duyuru-bant.kayiyor:hover .duyuru-bant-akis, .duyuru-bant.kayiyor:focus-within .duyuru-bant-akis, .duyuru-bant.durdu .duyuru-bant-akis { animation-play-state: paused; }
@keyframes duyuruBantKay { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.duyuru-bant-oge { display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap; font-size: 0.86rem; color: var(--text-main); text-decoration: none; padding: 0.55rem 0; }
.duyuru-bant-oge:hover { text-decoration: none; color: var(--primary); }
.duyuru-bant-oge:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 4px; }
.duyuru-bant-oge > .bi { color: var(--primary); }
.duyuru-bant-rozet { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--primary); }
.duyuru-bant-oge.duyuru-onemli > .bi, .duyuru-bant-oge.duyuru-onemli .duyuru-bant-rozet { color: var(--danger); }
.duyuru-bant-oge.duyuru-etkinlik > .bi, .duyuru-bant-oge.duyuru-etkinlik .duyuru-bant-rozet { color: #8b5cf6; }
.duyuru-bant-oge.duyuru-kutlama > .bi, .duyuru-bant-oge.duyuru-kutlama .duyuru-bant-rozet { color: var(--accent); }
.duyuru-bant-ozet { color: var(--text-muted); }
.duyuru-bant-oge + .duyuru-bant-oge::before { content: '•'; color: var(--border-color); margin-right: 1.75rem; margin-left: -0.5rem; }
.duyuru-bant-dur { flex: 0 0 auto; width: 2.6rem; border: 0; border-left: 1px solid var(--border-color); background: transparent; color: var(--text-muted); cursor: pointer; }
.duyuru-bant-dur:hover, .duyuru-bant-dur:focus-visible { color: var(--primary); outline: none; background: var(--bg-input); }
.duyuru-bant-dur[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .duyuru-bant-pencere { overflow-x: auto; } .duyuru-bant.kayiyor .duyuru-bant-akis { animation: none; } }
@media (max-width: 640px) { .duyuru-bant-etiket { padding: 0 0.6rem; font-size: 0; gap: 0; } .duyuru-bant-etiket .bi { font-size: 1rem; } .duyuru-bant-ozet { display: none; } }

/* Karşılama: tam genişlik duyuru bölümü — kapaklı kart ızgarası */
.kk-duyuru-genis .duyuru-liste { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 0.85rem; }
.kk-duyuru-genis .duyuru-oge { border-left: 0; border-top: 3px solid var(--primary); overflow: hidden; }
.kk-duyuru-genis .duyuru-onemli { border-top-color: var(--danger); }
.kk-duyuru-genis .duyuru-etkinlik { border-top-color: #8b5cf6; }
.kk-duyuru-genis .duyuru-kutlama { border-top-color: var(--accent); }
.kk-duyuru-genis .duyuru-kart { flex-direction: column; gap: 0; padding: 0; height: 100%; }
.kk-duyuru-genis .duyuru-kart-kapak { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 0; }
.kk-duyuru-genis .duyuru-kart-ikon { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 0; font-size: 2.6rem; }
.kk-duyuru-genis .duyuru-kart-govde { padding: 0.75rem 0.9rem 0.9rem; }
.kk-duyuru-genis .duyuru-baslik { font-size: 0.98rem; }
@media (max-width: 640px) {
    .kk-duyuru-genis .duyuru-kart-ikon { aspect-ratio: auto; height: 4.5rem; font-size: 2rem; }
}

/* Duyuru modal penceresi (<dialog>; margin: auto — portal.css * { margin: 0 } pencereyi sol üste yapıştırıyordu) */
.duyuru-modal { margin: auto; padding: 0; width: min(820px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); border: 1px solid var(--border-color);
    border-radius: 1.1rem; background: var(--bg-card); color: var(--text-main); box-shadow: 0 30px 80px -20px rgba(15, 23, 42, 0.55); overflow: hidden; }
.duyuru-modal[open] { display: flex; flex-direction: column; }
.duyuru-modal::backdrop { background: rgba(15, 23, 42, 0.6); backdrop-filter: blur(2px); }
html.duyuru-modal-acik { overflow: hidden; }
.duyuru-modal-kapat { position: absolute; top: 0.7rem; right: 0.7rem; z-index: 2; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--border-color);
    background: var(--bg-card); color: var(--text-main); font-size: 1rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.duyuru-modal-kapat:hover, .duyuru-modal-kapat:focus-visible { background: var(--danger); border-color: var(--danger); color: #fff; outline: none; }
.duyuru-modal-govde { overflow-y: auto; padding: 1.5rem 1.75rem 1.75rem; }
.duyuru-modal-govde[hidden] { display: none; }
.duyuru-tam-bas { display: flex; align-items: flex-start; gap: 0.85rem; margin-bottom: 1rem; padding-right: 2.5rem; }
.duyuru-tam-ikon { flex: 0 0 auto; width: 3rem; height: 3rem; border-radius: 0.85rem; display: flex; align-items: center; justify-content: center; font-size: 1.45rem;
    color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, transparent); }
.duyuru-tam-baslik { margin: 0.1rem 0 0; font-size: 1.3rem; font-weight: 800; line-height: 1.3; color: var(--text-main); overflow-wrap: anywhere; }
.duyuru-tam-kapak { display: block; margin: 0 0 1rem; border-radius: 0.8rem; overflow: hidden; background: var(--border-color); cursor: zoom-in; }
.duyuru-tam-kapak img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; }
.duyuru-tam .duyuru-metin { font-size: 0.95rem; color: var(--text-main); }
.duyuru-galeri { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.5rem; margin-top: 1rem; }
.duyuru-galeri a { display: block; aspect-ratio: 1; border-radius: 0.6rem; overflow: hidden; background: var(--border-color); cursor: zoom-in; }
.duyuru-galeri a:focus-visible, .duyuru-tam-kapak:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.duyuru-galeri img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.2s ease; }
.duyuru-galeri a:hover img { transform: scale(1.04); }
.duyuru-gosterici { position: relative; display: flex; align-items: center; justify-content: center; min-height: min(70dvh, 560px); padding: 3.2rem 3.2rem 2.4rem; background: #0b1120; }
.duyuru-gosterici[hidden] { display: none; }
.duyuru-gosterici-resim { max-width: 100%; max-height: calc(100dvh - 9rem); object-fit: contain; border-radius: 0.4rem; user-select: none; }
.duyuru-gosterici-geri { position: absolute; top: 0.7rem; left: 0.7rem; display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.45rem 0.8rem; border-radius: 999px;
    border: 0; background: rgba(255, 255, 255, 0.14); color: #fff; font: inherit; font-size: 0.82rem; font-weight: 600; cursor: pointer; }
.duyuru-gosterici-ok { position: absolute; top: 50%; transform: translateY(-50%); width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 0;
    background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 1.15rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.duyuru-gosterici-ok[hidden] { display: none; }
.duyuru-gosterici-onceki { left: 0.6rem; }
.duyuru-gosterici-sonraki { right: 0.6rem; }
.duyuru-gosterici-geri:hover, .duyuru-gosterici-ok:hover, .duyuru-gosterici-geri:focus-visible, .duyuru-gosterici-ok:focus-visible { background: rgba(255, 255, 255, 0.3); outline: none; }
.duyuru-gosterici-sayac { position: absolute; bottom: 0.7rem; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, 0.8); font-size: 0.78rem; font-weight: 600; }
@media (max-width: 640px) {
    .duyuru-modal { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; border: 0; }
    .duyuru-modal-govde { padding: 1.1rem 1rem 1.5rem; }
    .duyuru-tam-baslik { font-size: 1.12rem; }
    .duyuru-gosterici { flex: 1 1 auto; padding: 3.2rem 0.5rem 2.4rem; }
    .duyuru-gosterici-ok { top: auto; bottom: 0.4rem; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .duyuru-galeri img { transition: none; } }

/* Duyuru yönetimi: ikon seçici ve görsel listesi */
.ky-ikon-sec { display: flex; align-items: center; gap: 0.6rem; }
.ky-ikon-sec select { flex: 1 1 auto; }
.ky-ikon-onizleme { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; border-radius: 0.7rem; display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
    color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, transparent); }
.ky-gorseller { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 0.5rem; margin-top: 0.5rem; }
.ky-gorsel { position: relative; display: block; margin: 0; border-radius: 0.6rem; overflow: hidden; border: 2px solid var(--border-color); background: var(--bg-input); cursor: pointer; }
.ky-gorsel img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.ky-gorsel input { position: absolute; top: 0.35rem; left: 0.35rem; width: 1.1rem; height: 1.1rem; accent-color: var(--danger); }
.ky-gorsel:has(input:checked) { border-color: var(--danger); }
.ky-gorsel:has(input:checked) img { opacity: 0.35; }
.ky-gorsel span { position: absolute; left: 0; right: 0; bottom: 0; padding: 0.15rem 0.35rem; font-size: 0.66rem; font-weight: 700; color: #fff; background: rgba(15, 23, 42, 0.65); }

/* Yemek menüsü */
.menu-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; font-size: 0.92rem; }
.menu-liste li { display: flex; align-items: center; gap: 0.25rem; font-weight: 600; }
.menu-liste .bi { color: var(--accent); font-size: 1.3rem; margin-left: -0.35rem; }
.menu-not { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin: 0.6rem 0 0; font-size: 0.78rem; color: var(--text-muted); }
.menu-not .bi { color: var(--danger); }

/* Kazasız gün */
.kazasiz-govde { text-align: center; }
.kazasiz-sayi { font-size: 3rem; font-weight: 800; line-height: 1; letter-spacing: -1.5px; color: #16a34a; font-variant-numeric: tabular-nums; }
.kazasiz-sayi span { font-size: 1rem; font-weight: 700; color: var(--text-muted); margin-left: 0.35rem; letter-spacing: 0; }
.kazasiz-metin { margin: 0.3rem 0 0; font-size: 0.86rem; font-weight: 600; }
.kazasiz-hedef { height: 8px; border-radius: 8px; background: var(--bg-input); overflow: hidden; margin: 0.75rem auto 0.3rem; max-width: 240px; }
.kazasiz-hedef span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #22c55e, #16a34a); }
.kazasiz-alt { margin: 0.3rem 0 0; font-size: 0.76rem; color: var(--text-muted); }
.kazasiz-alt .bi { color: var(--accent); }

/* Kutlamalar */
.kutlama-kendi { margin: 0 0 0.6rem; padding: 0.55rem 0.8rem; border-radius: var(--radius-md); background: var(--accent-light); font-weight: 700; display: flex; align-items: center; gap: 0.45rem; }
.kutlama-kendi .bi { color: var(--accent); font-size: 1.2rem; }
/* Bölüm başlıkları (v1.88.0 — kullanıcı isteği 09.10.2026: "Aramıza katılanlar ile Bu hafta doğum günü başlıkları daha belirgin"):
   koyu yazı, renkli ikon, alt çizgi; soluk liste olsa da başlık soluk değildir */
.kutlama-bas { margin: 1rem 0 0.45rem; padding-bottom: 0.35rem; font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em;
    color: var(--text-main); display: flex; align-items: center; gap: 0.45rem; border-bottom: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.kutlama-bas:first-child { margin-top: 0; }
.kutlama-bas .bi { color: var(--accent); font-size: 1rem; }
.kutlama-bas.kutlama-soluk { opacity: 1; }
/* Satır (v1.85.1): üstte ad soyad + tarih / KUTLA (.kutlama-ust), altta unvan */
.kutlama-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
/* Kişiler arası ince ayraç (v1.88.0 — kullanıcı isteği: "her personeli diğerinden ince bir separatörle ayır") */
.kutlama-liste li { display: flex; flex-direction: column; gap: 0.05rem; font-size: 0.86rem; min-width: 0; padding: 0.45rem 0; border-top: 1px solid var(--border-color); }
.kutlama-liste li:first-child { border-top: 0; padding-top: 0.15rem; }
.kutlama-ust { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.kutlama-ust strong { min-width: 0; overflow-wrap: anywhere; }
.kutlama-liste span { font-size: 0.74rem; color: var(--text-dim); line-height: 1.3; }
.kutlama-liste em { font-style: normal; font-size: 0.72rem; font-weight: 700; color: var(--primary); margin-left: auto; white-space: nowrap; }
.kutlama-soluk { opacity: 0.85; }

/* Haberler */
.haber-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.kk-haber-genis .haber-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.3rem 0; overflow: hidden; }
/* Haber sütunları arası ince dikey ayraç (v1.85.2): sol sütundaki çizgi kapsayıcı dışına kayıp kırpılır */
.kk-haber-genis .haber-oge { border-left: 1px solid var(--border-color); margin-left: -1px; padding: 0 0.6rem; }
.haber-oge a {
    display: block;
    padding: 0.55rem 0.7rem;
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    color: var(--text-main);
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
.haber-oge a:hover { background: var(--bg-input); border-color: var(--border-color); color: var(--text-main); text-decoration: none; }
.haber-baslik { display: block; font-size: 0.88rem; font-weight: 600; line-height: 1.38; }
.haber-meta { display: flex; align-items: center; gap: 0.4rem; margin-top: 0.3rem; font-size: 0.74rem; color: var(--text-dim); }
.haber-kaynak { color: var(--primary); font-weight: 600; }
.haber-ayrac { font-size: 0; width: 1px; height: 0.75rem; background: var(--border-color); flex: 0 0 1px; } /* kaynak | zaman arası ince dikey çizgi */
.haber-dis { margin-left: auto; font-size: 0.7rem; opacity: 0; transition: opacity 0.15s ease; }
.haber-oge a:hover .haber-dis { opacity: 1; }
/* Haber penceresi (v1.88.0; portal-karsilama.js) — <dialog> için margin: auto şart (portal.css * { margin: 0 }) */
.haber-pencere { margin: auto; width: min(680px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: auto; padding: 1.25rem 1.5rem 1.4rem;
    border: 1px solid var(--border-color); border-radius: var(--radius-xl); background: var(--bg-card); color: var(--text-main); box-shadow: 0 24px 64px rgba(15, 23, 42, .35); }
.haber-pencere::backdrop { background: rgba(15, 23, 42, .55); backdrop-filter: blur(2px); }
.haber-pencere-ust { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.75rem; }
.haber-pencere-etiket { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-muted); }
.haber-pencere-kapat { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--border-color); background: var(--bg-card); color: var(--text-main); cursor: pointer; flex: 0 0 auto; }
.haber-pencere-baslik { font-size: 1.2rem; font-weight: 700; line-height: 1.35; margin: 0; }
.haber-pencere-meta { margin: 0.5rem 0 1rem; font-size: 0.8rem; }
.haber-pencere-ozet { font-size: 0.95rem; line-height: 1.6; margin: 0 0 1.25rem; white-space: pre-line; overflow-wrap: anywhere; }
.haber-pencere-bos { color: var(--text-muted); font-style: italic; }
.haber-pencere-alt { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; border-top: 1px solid var(--border-color); padding-top: 1rem; }
.haber-pencere-kaynak { margin-left: auto; }
@media (max-width: 560px) { .haber-pencere-kaynak { margin-left: 0; width: 100%; justify-content: center; } }

/* Kilitli müsaitlik (misafir) */
.kk-kilit .kk-bas h2 .bi { color: var(--accent); }
.kk-kilit .kk-govde p { margin: 0 0 0.8rem; font-size: 0.88rem; color: var(--text-muted); }
.kk-kilit-liste { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; font-size: 0.85rem; }
.kk-kilit-liste li { display: flex; align-items: center; gap: 0.6rem; }
.kk-kilit-liste .bi { color: var(--primary); flex: 0 0 auto; }
/* Servis Listeleri kartı (karşılama; yayındaki haftanın QR kodu — templates/landing_widgets.php bkm_widget_servis). QR her temada
   beyaz zeminde (koyu temada okunabilsin) */
.kk-servis .kk-bas h2 .bi { color: #ca8a04; }
.servis-kk-govde { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.35rem; }
.servis-kk-qr { display: block; padding: 8px; margin-bottom: 0.35rem; border-radius: 12px; background: #fff; border: 1px solid var(--border-color); line-height: 0; }
.servis-kk-qr svg { width: 168px; height: 168px; }
.servis-kk-baslik { margin: 0; font-weight: 800; font-size: 0.95rem; }
.servis-kk-alt { margin: 0; font-size: 0.8rem; color: var(--text-muted); }
.servis-kk-not { margin: 0.25rem 0 0.6rem; font-size: 0.8rem; color: var(--text-muted); }
.servis-kk-not .bi { color: var(--primary); }
/* Mobil uygulama indirme kartı (karşılama; templates/landing_widgets.php bkm_widget_uygulama, core/AppDownload.php) */
.kk-uygulama .kk-bas h2 .bi { color: var(--primary); }
.uyg-kk-kodlar { display: flex; gap: 0.9rem; justify-content: center; flex-wrap: wrap; }
.uyg-kk-kod { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.uyg-kk-qr { position: relative; display: block; padding: 7px; border-radius: 12px; background: #fff; border: 1px solid var(--border-color); line-height: 0; }
/* "GÜNCELLENDİ" rozeti (v1.83.0; core/AppDownload.php badgeHtml): QR'ın üst kenarında ortada, yalnız QR'ın beyaz
   sessiz alanına biner (modüllere değmez — okuma bozulmaz). Süresi yönetimden (Mobil Uygulama › rozet) belirlenir. */
.uyg-rozet { position: absolute; left: 50%; top: 0; transform: translate(-50%, -58%); z-index: 2; display: inline-flex; align-items: baseline; gap: 5px;
    padding: 3px 10px; border-radius: 999px; background: #16a34a; color: #fff; line-height: 1.05; white-space: nowrap; pointer-events: none;
    box-shadow: 0 2px 8px rgba(22, 163, 74, .45); border: 2px solid #fff; animation: uyg-rozet-nabiz 2.4s ease-in-out infinite; }
.uyg-rozet-tr { font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.uyg-rozet-surum::before { content: "·"; margin-right: 5px; opacity: .8; }
.uyg-rozet-surum { font-size: 10px; font-weight: 700; opacity: .92; }
.uyg-kk-qr:has(.uyg-rozet), .qr-kart .qr:has(.uyg-rozet) { margin-top: 12px; }
@keyframes uyg-rozet-nabiz { 0%, 100% { box-shadow: 0 2px 8px rgba(22, 163, 74, .45); } 50% { box-shadow: 0 0 0 6px rgba(22, 163, 74, .18); } }
@media (prefers-reduced-motion: reduce) { .uyg-rozet { animation: none; } }
.uyg-kk-qr svg { width: 132px; height: 132px; }
.uyg-kk-satir { display: inline-flex; align-items: center; gap: 0.35rem; }
.uyg-kk-yardim { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: var(--primary); font-size: 1.15rem; text-decoration: none; border: 1px solid var(--border-color); background: var(--bg-card); }
.uyg-kk-yardim:hover, .uyg-kk-yardim:focus-visible { background: var(--primary-light); }
.uyg-kk-not { margin: 0.75rem 0 0; font-size: 0.8rem; color: var(--text-muted); text-align: center; }
.uyg-kk-not .bi { color: var(--primary); }
/* Pano: kişinin kendi servisi + küçük QR (telefona geçirmek için) */
.kk-servis-pano .servis-kk-alt { margin-bottom: 0.6rem; }
.servis-kk-benim { list-style: none; margin: 0 0 0.8rem; padding: 0; display: grid; gap: 0.5rem; }
.servis-kk-benim li { display: grid; gap: 0.15rem; padding: 0.55rem 0.7rem; border-left: 3px solid #ca8a04; border-radius: 8px; background: var(--bg-card-hover); font-size: 0.84rem; }
.servis-kk-bolum { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.2px; text-transform: uppercase; color: var(--text-muted); }
.servis-kk-plaka { padding: 0 0.35rem; border: 1.5px solid var(--text-main); border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; }
.servis-kk-satir a { font-weight: 700; color: var(--primary); text-decoration: none; white-space: nowrap; }
.servis-kk-durak { color: var(--text-muted); }
.servis-kk-pano-govde { display: flex; flex-direction: column; align-items: center; text-align: center; }
.servis-kk-pano-govde .servis-kk-qr svg { width: 150px; height: 150px; }
.servis-kk-pano-govde .servis-kk-not { margin: 0.1rem 0 0; }
.servis-kk-pano-alt { display: flex; align-items: center; gap: 0.85rem; }
.servis-kk-pano-alt .servis-kk-qr { margin: 0; padding: 5px; flex: 0 0 auto; }
.servis-kk-pano-alt .servis-kk-qr svg { width: 96px; height: 96px; }
.servis-kk-pano-alt .servis-kk-not { margin: 0 0 0.5rem; }

/* Kurumsal içerik yönetimi ve çalışan görünümü */
.kurumsal-menu-hafta { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); gap: 0.85rem; }
.kurumsal-menu-gun { border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 0.6rem 0.75rem 0.75rem; margin: 0; min-width: 0; background: var(--bg-card); }
.kurumsal-menu-gun legend { font-size: 0.8rem; font-weight: 700; padding: 0 0.35rem; }
.kurumsal-menu-gun.bugun { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary) inset; }
.kurumsal-menu-gun textarea { resize: vertical; font-size: 0.85rem; }
.kurumsal-menu-oku .kurumsal-menu-gun { padding: 0.75rem 0.9rem; background: var(--bg-input); }

/* Yemek menüsü PDF içe aktarımı (kurumsal/yonetim.php?sekme=menu, assets/js/kurumsal-menu-pdf.js) */
.menu-pdf { --mp-uyari: #fbbf24; --mp-yeni: #34d399; outline: 2px dashed transparent; outline-offset: -8px; transition: outline-color 0.15s ease; }
[data-theme="light"] .menu-pdf,
[data-tema="acik"] .menu-pdf { --mp-uyari: #b45309; --mp-yeni: #047857; }
.menu-pdf.menu-pdf-surukle { outline-color: var(--primary); }
.menu-pdf-ust { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.menu-pdf-ust p { font-size: 0.82rem; color: var(--text-muted); margin: 0.35rem 0 0; max-width: 780px; }
.menu-pdf-durum { font-size: 0.86rem; margin-top: 0.75rem; }
.menu-pdf-durum:empty { display: none; }
.menu-pdf-durum.hata { color: var(--danger); }
.menu-pdf-durum.bilgi { color: var(--text-muted); }
.menu-pdf-durum.tamam { color: var(--mp-yeni); }
.menu-pdf-ozet { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem 1rem; flex-wrap: wrap; margin: 1rem 0 0.6rem; padding: 0.6rem 0.9rem; border-radius: var(--radius-md); background: var(--bg-input); border: 1px solid var(--border-color); font-size: 0.92rem; }
.menu-pdf-yil { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; color: var(--text-muted); margin: 0; }
.menu-pdf-yil input { width: 96px; padding: 0.3rem 0.5rem; }
.menu-pdf-genel { margin: 0 0 0.75rem; padding-left: 1.1rem; font-size: 0.8rem; color: var(--text-muted); }
.menu-pdf-genel:empty { display: none; }
.menu-pdf-secenekler { display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; font-size: 0.86rem; margin: 0.4rem 0 0.9rem; }
.menu-pdf-secenekler label, .menu-pdf-sec { display: inline-flex; align-items: center; gap: 0.45rem; cursor: pointer; }
.menu-pdf-hedef { align-items: center; padding: 0.55rem 0.8rem; border-radius: var(--radius-md); background: var(--bg-input); border: 1px solid var(--border-color); }
.menu-pdf-hedef > span { font-weight: 700; }
.menu-pdf-gun.secilmedi { opacity: 0.55; }
.menu-pdf-gun.uyarili { border-color: var(--mp-uyari); }
.menu-pdf-rozet { display: inline-block; font-size: 0.7rem; font-weight: 700; padding: 0.1rem 0.5rem; border-radius: 999px; margin-bottom: 0.4rem; background: var(--bg-input); border: 1px solid var(--border-color); color: var(--text-muted); }
.menu-pdf-rozet.yeni { color: var(--mp-yeni); }
.menu-pdf-rozet.degisir { color: var(--mp-uyari); }
.menu-pdf-uyari { list-style: none; margin: 0.45rem 0 0; padding: 0; font-size: 0.74rem; line-height: 1.4; color: var(--mp-uyari); }
.menu-pdf-uyari li + li { margin-top: 0.2rem; }
.menu-pdf-alt { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem 1rem; flex-wrap: wrap; margin-top: 1rem; font-size: 0.8rem; color: var(--text-muted); }
.kurumsal-menu-oku strong { display: block; font-size: 0.82rem; margin-bottom: 0.35rem; }
.kurumsal-menu-oku ul { margin: 0 0 0.35rem 1rem; padding: 0; font-size: 0.84rem; }
.kurumsal-menu-oku small { font-size: 0.72rem; color: var(--text-muted); }
.kurumsal-takvim { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.kurumsal-takvim li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.1rem; padding: 0.5rem 0.7rem; border-radius: var(--radius-md); background: var(--bg-input); border-left: 3px solid var(--primary); font-size: 0.85rem; }
.kurumsal-takvim .tarih { font-size: 0.74rem; color: var(--text-muted); }
.kurumsal-takvim .tur { font-size: 0.7rem; color: var(--text-dim); }
.kurumsal-takvim .tur-resmi, .kurumsal-takvim .tur-sirket { border-left-color: var(--success); }
.kurumsal-takvim .tur-arife { border-left-color: #22d3ee; }
.kurumsal-takvim .tur-anma { border-left-color: var(--text-dim); }
.kurumsal-takvim .tur-ozel { border-left-color: var(--accent); }

/* Kurumsal İçerik çalışan görünümü (kurumsal/index.php): portal genişliğinde iki sütun — solda duyurular + haftalık menü, sağda
   kutlamalar + iş güvenliği. Sütunların son kartı uzar, alt kenarlar hizalı kalır (kartlar arasında boşluk yok). Özel günler altta
   tam genişlik kutucuklar (sol sütun belirgin uzunsa sayfadaki betik sağ sütunun sonuna taşır). Dar ekranda tek sütun. */
.kurumsal-bas { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.kurumsal-bas h1 { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 1.55rem; font-weight: 800; letter-spacing: -0.4px; }
.kurumsal-bas h1 .bi { color: var(--primary); }
.kurumsal-bas p { margin: 0.25rem 0 0; color: var(--text-muted); font-size: 0.88rem; }
.kurumsal-duzen { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 1.25rem; align-items: stretch; margin-bottom: 1.25rem; }
.kurumsal-duzen.tek { grid-template-columns: minmax(0, 1fr); }
.kurumsal-duzen.olcum { align-items: start; } /* sayfadaki betik sütunların doğal yüksekliğini ölçerken */
.kurumsal-sutun { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.kurumsal-sutun > .kk:last-child { flex: 1 1 auto; }
.kurumsal-sutun .kazasiz-govde { display: flex; flex-direction: column; justify-content: center; }
/* Duyurular tek sütun (açılan duyuru yanındakini uzatmasın); açma oku başlığın sağında, renkli sol çizgiyle çakışmaz */
.kurumsal-duyurular .duyuru-detay summary { list-style: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; }
.kurumsal-duyurular .duyuru-detay summary::-webkit-details-marker { display: none; }
.kurumsal-duyurular .duyuru-detay summary::after { content: ''; flex: 0 0 auto; width: 0.45rem; height: 0.45rem; margin: 0.3rem 0.2rem 0 0; border-right: 2px solid var(--text-muted); border-bottom: 2px solid var(--text-muted); transform: rotate(45deg); transition: transform 0.15s ease; }
.kurumsal-duyurular .duyuru-detay[open] summary::after { margin-top: 0.5rem; transform: rotate(-135deg); }
.kurumsal-duyurular .duyuru-detay summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 4px; }
.kurumsal-bos { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem 0.9rem; padding: 0.9rem 1rem; border-radius: var(--radius-md); border: 1px dashed var(--border-color); background: var(--bg-card-hover); }
.kurumsal-bos > .bi { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--primary-light); color: var(--primary); font-size: 1.1rem; }
.kurumsal-bos > div { flex: 1 1 220px; display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.kurumsal-bos strong { font-size: 0.9rem; }
.kurumsal-bos span { font-size: 0.8rem; color: var(--text-muted); }
.kurumsal-menu-hafta.kurumsal-menu-oku { grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); }
/* Menü kartı sütunu doldurmak için uzarsa gün kutuları da uzar (kartın altında boş şerit kalmaz) */
.kurumsal-menu > .kk-govde { display: flex; flex-direction: column; }
.kurumsal-menu .kurumsal-menu-hafta { flex: 1 1 auto; }
/* Açık temada --bg-input kartla aynı beyaz: gün kutuları ve takvim kutucukları hafif gölgeli zeminle ayrışır (iki temada da) */
.kurumsal-sayfa .kurumsal-menu-oku .kurumsal-menu-gun { background: var(--bg-card-hover); }
.kurumsal-sayfa .kurumsal-menu-oku .kurumsal-menu-gun.bugun { background: var(--bg-card); }
.kurumsal-menu-oku .kurumsal-menu-gun.gecmis { opacity: 0.6; }
/* v1.32.0: Kurumsal sayfa duyuruları tam genişlik, satırda 4 (dar ekranda 3 / 2 / 1) — yalnız başlık (kısaltılmış), tıklanınca modal */
.kurumsal-duyurular.duyuru-kompakt { margin-bottom: 1.25rem; }
.duyuru-kompakt .duyuru-liste { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; }
.duyuru-kompakt .duyuru-ozet { display: none; }
.duyuru-kompakt .duyuru-baslik { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.duyuru-kompakt .duyuru-kart { height: 100%; align-items: center; }
.duyuru-kompakt .duyuru-kart-kapak { width: 2.6rem; height: 2.6rem; }
@media (max-width: 1280px) { .duyuru-kompakt .duyuru-liste { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .duyuru-kompakt .duyuru-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .duyuru-kompakt .duyuru-liste { grid-template-columns: minmax(0, 1fr); } }

/* Yemek menüsü şeridi: 3 gün görünür, bugün ortada (sayfa betiği ortalar); yatay kaydırma, oklar */
.kurumsal-menu-hafta.menu-serit { display: flex; grid-template-columns: none; gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 1px;
    scrollbar-width: thin; padding-bottom: 0.35rem; align-items: stretch; }
.menu-serit > .kurumsal-menu-gun { flex: 0 0 calc((100% - 1.5rem) / 3); scroll-snap-align: center; }
.menu-serit:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: var(--radius-md); }
.menu-serit .kurumsal-menu-gun.bugun { order: 0; }
.menu-serit .menu-yok { margin: 0.25rem 0 0; font-size: 0.8rem; color: var(--text-muted); }
.kurumsal-menu .kk-bas .kk-etiket { margin-left: auto; }
.menu-serit-oklar { display: inline-flex; gap: 0.25rem; }
.menu-serit-ok { width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 1px solid var(--border-color); background: var(--bg-card); color: var(--text-muted);
    display: inline-flex; align-items: center; justify-content: center; font-size: 0.8rem; cursor: pointer; }
.menu-serit-ok:hover, .menu-serit-ok:focus-visible { color: var(--primary); border-color: var(--primary); outline: none; }
@media (max-width: 640px) { .menu-serit > .kurumsal-menu-gun { flex-basis: 78%; } }
/* v1.35.1: Özel günler sol sütunda menünün altında, kompakt (satırda 3–4 kutucuk); sütunu hizalamak için uzarsa kutucuklar üstte kalır */
.kurumsal-ozel-kompakt .kurumsal-takvim.kurumsal-takvim-izgara { grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr)); gap: 0.5rem; align-content: start; }
.kurumsal-ozel-kompakt .kurumsal-takvim-izgara li { padding: 0.45rem 0.65rem; }
.kurumsal-ozel-kompakt .kurumsal-takvim-izgara strong { font-size: 0.84rem; }
.kurumsal-ozel-kompakt .kurumsal-takvim-izgara .tarih, .kurumsal-ozel-kompakt .kurumsal-takvim-izgara .tur { font-size: 0.72rem; }
/* v1.33.0: gün kartı sütun; yemeklerin altında kalan alan Salata Bar (kartın kalanını doldurur) */
.menu-serit > .kurumsal-menu-gun { display: flex; flex-direction: column; }
.menu-serit > .kurumsal-menu-gun.bos { opacity: 0.55; }
.menu-serit > .kurumsal-menu-gun.bos.bugun { opacity: 1; }
.menu-salata { flex: 1 1 auto; display: flex; flex-direction: column; gap: 0.3rem; margin-top: 0.7rem; padding: 0.6rem 0.75rem; border-radius: var(--radius-md);
    background: color-mix(in srgb, #16a34a 9%, transparent); border: 1px dashed color-mix(in srgb, #16a34a 45%, transparent); min-height: 4.5rem; }
.menu-salata-baslik { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: #15803d; display: flex; align-items: center; gap: 0.3rem; }
[data-theme="dark"] .menu-salata-baslik { color: #4ade80; }
.kurumsal-menu-oku .menu-salata ul { margin: 0 0 0 1rem; font-size: 0.8rem; }
.menu-salata-bos { text-decoration: none; color: var(--text-muted); font-size: 0.76rem; }
.menu-salata-bos:hover { color: var(--primary); text-decoration: none; }
.menu-liste-salata { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--text-muted); }
.menu-liste-salata strong { color: #15803d; }
[data-theme="dark"] .menu-liste-salata strong { color: #4ade80; }
.kurumsal-bugun { display: inline-block; margin-left: 0.3rem; padding: 0.05rem 0.45rem; border-radius: 9999px; background: var(--primary); color: #fff; font-size: 0.66rem; font-weight: 700; vertical-align: 1px; }
.kurumsal-takvim.kurumsal-takvim-izgara { grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 0.6rem; }
/* Sol kenar rengi türden gelir (.tur-*): yalnız diğer üç kenar yazılır */
.kurumsal-takvim-izgara li { padding: 0.6rem 0.8rem; background: var(--bg-card-hover); border-top: 1px solid var(--border-color); border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
.kurumsal-takvim .kalan { font-weight: 700; color: var(--primary); }
@media (max-width: 1100px) {
    .kurumsal-duzen { grid-template-columns: minmax(0, 1fr); }
    /* Tek sütunda sağ sütunun kartları (iş güvenliği, kutlamalar) sığdıkça yan yana, aynı boyda */
    .kurumsal-yan { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 1.25rem; }
}

/* Kurumsal İçerik yönetimi (kurumsal/yonetim.php): çalışan görünümüyle aynı kart dili (.kk) ve portal genişliği. İki sütunlu
   bölümlerde kartlar aynı hizada biter (ızgara hücreyi doldurur, sütunun son kartı uzar); formun eylem satırı (.ky-eylem) kartın
   en altına oturur. Duyurular: form 5 / liste 7; Kazasız Gün, Özel Günler, Kutlamalar: eşit iki sütun; menü alt satırı 2 / 1. */
.kurumsal-yonetim > .kk { margin-bottom: 1.25rem; }
.kurumsal-bas .ky-bas-eylem { display: flex; gap: 0.5rem; flex-wrap: wrap; }
/* Yönetim sekmeleri: yalnız yetkili olunan bölümler (Yetki Matrisi › Kurumsal İçerik; v1.46.0) */
.ky-sekmeler { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 1.1rem; }
.ky-sekme { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.9rem; border-radius: 999px; border: 1px solid var(--border-color); background: var(--bg-card); color: var(--text-main); font-size: 0.85rem; font-weight: 600; text-decoration: none; }
.ky-sekme:hover { border-color: var(--primary); color: var(--primary); text-decoration: none; }
.ky-sekme.is-aktif { background: var(--primary); border-color: var(--primary); color: #fff; }
.kurumsal-duzen.ky-yarim { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kurumsal-duzen.ky-form-liste { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.kurumsal-yonetim .kk .form-group { margin: 0; }
.ky-form-ic, .ky-alan-grubu { display: flex; flex-direction: column; gap: 0.85rem; min-width: 0; }
.ky-alan-grubu { flex: 1 1 auto; margin: 0; padding: 0; border: 0; }
.ky-satir { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 0.85rem; }
.ky-satir.ky-baslik-tur { grid-template-columns: minmax(0, 3fr) minmax(130px, 1fr); }
.ky-satir.ky-bayram { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
.ky-satir-esnek { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem 1rem; flex-wrap: wrap; }
.ky-satir-esnek .ky-secim { flex: 1 1 280px; }
.ky-ipucu { margin: 0; font-size: 0.8rem; line-height: 1.55; color: var(--text-muted); }
.ky-ipucu-ic { font-weight: 400; color: var(--text-dim); }
.ky-secimler { display: grid; gap: 0.55rem; }
.ky-secimler.yatay { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
/* Doğum günü alt seçenekleri (v1.85.0): ana kutucuğun altında girintili */
.ky-alt-secimler { display: grid; gap: 0.45rem; margin: -0.15rem 0 0.2rem 1.6rem; padding-left: 0.8rem; border-left: 2px solid var(--border-color); font-size: 0.92em; }
.ky-secim { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.88rem; cursor: pointer; }
.ky-secim input { flex: 0 0 auto; margin-top: 3px; }
.ky-secim small { display: block; margin-top: 0.1rem; font-size: 0.76rem; line-height: 1.45; color: var(--text-muted); }
.ky-kutu { margin: 0; padding: 0.75rem 1rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); }
.ky-kutu legend { padding: 0 0.35rem; font-size: 0.8rem; font-weight: 700; }
.ky-kutu-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.35rem 1rem; }
.ky-kutu-liste .ky-secim { font-size: 0.85rem; }
.ky-dar { max-width: 260px; }
.ky-eylem { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-top: auto; }
.ky-eylem-not { margin-right: auto; font-size: 0.8rem; color: var(--text-muted); }
.ky-mono { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; }
.alert.ky-uyari { background: var(--accent-light); border: 1px solid rgba(245, 158, 11, 0.4); color: var(--text-main); }
.alert.ky-uyari .bi { color: var(--accent); }
/* Tablolar: kart içinde, uzun listede kendi içinde kayar */
.ky-tablo { max-height: 440px; overflow-y: auto; }
.ky-tablo .portal-table th, .ky-tablo .portal-table td { padding: 0.7rem 0.85rem; }
.ky-tablo .portal-table th { position: sticky; top: 0; z-index: 1; }
.ky-genis-hucre { min-width: 180px; overflow-wrap: anywhere; }
.ky-meta { margin-top: 0.1rem; font-size: 0.76rem; color: var(--text-muted); }
.ky-tarih { font-size: 0.8rem; white-space: nowrap; }
.ky-soluk { color: var(--text-dim); }
.ky-durum { font-size: 0.8rem; font-weight: 700; white-space: nowrap; }
.ky-islem { text-align: right; white-space: nowrap; }
.ky-islem form { display: inline; }
.ky-bos-hucre { padding: 1.5rem !important; text-align: center; color: var(--text-dim); }
.ky-pasif { opacity: 0.55; }
.ky-secili td { background: var(--primary-light); }
.ky-arama { display: flex; gap: 0.4rem; }
.ky-arama .form-control { width: 220px; padding: 0.45rem 0.75rem; font-size: 0.85rem; }
.ky-satir-ici { display: flex; align-items: center; gap: 0.35rem; }
.ky-satir-ici .form-control { max-width: 170px; padding: 0.35rem 0.5rem; }
/* Haftalık menü düzenleyici: geniş ekranda 7 gün tek satırda */
.ky-hafta-gezinti { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.kurumsal-menu-hafta.ky-hafta { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.6rem; }
.ky-hafta .kurumsal-menu-gun { display: grid; align-content: start; gap: 0.4rem; min-width: 0; }
.ky-hafta .kurumsal-menu-gun legend { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
/* Bugün: iç gölge yerine kalın çerçeve (gölge gün adının üstünden geçiyordu; çerçeveyi başlık keser), gün adı vurgulu */
.ky-hafta .kurumsal-menu-gun.bugun { box-shadow: none; border-width: 2px; }
.ky-hafta .kurumsal-menu-gun.bugun legend { color: var(--primary); }
.ky-hafta .kurumsal-menu-gun.bugun legend::before { content: ''; display: inline-block; width: 0.45rem; height: 0.45rem; margin-right: 0.35rem; border-radius: 50%; background: var(--primary); vertical-align: 1px; }
.ky-hafta .form-control { padding: 0.5rem 0.6rem; font-size: 0.84rem; }
.ky-hafta textarea.form-control { min-height: 8.5rem; }
.ky-onizleme .kazasiz-govde { display: flex; flex-direction: column; justify-content: center; }
.kurumsal-surec.ky-surec { display: block; columns: 2 440px; column-gap: 2.5rem; } /* .kurumsal-surec aşağıda ızgara tanımlar */
.ky-surec li { break-inside: avoid; margin-bottom: 0.45rem; }
@media (max-width: 1280px) {
    .kurumsal-menu-hafta.ky-hafta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
    .kurumsal-duzen.ky-yarim, .kurumsal-duzen.ky-form-liste { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .kurumsal-menu-hafta.ky-hafta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ky-satir.ky-baslik-tur, .ky-satir.ky-bayram { grid-template-columns: minmax(0, 1fr); }
    .ky-arama .form-control { width: 100%; }
    .ky-arama { flex: 1 1 100%; }
}
@media (max-width: 460px) {
    .kurumsal-menu-hafta.ky-hafta { grid-template-columns: minmax(0, 1fr); }
}
.kurumsal-surec { margin: 0.25rem 0 0.25rem 1.15rem; padding: 0; display: grid; gap: 0.45rem; font-size: 0.86rem; color: var(--text-muted); }
.kurumsal-surec strong { color: var(--text-main); }
.kurumsal-sayaclar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.kurumsal-sayaclar div { display: flex; flex-direction: column; padding: 0.7rem 0.8rem; border-radius: var(--radius-md); background: var(--bg-input); }
.kurumsal-sayaclar strong { font-size: 1.5rem; font-weight: 800; }
.kurumsal-sayaclar span { font-size: 0.74rem; color: var(--text-muted); }

[data-theme="light"] .kk,
[data-tema="acik"] .kk { --kk-vurgu: #0284c7; }
[data-theme="light"] .hava-ikon-gece,
[data-tema="acik"] .hava-ikon-gece { color: #6d28d9; background: #ede9fe; }
[data-theme="light"] .ajanda-sonraki,
[data-tema="acik"] .ajanda-sonraki { background: #e0f2fe; border-color: #bae6fd; }
/* Uyarı kutuları aydınlık temada okunur olsun (koyu tema renkleri #86efac / #fca5a5 açık zeminde soluk kalıyordu) */
[data-theme="light"] .alert-success,
[data-tema="acik"] .alert-success { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
[data-theme="light"] .alert-danger,
[data-tema="acik"] .alert-danger { background: #fef2f2; color: #991b1b; border-color: #fecaca; }

@media (max-width: 767.98px) {
    .kk-izgara > .kk-genis { grid-column: auto; }
    .kk-haber-genis .haber-liste { grid-template-columns: minmax(0, 1fr); }
    .hero-section.pano-hero.karsilama-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "greet" "clock"; padding: 1.5rem; }
    .karsilama-hero .hero-greeting h1 { font-size: 1.6rem; }
    .kk { padding: 1rem 1.05rem; }
    .ajanda-oge { grid-template-columns: 54px minmax(0, 1fr) auto; }
    .ajanda-simge { display: none; }
}
@media (max-width: 480px) {
    .hava-simdi { gap: 0.75rem; }
    .hava-ikon { width: 56px; height: 56px; font-size: 1.9rem; }
    .hava-derece { font-size: 2.1rem; }
    .durum-oge { grid-template-columns: 10px minmax(0, 1fr); }
    .durum-oge .durum-sag { grid-column: 2; justify-self: start; }
    .ajanda-oge { grid-template-columns: 54px minmax(0, 1fr); }
    .ajanda-oge .ajanda-durum { grid-column: 2; justify-self: start; }
    .kur-satir { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.9fr); }
    .kur-satir > :nth-child(2) { display: none; }
    .kurumsal-sayaclar { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .kk-iskelet-satir { animation: none; }
}

/* =============================================================================================================
   İletişim Rehberi (kurumsal/rehber.php, Pano "İletişim Rehberi" kartı, yonetim.php?sekme=rehber önizlemesi; v1.21.0)
   kr- önekli sınıflar. Numaralar eşit genişlikli rakamla; dahili vurgulu. Yazdırmada menü, araç çubuğu ve pencere öğeleri gizlenir.
   ============================================================================================================= */
.kr-sayfa .kurumsal-bas { margin-bottom: 1rem; }
.kr-benim {
    display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem 1rem; margin-bottom: 1rem; padding: 0.85rem 1.1rem;
    border: 1px solid var(--border-color); border-left: 4px solid var(--primary); border-radius: var(--radius-md); background: var(--bg-card);
}
.kr-benim-ikon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--primary-light); color: var(--primary); font-size: 1.1rem; }
.kr-benim-metin { display: flex; flex-direction: column; gap: 0.1rem; flex: 1 1 260px; min-width: 0; }
.kr-benim-metin strong { font-size: 0.8rem; color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; }
.kr-benim-metin b { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.kr-benim-not { font-size: 0.78rem; color: var(--text-dim); }
.kr-ayrac { margin: 0 0.4rem; color: var(--text-dim); }

.kr-arac { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.1rem; }
.kr-ara { position: relative; flex: 1 1 340px; max-width: 520px; margin: 0; }
.kr-ara .bi { position: absolute; left: 0.9rem; top: 50%; transform: translateY(-50%); color: var(--text-dim); pointer-events: none; }
.kr-ara input {
    width: 100%; padding: 0.7rem 0.9rem 0.7rem 2.4rem; border-radius: var(--radius-md); border: 1px solid var(--border-color);
    background: var(--bg-card); color: var(--text-main); font: inherit; font-size: 0.95rem;
}
.kr-ara input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-light); }
.kr-cipler { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.kr-cip {
    padding: 0.4rem 0.8rem; border-radius: 9999px; border: 1px solid var(--border-color); background: var(--bg-card);
    color: var(--text-muted); font: inherit; font-size: 0.8rem; font-weight: 600; cursor: pointer;
}
.kr-cip:hover { color: var(--text-main); }
.kr-cip.aktif { background: var(--primary); border-color: var(--primary); color: #fff; }
.kr-sayac { margin-left: auto; font-size: 0.8rem; color: var(--text-dim); }
.kr-sonuc-yok { display: flex; align-items: center; gap: 0.5rem; padding: 1.25rem; color: var(--text-muted); }
.kr-sonuc-yok[hidden] { display: none; }

.kr-bolum { margin-bottom: 1.5rem; }
.kr-bolum[hidden] { display: none; }
.kr-bolum-baslik { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.75rem; font-size: 0.95rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; }
.kr-bolum-baslik .bi { color: var(--primary); }
.kr-birimler { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: 0.75rem; }
.kr-birim {
    display: flex; flex-direction: column; gap: 0.35rem; padding: 0.85rem 1rem; border: 1px solid var(--border-color);
    border-radius: var(--radius-md); background: var(--bg-card); min-width: 0;
}
.kr-birim[hidden] { display: none; }
.kr-birim-bas { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.kr-birim-bas strong { font-size: 0.95rem; overflow-wrap: anywhere; }
.kr-birim-alt { font-size: 0.76rem; color: var(--text-dim); }
.kr-birim-no { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.2rem 0.45rem; margin-top: 0.15rem; }
.kr-etiket { font-size: 0.68rem; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.3px; }
.kr-eposta { font-size: 0.78rem; color: var(--primary); text-decoration: none; overflow-wrap: anywhere; }

.kr-no { font-variant-numeric: tabular-nums; color: var(--text-main); text-decoration: none; white-space: nowrap; font-weight: 600; }
a.kr-no:hover { color: var(--primary); text-decoration: underline; }
.kr-dahili { display: inline-block; padding: 0.1rem 0.5rem; border-radius: var(--radius-sm); background: var(--primary-light); color: var(--primary); font-size: 1rem; font-weight: 800; }
a.kr-dahili:hover { text-decoration: none; filter: brightness(1.15); }
.kr-bos { color: var(--text-dim); }
.kr-eski { display: block; margin-top: 0.15rem; font-size: 0.7rem; color: var(--text-dim); }
.kr-telsiz { margin-left: 0.3rem; color: var(--accent); font-size: 0.85rem; }

.kr-tablo-kart { padding: 0; gap: 0; }
.kr-tablo th, .kr-tablo td { padding: 0.6rem 0.9rem; }
.kr-tablo tbody[hidden] { display: none; }
.kr-tablo tr[hidden] { display: none; }
.kr-grup-satir th {
    position: static; background: var(--bg-card-hover); color: var(--text-main); font-size: 0.8rem; text-transform: uppercase;
    letter-spacing: 0.3px; padding: 0.5rem 0.9rem;
}
.kr-grup-satir th span { margin-left: 0.35rem; font-weight: 600; color: var(--text-dim); }
.kr-ad { display: flex; align-items: center; gap: 0.6rem; min-width: 200px; }
.kr-ad > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.kr-ad small { font-size: 0.72rem; color: var(--text-dim); }
.kr-avatar {
    flex: 0 0 auto; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
    background: var(--bg-input); color: var(--text-muted); font-weight: 700; font-size: 0.85rem;
}
.kr-avatar.kr-bagli { background: var(--primary-light); color: var(--primary); }

/* Tablo başlığı ve bölüm başlıkları (v1.62.3 — kullanıcı isteği 07.10.2026: "çok renkli oldu; yalnız başlıklar daha koyu, başlık
   zemini BKM mavisi, ayırt edilebilsin"): sütun başlığı BKM mavisi zemin + beyaz yazı, bölüm başlık satırları koyu nötr zemin + BKM
   mavisi sol çizgi; satırlar sade. Seçiciler açık temanın genel ".portal-table th" kuralından (!important) özgül tutuldu. */
.kr-sayfa .kr-tablo thead th { background: #0284c7 !important; color: #fff !important; border-bottom: 0 !important; }
.kr-sayfa .kr-tablo .kr-grup-satir th {
    background: color-mix(in srgb, var(--text-main) 13%, var(--bg-card)) !important;
    color: var(--text-main) !important; font-weight: 800;
    box-shadow: inset 4px 0 0 #0284c7;
}
.kr-sayfa .kr-tablo .kr-grup-satir th span { color: var(--text-muted); }
.kr-siralama-baslik { display: inline-flex; align-items: center; gap: 0.3rem; color: inherit; text-decoration: none; white-space: nowrap; }
.kr-siralama-baslik .bi { font-size: 0.85em; opacity: 0.6; }
.kr-siralama-baslik:hover { text-decoration: underline; }
.kr-siralama-baslik.aktif .bi { opacity: 1; }
.kr-siralama { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem 1rem; margin: -0.4rem 0 1.1rem; }
.kr-siralama-alan { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0; font-size: 0.82rem; color: var(--text-muted); font-weight: 600; }
.kr-siralama-alan .bi { color: var(--primary); }
.kr-siralama-alan .form-control { width: auto; min-width: 13rem; padding: 0.4rem 2rem 0.4rem 0.7rem; font-size: 0.84rem; }
.kr-siralama-sifirla { font-size: 0.8rem; color: var(--primary); text-decoration: none; }
.kr-siralama-sifirla:hover { text-decoration: underline; }
.kr-siralama-not { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.8rem; color: var(--text-muted); }
.kr-siralama-not .bi { color: var(--primary); }
/* Tek listede kişinin bölümü: görevin altında etiket (v1.63.3) */
.kr-bolum-etiket {
    display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.25rem; padding: 0.1rem 0.5rem; border-radius: 999px;
    background: color-mix(in srgb, #0284c7 10%, var(--bg-card)); color: color-mix(in srgb, #0284c7 75%, var(--text-main));
    border: 1px solid color-mix(in srgb, #0284c7 25%, transparent); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2px;
    text-transform: uppercase; white-space: nowrap; width: fit-content;
}
.kr-bolum-etiket .bi { font-size: 0.8em; opacity: 0.8; }
.kr-gorev { color: var(--text-muted) !important; font-size: 0.82rem; }
.kr-gorev .kr-bolum-etiket { display: flex; }
.kr-sayi-sutun { white-space: nowrap; }
.kr-eposta-hucre a { color: var(--primary); text-decoration: none; font-size: 0.82rem; }
.kr-eposta-hucre a:hover { text-decoration: underline; }
.kr-yazdirma-not { display: none; }

/* Pano kartı */
.kk-rehber .kk-govde { display: flex; flex-direction: column; gap: 0.7rem; }
.kr-pano-benim { display: flex; align-items: center; flex-wrap: wrap; gap: 0.35rem; margin: 0; font-size: 0.85rem; color: var(--text-muted); }
.kr-pano-benim .bi { color: var(--primary); }
.kr-pano-benim b { color: var(--text-main); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.kr-pano-ek { font-variant-numeric: tabular-nums; }
.kr-pano-ara { position: relative; margin: 0; }
.kr-pano-ara .bi { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--text-dim); pointer-events: none; }
.kr-pano-ara input {
    width: 100%; padding: 0.55rem 0.75rem 0.55rem 2.1rem; border-radius: var(--radius-md); border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-main); font: inherit; font-size: 0.88rem;
}
.kr-pano-ara input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-light); }
.kr-pano-alt-baslik { margin: 0 0 0.3rem; font-size: 0.72rem; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.4px; }
.kr-pano-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.kr-pano-liste[hidden] { display: none; }
[data-kr-pano-sabit][hidden] { display: none; }
.kr-pano-oge { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.45rem 0; border-bottom: 1px solid var(--border-color); }
.kr-pano-oge:last-child { border-bottom: 0; }
.kr-pano-kim { display: flex; flex-direction: column; min-width: 0; }
.kr-pano-kim strong { font-size: 0.88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kr-pano-kim small { font-size: 0.72rem; color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kr-pano-no { display: flex; align-items: center; gap: 0.4rem; flex: 0 0 auto; }
.kr-pano-no .kr-no:not(.kr-dahili) { font-size: 0.8rem; color: var(--text-muted); }
.kr-pano-yok { padding: 0.5rem 0; font-size: 0.85rem; color: var(--text-muted); }

/* Yönetim: önizleme ve liste */
.kr-onizleme { margin-bottom: 1.25rem; }
.kr-onizleme-grup { margin: 0; padding: 0.75rem 1rem 1rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); display: flex; flex-direction: column; gap: 0.6rem; }
.kr-onizleme-grup legend { padding: 0 0.35rem; }
.kr-gizli-sayfa { border-style: dashed; }
.kr-onizleme-kurum { display: flex; align-items: center; gap: 0.6rem; max-width: 420px; }
.kr-onizleme-kurum .form-label { margin: 0; white-space: nowrap; }
.kr-onizleme-tablo td, .kr-onizleme-tablo th { padding: 0.5rem 0.65rem !important; font-size: 0.82rem; }
.kr-tur-sec { padding: 0.3rem 0.45rem; font-size: 0.8rem; min-width: 110px; }
.kr-rozet {
    display: inline-block; margin-left: 0.3rem; padding: 0.05rem 0.45rem; border-radius: 9999px; font-size: 0.68rem; font-weight: 700; font-style: normal;
    background: var(--bg-input); color: var(--text-muted); vertical-align: 1px; white-space: nowrap;
}
.kr-rozet-yeni { background: var(--success-light); color: var(--success); }
.kr-rozet-bilgi { background: var(--primary-light); color: var(--primary); }
.kr-rozet-uyari { background: var(--accent-light); color: var(--accent); }
.kr-eslesme { color: var(--success); font-weight: 600; }
.kr-bag { margin-left: 0.25rem; color: var(--primary); font-size: 0.85rem; }
.kr-yapistir summary { cursor: pointer; font-size: 0.85rem; font-weight: 600; color: var(--primary); margin-bottom: 0.6rem; }
.kr-yonetim-tablo { max-height: 640px; }

@media (max-width: 760px) {
    .kr-sayac { margin-left: 0; }
    .kr-tablo thead { display: none; }
    .kr-tablo tr[data-kr-oge] { display: grid; grid-template-columns: 1fr auto; gap: 0.2rem 0.75rem; padding: 0.6rem 0.9rem; border-bottom: 1px solid var(--border-color); }
    .kr-tablo tr[data-kr-oge][hidden] { display: none; }
    .kr-tablo tr[data-kr-oge] td { padding: 0; border: 0; }
    .kr-tablo .kr-ad-hucre { grid-column: 1; min-width: 0; }
    .kr-tablo .kr-ad { min-width: 0; }
    .kr-tablo .kr-sayi-sutun { grid-column: 2; grid-row: 1; text-align: right; }
    .kr-tablo .kr-gorev, .kr-tablo .kr-eposta-hucre { grid-column: 1 / -1; }
    .kr-grup-satir, .kr-grup-satir th { display: block; }
}

@media print {
    .portal-navbar, .portal-subnav, .portal-footer, .bkm-destek-root, .bkm-oturum, .bkm-modul-cubuk, .kr-yazdirma-gizle { display: none !important; }
    .kr-sayfa { color: #000; }
    .kr-sayfa .kurumsal-bas h1 { font-size: 16pt; }
    .kr-sayfa .kk, .kr-birim { border-color: #bbb; background: #fff; box-shadow: none; }
    .kr-sayfa .portal-table th, .kr-sayfa .portal-table td { color: #000; background: #fff; border-color: #ccc; padding: 3pt 6pt; font-size: 9pt; }
    .kr-grup-satir th { background: #eee !important; }
    .kr-sayfa .kr-tablo thead th { background: #0284c7 !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .kr-sayfa .kr-tablo .kr-grup-satir th { background: #dfe5ec !important; color: #000 !important; box-shadow: inset 4px 0 0 #0284c7; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .kr-dahili { background: none; color: #000; padding: 0; }
    .kr-avatar, .kr-telsiz { display: none; }
    .kr-no { color: #000; text-decoration: none; }
    .kr-birimler { grid-template-columns: repeat(3, 1fr); gap: 4pt; }
    .kr-birim { padding: 4pt 6pt; break-inside: avoid; }
    .kr-tablo tr { break-inside: avoid; }
    .kr-yazdirma-not { display: block; margin-top: 8pt; font-size: 8pt; color: #555; }
    .table-responsive { overflow: visible !important; }
}

/* Saat kartı: gün ışığı (üst) ve mesai (alt) şeritleri (templates/hero_datetime.php, v1.25.0). Pano'da kart sayaçlara kadar uzadığı
   için şeritler üstte / altta, saat ortada; dar ekranda kart içerik boyundadır. */
.hero-datetime { flex-direction: column; align-items: stretch; justify-content: space-between; gap: 0.6rem; }
.hdt-ana { display: flex; align-items: center; gap: 1.15rem; }
.hdt-serit { font-size: 0.72rem; color: var(--text-muted); }
.hdt-serit-bas, .hdt-serit-alt { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; white-space: nowrap; }
.hdt-serit-bas { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 0.3rem; }
.hdt-serit-bas i { color: var(--accent); }
.hdt-mesai .hdt-serit-bas i { color: var(--primary); }
.hdt-serit-alt { margin-top: 0.3rem; font-weight: 600; color: var(--text-dim); }
.hdt-cubuk { position: relative; height: 5px; border-radius: 999px; background: rgba(148, 163, 184, 0.22); }
.hdt-cubuk i { position: absolute; left: 0; top: 0; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, #fbbf24, #f97316); transition: width 0.6s ease; }
.hdt-cubuk-mesai i { background: linear-gradient(90deg, #38bdf8, #0284c7); }
.hdt-cubuk b { position: absolute; top: 50%; width: 13px; height: 13px; border-radius: 50%; background: #fff; border: 2px solid #f59e0b; transform: translate(-50%, -50%); box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2); transition: left 0.6s ease; }
.hdt-cubuk b[hidden] { display: none; }
.hdt-mesai-icinde .hdt-mesai .hdt-serit-alt span:first-child { color: var(--primary); }
@media (max-width: 1100px) {
    .pano-hero .hero-datetime { gap: 0.8rem; }
}

/* Ajandam şeridi (saat kartı; templates/ajanda_pano.php, assets/js/ajanda-pano.js, v1.64.0): "Bugünkü görevleriniz ve
   hatırlatmalarınız" düğmesi + sayı rozeti, ilk 1–2 başlık, Tümü; geciken görev uyarısı */
.hdt-ajanda { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.55rem 0.65rem; border-radius: 0.85rem;
    background: color-mix(in srgb, var(--primary) 8%, transparent); border: 1px solid color-mix(in srgb, var(--primary) 22%, transparent); }
.hdt-ajanda-bas { display: flex; align-items: center; gap: 0.4rem; }
.hdt-ajanda-btn { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 0.4rem; border: 0; background: none; padding: 0; color: var(--text-main);
    font: inherit; font-size: 0.78rem; font-weight: 700; text-align: left; cursor: pointer; }
.hdt-ajanda-btn > span:not(.hdt-ajanda-sayi) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdt-ajanda-btn > .bi { color: var(--primary); font-size: 0.95rem; flex: 0 0 auto; }
.hdt-ajanda-btn:hover > span:not(.hdt-ajanda-sayi), .hdt-ajanda-btn:focus-visible > span:not(.hdt-ajanda-sayi) { color: var(--primary); text-decoration: underline; }
.hdt-ajanda-btn:focus-visible, .hdt-ajanda-tumu:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 6px; }
.hdt-ajanda-sayi { flex: 0 0 auto; min-width: 1.35rem; height: 1.35rem; padding: 0 0.35rem; border-radius: 999px; background: var(--primary); color: #fff;
    font-size: 0.72rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; }
.hdt-ajanda-sayi-bos { background: var(--border-color); color: var(--text-muted); }
.hdt-ajanda-tumu { flex: 0 0 auto; border: 1px solid color-mix(in srgb, var(--primary) 40%, transparent); background: var(--bg-card); color: var(--primary);
    font: inherit; font-size: 0.72rem; font-weight: 700; padding: 0.15rem 0.55rem; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 0.15rem; }
.hdt-ajanda-tumu:hover { background: var(--primary); color: #fff; }
.hdt-ajanda-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.2rem; }
.hdt-ajanda-liste li { --renk: var(--primary); display: flex; align-items: center; gap: 0.4rem; font-size: 0.76rem; color: var(--text-main); min-width: 0; }
.hdt-ajanda-liste li > .bi { color: var(--renk); font-size: 0.75rem; flex: 0 0 auto; }
.hdt-ajanda-liste time { font-weight: 800; color: var(--text-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; }
.hdt-ajanda-liste span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdt-ajanda-liste .hdt-ajanda-bos { color: var(--text-muted); font-style: italic; }
.hdt-ajanda-uyari { margin: 0; font-size: 0.72rem; font-weight: 700; color: var(--danger); display: flex; align-items: center; gap: 0.3rem; }
.hdt-ajanda-uyari[hidden] { display: none; }

/* Ajandam "Bugün" penceresi (<dialog>; margin: auto) */
.bkm-ajanda-pencere { margin: auto; padding: 0; width: min(640px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); border: 1px solid var(--border-color);
    border-radius: 1.1rem; background: var(--bg-card); color: var(--text-main); box-shadow: 0 30px 80px -20px rgba(15, 23, 42, 0.55); overflow: hidden; }
.bkm-ajanda-pencere[open] { display: flex; flex-direction: column; }
.bkm-ajanda-pencere::backdrop { background: rgba(15, 23, 42, 0.6); backdrop-filter: blur(2px); }
html.bkm-ajp-acik { overflow: hidden; }
.bkm-ajp-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.75rem; padding: 1rem 1.2rem 0.75rem; }
.bkm-ajp-rozet { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--primary); }
.bkm-ajp-bas h2 { font-size: 1.2rem; font-weight: 800; margin-top: 0.15rem; }
.bkm-ajp-kapat { width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 1px solid var(--border-color); background: var(--bg-card); color: var(--text-main); cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.bkm-ajp-kapat:hover, .bkm-ajp-kapat:focus-visible { background: var(--danger); border-color: var(--danger); color: #fff; outline: none; }
.bkm-ajp-hizli { display: flex; gap: 0.4rem; padding: 0 1.2rem 0.75rem; flex-wrap: wrap; }
.bkm-ajp-hizli select, .bkm-ajp-hizli input { padding: 0.45rem 0.6rem; border: 1px solid var(--border-color); border-radius: 10px; background: var(--bg-input); color: var(--text-main); font: inherit; font-size: 0.88rem; }
.bkm-ajp-hizli input[name=baslik] { flex: 1 1 200px; min-width: 0; }
.bkm-ajp-hizli input:focus, .bkm-ajp-hizli select:focus { outline: none; border-color: var(--primary); }
.bkm-ajp-mesaj { margin: 0 1.2rem 0.6rem; padding: 0.45rem 0.7rem; border-radius: 10px; font-size: 0.84rem; font-weight: 600; background: var(--success-light); color: var(--success); }
.bkm-ajp-mesaj-hata { background: var(--danger-light); color: var(--danger); }
.bkm-ajp-mesaj[hidden] { display: none; }
.bkm-ajp-govde { overflow-y: auto; padding: 0.9rem 1.2rem 1rem; display: flex; flex-direction: column; gap: 0.9rem; min-height: 6rem; border-top: 1px solid var(--border-color); }
.bkm-ajp-bolum h3 { font-size: 0.8rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); display: flex; align-items: center; gap: 0.35rem; margin-bottom: 0.4rem; }
.bkm-ajp-geciken h3 { color: var(--danger); }
.bkm-ajp-sayi { font-size: 0.7rem; padding: 0 0.45rem; border-radius: 999px; background: var(--bg-input); border: 1px solid var(--border-color); }
.bkm-ajp-bolum ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.bkm-ajp-oge { --renk: var(--primary); display: flex; align-items: center; gap: 0.55rem; padding: 0.45rem 0.6rem; border: 1px solid var(--border-color); border-left: 4px solid var(--renk);
    border-radius: 10px; background: var(--bg-card); }
.bkm-ajp-oge input { width: 1.1rem; height: 1.1rem; accent-color: var(--success); margin: 0; flex: 0 0 auto; cursor: pointer; }
.bkm-ajp-simge { color: var(--renk); width: 1.1rem; text-align: center; flex: 0 0 auto; }
.bkm-ajp-oge time { font-size: 0.8rem; font-weight: 700; color: var(--text-muted); font-variant-numeric: tabular-nums; min-width: 3.2rem; flex: 0 0 auto; }
.bkm-ajp-baslik { flex: 1 1 auto; min-width: 0; color: var(--text-main); text-decoration: none; display: flex; flex-direction: column; }
.bkm-ajp-baslik strong { font-size: 0.9rem; overflow-wrap: anywhere; }
.bkm-ajp-baslik small { font-size: 0.74rem; color: var(--text-muted); }
.bkm-ajp-baslik:hover strong, .bkm-ajp-baslik:focus-visible strong { color: var(--primary); }
.bkm-ajp-tamam strong { text-decoration: line-through; opacity: 0.55; }
.bkm-ajp-gecti { opacity: 0.65; }
.bkm-ajp-etiket { flex: 0 0 auto; font-size: 0.68rem; font-weight: 700; padding: 0.05rem 0.45rem; border-radius: 999px; }
.bkm-ajp-etiket-uyari { color: var(--danger); background: var(--danger-light); }
.bkm-ajp-bos { text-align: center; color: var(--text-muted); padding: 1.5rem 0.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.4rem; }
.bkm-ajp-bos > .bi { font-size: 2rem; color: var(--primary); }
.bkm-ajp-alt { display: flex; gap: 0.45rem; flex-wrap: wrap; padding: 0.8rem 1.2rem; border-top: 1px solid var(--border-color); }
@media (max-width: 640px) {
    .bkm-ajanda-pencere { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; border: 0; }
    .bkm-ajp-govde { flex: 1 1 auto; }
}

/* Pano › Puantajım & İzinlerim kartı (templates/landing_widgets.php bkm_widget_puantaj; v1.117.2) */
.kk-puantaj .kk-bas h2 .bi { color: #0d9488; }
.pjk-bugun { display: flex; gap: 1.6rem; margin-bottom: .8rem; }
.pjk-bugun small { display: block; font-size: .75rem; color: var(--text-muted); }
.pjk-bugun strong { font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.pjk-bugun .pjk-iceride { color: #16a34a; font-size: 1.15rem; }
.pjk-sayilar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.pjk-sayilar a { display: flex; flex-direction: column; gap: .1rem; padding: .55rem .6rem; border-radius: var(--radius-md); border: 1px solid var(--border-color);
    border-top: 3px solid var(--pjk-renk, #0d9488); text-decoration: none; color: var(--text-main); min-width: 0; }
.pjk-sayilar strong { font-size: 1rem; font-weight: 800; color: var(--pjk-renk, #0d9488); white-space: nowrap; }
.pjk-sayilar span { font-size: .72rem; color: var(--text-muted); }
.pjk-eksik { --pjk-renk: #dc2626; }
.pjk-fazla { --pjk-renk: #16a34a; }
.pjk-izin { --pjk-renk: #2563eb; }
.pjk-not { font-size: .74rem; color: var(--text-muted); margin-top: .6rem; }

/* ===== Pano: modül panelleri ve özel paneller (v1.136.0; DashboardPanels, admin/pano_panelleri.php) ===== */
.kk-modul, .kk-ozel { border-top: 3px solid var(--mod-renk, var(--primary)); }
.kk-modul-ikon { width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--mod-renk, var(--primary)) 14%, transparent); flex-shrink: 0; }
.kk-modul .kk-bas h2 .bi, .kk-ozel .kk-bas h2 .bi { color: var(--mod-renk, var(--primary)); font-size: 1rem; }
.kk-modul-sayi { background: color-mix(in srgb, var(--mod-renk, var(--primary)) 14%, transparent); color: var(--text-main); font-weight: 700; }
.kk-modul-aciklama { margin: 0 0 0.6rem; font-size: 0.85rem; color: var(--text-muted); line-height: 1.45; }
.kk-modul-isler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.kk-modul-isler a { display: flex; align-items: center; gap: 0.55rem; padding: 0.5rem 0.6rem; border: 1px solid var(--border-color); border-radius: 10px; text-decoration: none; color: var(--text-main); font-size: 0.86rem; }
.kk-modul-isler a:hover { border-color: var(--mod-renk, var(--primary)); }
.kk-modul-isler a > .bi { color: var(--mod-renk, var(--primary)); }
.kk-modul-isler li.uyari a > .bi { color: var(--warning, #d97706); }
.kk-modul-isler span { flex: 1; min-width: 0; }
.kk-modul-isler small { display: block; color: var(--text-muted); font-size: 0.75rem; }
.kk-modul-isler b { font-weight: 800; min-width: 1.6rem; text-align: center; padding: 0.1rem 0.4rem; border-radius: 999px; background: color-mix(in srgb, var(--mod-renk, var(--primary)) 14%, transparent); }
.kk-modul-bos { margin: 0; font-size: 0.85rem; color: var(--text-muted); display: flex; align-items: center; gap: 0.4rem; }
.kk-ozel-metin { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 0.9rem; line-height: 1.5; }
.kk-ozel-baglantilar { flex-wrap: wrap; }
/* İşlevsel modül paneli (v1.136.1; core/ModulePanels.php): hızlı işlemler, sayaçlar, son kayıtlar */
.kk-modul .kk-etiket a { color: var(--mod-renk, var(--primary)); font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; }
.kk-modul-eylemler { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.75rem; }
.kk-modul-eylemler a { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.7rem; border-radius: 999px; font-size: 0.82rem; font-weight: 600;
    text-decoration: none; color: var(--text-main); border: 1px solid var(--border-color); background: var(--bg-main); }
.kk-modul-eylemler a .bi { color: var(--mod-renk, var(--primary)); }
.kk-modul-eylemler a.birincil { background: var(--mod-renk, var(--primary)); border-color: var(--mod-renk, var(--primary)); color: #fff; }
.kk-modul-eylemler a.birincil .bi { color: #fff; }
.kk-modul-eylemler a:hover { border-color: var(--mod-renk, var(--primary)); }
.kk-modul-sayilar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(90px, 100%), 1fr)); gap: 0.4rem; margin-bottom: 0.75rem; }
.kk-modul-sayi-oge { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.5rem 0.6rem; border-radius: 10px; text-decoration: none; color: var(--text-muted);
    background: color-mix(in srgb, var(--mod-renk, var(--primary)) 8%, transparent); border: 1px solid color-mix(in srgb, var(--mod-renk, var(--primary)) 18%, transparent); font-size: 0.74rem; min-width: 0; }
.kk-modul-sayi-oge b { font-size: 1.15rem; font-weight: 800; color: var(--text-main); line-height: 1.2; overflow-wrap: anywhere; }
.kk-modul-sayi-oge.uyari b { color: #d97706; } .kk-modul-sayi-oge.tehlike b { color: #dc2626; } .kk-modul-sayi-oge.basari b { color: #16a34a; }
.kk-modul-isler { margin-bottom: 0.75rem; }
.kk-modul-alt { margin: 0 0 0.4rem; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); }
.kk-modul-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.kk-modul-liste li + li { border-top: 1px solid var(--border-color); }
.kk-modul-liste a { display: flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.1rem; text-decoration: none; color: var(--text-main); }
.kk-modul-liste a:hover strong { color: var(--mod-renk, var(--primary)); }
.kk-modul-liste span { flex: 1; min-width: 0; }
.kk-modul-liste strong { display: block; font-size: 0.86rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kk-modul-liste small { display: block; font-size: 0.74rem; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kk-modul-liste em { flex-shrink: 0; font-style: normal; font-size: 0.68rem; font-weight: 700; padding: 0.12rem 0.45rem; border-radius: 999px;
    color: var(--rz); background: color-mix(in srgb, var(--rz) 14%, transparent); white-space: nowrap; }
