/* ═══════════════════════════════════════════════════
   ZamTakip — Main CSS
   Font: Syne (display) + JetBrains Mono (mono)
   Theme: Dark financial terminal aesthetic
   ═══════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --bg:        #070a0f;
  --bg2:       #0c1018;
  --bg3:       #111620;
  --border:    #1c2535;
  --border2:   #253040;
  --text:      #d8e4f2;
  --dim:       #8898b8;
  --muted:     #4a5a72;
  --accent:    #2563eb;
  --accent-h:  #3b7aff;
  --green:     #10b981;
  --red:       #f43f5e;
  --amber:     #f59e0b;
  --gold:      #d4af37;
  --fuel:      #fb923c;
  --energy:    #34d399;
  --radius:    10px;
  --shadow:    0 4px 24px rgba(0,0,0,.5);
  --font:      'Syne', system-ui, sans-serif;
  --mono:      'JetBrains Mono', 'Courier New', monospace;
  --hdr-h:     60px;
  --sub-h:     44px;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:15px}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit}
img{max-width:100%;height:auto}
table{border-collapse:collapse;width:100%}

/* ── Ticker ── */
.ticker-bar{background:#080d14;border-bottom:1px solid var(--border);display:flex;align-items:center;height:32px;overflow:hidden;position:relative;z-index:200}
.ticker-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:0 10px;height:32px;display:flex;align-items:center;flex-shrink:0;letter-spacing:.05em;white-space:nowrap}
.ticker-scroll{flex:1;overflow:hidden;position:relative}
.ticker-track{display:flex;align-items:center;white-space:nowrap;animation:ticker 60s linear infinite}
.ticker-track:hover{animation-play-state:paused}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{display:inline-flex;align-items:center;gap:6px;padding:0 18px;font-family:var(--mono);font-size:11.5px;color:var(--dim)}
.ticker-item .sym{color:var(--text);font-weight:600;font-size:12px}
.ticker-item .up{color:var(--green)}
.ticker-item .dn{color:var(--red)}
.ticker-sep{color:var(--border2);font-size:9px}

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:100;background:rgba(7,10,15,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);height:var(--hdr-h)}
.header-inner{max-width:1440px;margin:0 auto;padding:0 20px;height:100%;display:flex;align-items:center;gap:20px}
.site-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;user-select:none}
.logo-bolt{font-size:26px;line-height:1;filter:drop-shadow(0 0 8px rgba(37,99,235,.7));flex-shrink:0}
.logo-wordmark{font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1}
.logo-zam{color:#fff}
.logo-takip{color:var(--accent)}
.logo-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-left:2px;margin-bottom:2px;animation:pulse2 2s ease-in-out infinite;vertical-align:middle}

/* Arama çubuğu */
.search-wrapper{position:relative;display:flex;align-items:center}
.search-input{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:7px 14px 7px 34px;border-radius:8px;font-size:13px;width:220px;transition:border-color .2s,width .3s}
.search-input:focus{outline:none;border-color:var(--accent);width:280px}
.search-wrapper::before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}

/* Arama çubuğu logo */
.search-wrapper{position:relative;display:flex;align-items:center}
.search-logo{position:absolute;left:9px;top:50%;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none;z-index:1}
@keyframes pulse2{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

.main-nav{display:flex;align-items:center;gap:2px;flex:1}
.nav-link{padding:6px 12px;font-size:13px;font-weight:500;color:var(--dim);border-radius:6px;transition:all .2s;white-space:nowrap}
.nav-link:hover,.nav-link.active{color:var(--text);background:var(--bg3)}
.nav-link.active{color:#fff}

.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.search-wrapper{position:relative}
.search-input{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:7px 14px 7px 34px;border-radius:8px;font-size:13px;width:220px;transition:border-color .2s,width .3s}
.search-input:focus{outline:none;border-color:var(--accent);width:260px}
/* search icon → .search-logo SVG ile değiştirildi */

/* ── Sub Nav ── */
.subnav{background:var(--bg2);border-bottom:1px solid var(--border);height:var(--sub-h);overflow-x:auto;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav-inner{max-width:1440px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:2px;height:100%}
.sub-link{padding:6px 12px;font-size:12.5px;color:var(--dim);border-radius:6px;white-space:nowrap;transition:all .2s;display:flex;align-items:center;gap:5px}
.sub-link:hover,.sub-link.active{color:var(--text);background:rgba(37,99,235,.12)}
.sub-link.active{color:var(--accent)}

/* ── Live dot ── */
.live-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse3 2s ease-in-out infinite}
@keyframes pulse3{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}50%{box-shadow:0 0 0 5px rgba(16,185,129,0)}}

/* ── Main Layout ── */
.site-main{max-width:1440px;margin:0 auto;padding:20px}
.content-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.content-main{display:flex;flex-direction:column;gap:18px}

/* ── Tab panes ── */
.tab-pane{display:none;animation:fadeIn .25s ease}
.tab-pane.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ── Cards / Panels ── */
.panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.panel-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}
.panel-icon{font-size:20px;flex-shrink:0}
.panel-title{font-size:14px;font-weight:700;color:var(--text)}
.panel-sub{font-size:11px;color:var(--muted);margin-top:2px}
.badge-live{display:inline-flex;align-items:center;gap:5px;background:rgba(16,185,129,.12);color:var(--green);padding:3px 8px;border-radius:12px;font-size:10px;font-weight:600}

.widget{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}
.widget-title{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--text)}
.full-panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;padding:18px}

/* ── Market Cards ── */
.mkt-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mkt-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .2s,transform .15s}
.mkt-card:hover{border-color:var(--border2);transform:translateY(-1px)}
.mkt-card-label{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.mkt-card-price{font-family:var(--mono);font-size:22px;font-weight:600;color:#fff;line-height:1.2}
.mkt-card-chg{font-size:12px;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:4px}
.up{color:var(--green)}
.dn{color:var(--red)}
.neu{color:var(--dim)}

/* ── Tables ── */
.table-wrap{overflow-x:auto}
.data-table{width:100%;font-size:13px}
.data-table th{padding:10px 14px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
.data-table td{padding:10px 14px;border-bottom:1px solid rgba(28,37,53,.5);color:var(--dim);font-family:var(--mono);white-space:nowrap;vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tbody tr:hover{background:rgba(255,255,255,.025)}
.data-table td:first-child{color:var(--text);font-weight:600;font-family:var(--font)}
.loading-row{text-align:center;color:var(--muted);font-family:var(--font);padding:24px !important;font-size:13px}

/* ── Inner Tabs ── */
.inner-tabs{display:flex;gap:4px;padding:10px 14px;border-bottom:1px solid var(--border)}
.inner-tab{padding:5px 14px;font-size:12px;font-weight:600;color:var(--muted);border-radius:6px;transition:all .2s}
.inner-tab.active,.inner-tab:hover{background:var(--accent);color:#fff}
.panel-header+.inner-tabs,.panel .inner-tabs{margin-top:-1px}
.see-all-link{font-size:12px;color:var(--accent);margin-left:auto;padding:4px 8px}

/* ── Fuel Grid ── */
.fuel-grid-main{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fuel-item{padding:16px 18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.fuel-item:nth-child(3n){border-right:none}
.fuel-item:nth-last-child(-n+3){border-bottom:none}
.fuel-label{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:4px}
.fuel-price{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--fuel)}
.fuel-unit{font-size:11px;color:var(--muted);margin-top:2px}

.fuel-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.fuel-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.fuel-card-icon{font-size:24px;margin-bottom:8px}
.fuel-card-name{font-size:12px;color:var(--muted);font-weight:600}
.fuel-card-price{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--fuel);margin:4px 0}
.fuel-card-unit{font-size:11px;color:var(--muted)}
.fuel-card-date{font-size:10px;color:var(--muted);margin-top:6px}

/* ── Energy ── */
.energy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:18px}
.energy-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.energy-card-icon{font-size:24px;margin-bottom:8px}
.energy-card-name{font-size:12px;color:var(--muted);font-weight:600}
.energy-card-price{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--energy);margin:4px 0}
.energy-card-unit{font-size:11px;color:var(--muted)}

#energyListMain .energy-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}
#energyListMain .energy-row:last-child{border-bottom:none}
.energy-name{font-size:13px;color:var(--text);font-weight:600}
.energy-tariff{font-size:11px;color:var(--muted);margin-top:2px}
.energy-price{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--energy)}
.energy-price-unit{font-size:10px;color:var(--muted)}

/* ── Heatmap ── */
.heatmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;padding:14px}
.heatmap-cell{border-radius:8px;padding:10px 8px;text-align:center;cursor:pointer;transition:opacity .15s}
.heatmap-cell:hover{opacity:.85}
.heatmap-cell .hm-name{font-size:10px;font-weight:600;margin-bottom:3px}
.heatmap-cell .hm-pct{font-size:13px;font-weight:700;font-family:var(--mono)}

/* ── Sidebar Rows ── */
.price-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(28,37,53,.6)}
.price-row:last-child{border-bottom:none}
.price-row-sym{font-size:12.5px;font-weight:700;color:var(--text)}
.price-row-name{font-size:10px;color:var(--muted)}
.price-row-val{text-align:right}
.price-row-price{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text)}
.price-row-chg{font-size:10.5px;font-weight:600}

/* ── News ── */
.news-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.cat-btn{padding:6px 14px;font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--border);border-radius:20px;transition:all .2s}
.cat-btn:hover,.cat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}

.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.news-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,transform .15s;cursor:pointer}
.news-card:hover{border-color:var(--border2);transform:translateY(-2px)}
.news-card-img{width:100%;height:160px;background:var(--bg3);object-fit:cover}
.news-card-img-placeholder{width:100%;height:160px;background:linear-gradient(135deg,var(--bg3),var(--bg2));display:flex;align-items:center;justify-content:center;font-size:36px}
.news-card-body{padding:14px}
.news-card-cat{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:8px}
.news-card-title{font-size:14px;font-weight:700;line-height:1.45;color:var(--text);margin-bottom:6px}
.news-card-excerpt{font-size:12px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card-footer{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:11px;color:var(--muted)}

/* News preview (sidebar/home) */
#newsPreview .news-preview-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
#newsPreview .news-preview-item:last-child{border-bottom:none}
#newsPreview .npi-cat{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:3px;margin-bottom:5px;display:inline-block}
#newsPreview .npi-title{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.4}
#newsPreview .npi-time{font-size:10px;color:var(--muted);margin-top:3px}

/* ── Page Header ── */
.page-head{margin-bottom:18px}
.page-head h1{font-size:22px;font-weight:800;color:#fff;margin-bottom:4px}
.page-head p{font-size:13px;color:var(--muted)}

/* ── Legal note ── */
.data-note,.legal-note{font-size:11.5px;color:var(--muted);padding:10px 16px;border-top:1px solid var(--border);background:rgba(37,99,235,.04);line-height:1.6}
.data-note a,.legal-note a{color:var(--accent)}

/* ── Calendar ── */
#calWidget .cal-item{padding:8px 0;border-bottom:1px solid rgba(28,37,53,.6);display:flex;gap:10px}
#calWidget .cal-item:last-child{border-bottom:none}
.cal-date{font-size:10px;color:var(--muted);font-family:var(--mono);flex-shrink:0;padding-top:2px}
.cal-event{font-size:12px;color:var(--text);line-height:1.4}
.cal-impact{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.cal-high{background:var(--red)}
.cal-med{background:var(--amber)}
.cal-low{background:var(--green)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;transition:all .2s;white-space:nowrap}
.btn-sm{padding:6px 14px;font-size:12px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-h);transform:translateY(-1px)}
.btn-ghost{background:var(--bg3);color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--border2);background:var(--bg2)}
.w-full{width:100%}
.flex-1{flex:1}

/* ── Modal ── */
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.modal-backdrop.open{display:flex;animation:fadeIn .2s ease}
.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:28px;width:100%;max-width:440px;position:relative;max-height:90vh;overflow-y:auto}
.modal-x{position:absolute;top:14px;right:14px;color:var(--muted);font-size:16px;transition:color .2s;background:var(--bg3);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.modal-x:hover{color:var(--text)}
.modal-title{font-size:18px;font-weight:800;margin-bottom:4px}
.modal-sub{font-size:13px;color:var(--muted);margin-bottom:20px}
.modal-actions{display:flex;gap:8px;margin-top:12px}
.modal-footer-links{text-align:center;margin-top:14px;font-size:12px;color:var(--muted)}
.modal-footer-links a{color:var(--accent)}

/* ── Forms ── */
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--dim);margin-bottom:5px}
.required{color:var(--red)}
.form-input{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:8px;font-size:13px;font-family:inherit;transition:border-color .2s}
.form-input:focus{outline:none;border-color:var(--accent)}
.form-input::placeholder{color:var(--muted)}
.form-error{background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.3);color:var(--red);padding:10px 14px;border-radius:8px;font-size:12.5px;margin-top:8px}
.hidden{display:none!important}

/* ── Password Strength ── */
.pass-strength-bar{height:4px;border-radius:2px;background:var(--bg3);margin-top:6px;transition:background .3s,width .3s}
.pass-strength-bar.weak{background:var(--red);width:25%}
.pass-strength-bar.fair{background:var(--amber);width:50%}
.pass-strength-bar.good{background:var(--accent);width:75%}
.pass-strength-bar.strong{background:var(--green);width:100%}
.pass-strength-label{font-size:10px;margin-top:3px;font-weight:600}

/* ── KVKK / Consent ── */
.consent-group{margin-bottom:10px}
.consent-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);cursor:pointer;line-height:1.5}
.consent-label input{margin-top:2px;flex-shrink:0;accent-color:var(--accent)}
.consent-label a{color:var(--accent)}

/* ── Toast ── */
.toast-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--bg2);border:1px solid var(--border2);padding:12px 18px;border-radius:10px;font-size:13px;color:var(--text);box-shadow:var(--shadow);animation:slideUp .3s ease;max-width:360px;display:flex;align-items:center;gap:8px}
.toast.success{border-color:rgba(16,185,129,.4)}
.toast.error{border-color:rgba(244,63,94,.4)}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── Verify Banner ── */
.verify-banner{padding:12px 20px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:10px}
.verify-banner.success{background:rgba(16,185,129,.12);color:var(--green);border-bottom:1px solid rgba(16,185,129,.2)}
.verify-banner.error{background:rgba(244,63,94,.1);color:var(--red);border-bottom:1px solid rgba(244,63,94,.2)}
.verify-banner button{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;opacity:.7}
.verify-banner button:hover{opacity:1}

/* ── Legal Pages ── */
.legal-page{background:var(--bg)}
.legal-main{max-width:780px;margin:0 auto;padding:40px 20px}
.legal-article{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:36px}
.legal-article h1{font-size:24px;font-weight:800;margin-bottom:8px}
.legal-date{font-size:12px;color:var(--muted);margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.legal-article section{margin-bottom:24px}
.legal-article h2{font-size:16px;font-weight:700;margin-bottom:10px;color:var(--text)}
.legal-article h3{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--dim)}
.legal-article p{font-size:13.5px;color:var(--muted);line-height:1.75;margin-bottom:10px}
.legal-article ul{padding-left:20px;margin-bottom:10px}
.legal-article li{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:4px}
.legal-article a{color:var(--accent)}
.legal-back{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.legal-back a{color:var(--accent);font-size:13px}
.legal-footer{text-align:center;padding:20px;font-size:12px;color:var(--muted)}
.legal-footer a{color:var(--accent)}

/* ── Admin Link (hidden unless admin) ── */
.admin-link{position:fixed;bottom:20px;left:20px;z-index:999;background:var(--bg3);border:1px solid var(--border);color:var(--muted);padding:8px 14px;border-radius:8px;font-size:11px;display:none}

/* ── Category Badge Colors ── */
.cat-bist{background:rgba(37,99,235,.15);color:#60a5fa}
.cat-forex{background:rgba(16,185,129,.12);color:var(--green)}
.cat-kripto{background:rgba(251,191,36,.12);color:#fbbf24}
.cat-altin{background:rgba(212,175,55,.12);color:var(--gold)}
.cat-akaryakit{background:rgba(251,146,60,.12);color:var(--fuel)}
.cat-enerji{background:rgba(52,211,153,.12);color:var(--energy)}
.cat-tcmb{background:rgba(244,63,94,.12);color:var(--red)}
.cat-ekonomi{background:rgba(139,92,246,.12);color:#a78bfa}
.cat-dunya{background:rgba(100,116,139,.12);color:#94a3b8}

/* ── Misc ── */
.mt-4{margin-top:16px}
.mt-2{margin-top:8px}
.loading-skeleton{padding:40px;text-align:center;color:var(--muted);font-size:13px;animation:blink 1.5s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Mobile Menu ── */
.mobile-menu-btn{display:none;flex-direction:column;gap:4px;padding:8px;margin-left:auto}
.mobile-menu-btn span{display:block;width:20px;height:2px;background:var(--text);border-radius:1px;transition:all .3s}

/* ══ FOOTER — tek blok, temiz ══════════════════════ */

/* ── Boş tablo / Empty State ── */
.empty-state{
  text-align:center;padding:48px 20px;
  display:flex;flex-direction:column;align-items:center;gap:10px
}
.empty-state-icon{font-size:36px;opacity:.4}
.empty-state-title{font-size:14px;font-weight:600;color:var(--dim)}
.empty-state-sub{font-size:12px;color:var(--muted);max-width:280px;line-height:1.6}

/* Tablo boş hücre override */
.data-table td.empty-cell{
  text-align:center;padding:40px 20px;color:var(--muted);font-family:var(--font);font-size:12.5px
}
.data-table td.empty-cell::before{content:'—';display:block;font-size:22px;opacity:.2;margin-bottom:6px}

/* ── Responsive ── */
@media(max-width:1200px){
  .mkt-cards{grid-template-columns:repeat(2,1fr)}
  .content-grid{grid-template-columns:1fr}
  .content-sidebar{display:none}
}
@media(max-width:900px){
  .main-nav{display:none}
  .mobile-menu-btn{display:flex}
  .search-input{width:150px}
}
@media(max-width:900px){
  .footer-top{grid-template-columns:1fr;gap:28px}
  .footer-links{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .mkt-cards{grid-template-columns:1fr 1fr}
  .fuel-grid-main{grid-template-columns:1fr 1fr}
  .fuel-cards{grid-template-columns:1fr 1fr}
  .news-grid{grid-template-columns:1fr}
  .site-main{padding:14px}
  .modal{padding:20px}
  .footer-links{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;text-align:center}
}

/* Footer stilleri aşağıda Patch v2 ile tek blokta tanımlı */

/* ═══════════════════════════════════════════════
   BOŞ TABLO / VERİ YOK DURUMLARI
   ═══════════════════════════════════════════════ */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
}

.empty-state-icon {
  font-size: 40px;
  margin-bottom: 14px;
  opacity: .4;
  filter: grayscale(1);
}

.empty-state-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--dim);
  margin-bottom: 6px;
}

.empty-state-sub {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
  max-width: 320px;
}

/* Tablo boşken kaymasın diye min-height */
.data-table tbody tr td.empty-cell {
  text-align: center;
  padding: 36px 14px;
  color: var(--muted);
  font-family: var(--font);
  font-size: 12.5px;
}

.data-table tbody tr td.empty-cell .ec-icon {
  display: block;
  font-size: 28px;
  margin-bottom: 10px;
  opacity: .3;
}

.data-table tbody tr td.empty-cell .ec-text {
  display: block;
  font-weight: 600;
  color: var(--dim);
  margin-bottom: 4px;
}

.data-table tbody tr td.empty-cell .ec-sub {
  display: block;
  font-size: 11px;
  color: var(--muted);
}

/* Panel boş durumu */
.panel-empty {
  padding: 40px 20px;
  text-align: center;
}
.panel-empty .pe-icon { font-size: 36px; opacity: .25; margin-bottom: 12px; }
.panel-empty .pe-title { font-size: 13px; font-weight: 700; color: var(--muted); margin-bottom: 4px; }
.panel-empty .pe-sub { font-size: 11.5px; color: var(--muted); opacity: .7; }

/* ══ FOOTER — Tek ve Kesin Tanım ══════════════════════ */
.site-footer{background:#050709;border-top:1px solid var(--border);margin-top:48px}
.footer-wrap{max-width:1440px;margin:0 auto;padding:0 24px}

/* Üst grid: logo+açıklama sol / link kolonları sağ */
.footer-top{display:grid;grid-template-columns:300px 1fr;gap:52px;padding:52px 0 40px;border-bottom:1px solid var(--border)}

/* Marka */
.footer-brand{}
.footer-logo{display:inline-flex;align-items:center;gap:7px;font-size:22px;font-weight:800;letter-spacing:-.04em;margin-bottom:12px;color:#fff;text-decoration:none}
.footer-logo span{color:var(--accent)}
.footer-brand p{font-size:12.5px;color:var(--muted);line-height:1.8;max-width:260px;margin-bottom:20px}

/* Sosyal medya ikonları */
.footer-social{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--bg3);border:1px solid var(--border);color:var(--muted);transition:all .25s;text-decoration:none;flex-shrink:0}
.footer-social a svg{width:16px;height:16px;fill:currentColor;pointer-events:none}
.footer-social a:hover{border-color:var(--accent);color:#fff;background:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,.3)}

/* Link kolonları */
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.footer-col h4{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(28,37,53,.7)}
.footer-col a{display:block;font-size:12.5px;color:var(--muted);margin-bottom:9px;transition:color .2s;line-height:1.4}
.footer-col a:hover{color:var(--text)}

/* Yasal uyarı bandı */
.footer-disclaimer{padding:20px 0;border-bottom:1px solid var(--border)}
.footer-disclaimer p{font-size:11.5px;color:var(--muted);line-height:1.75;background:rgba(37,99,235,.04);border:1px solid rgba(37,99,235,.1);border-radius:8px;padding:14px 18px}
.footer-disclaimer strong{color:var(--amber)}
.footer-disclaimer a{color:var(--accent)}
.footer-disclaimer a:hover{text-decoration:underline}

/* Alt çizgi: copyright + linkler */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:11.5px;color:var(--muted);gap:12px;flex-wrap:wrap}
.footer-bottom strong{color:var(--dim)}
.footer-bottom-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.footer-bottom-links a{font-size:11px;color:var(--muted);transition:color .2s}
.footer-bottom-links a:hover{color:var(--accent)}
.footer-bottom-links .sep{color:var(--border2);font-size:9px}
.footer-flag{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}

/* Responsive */
@media(max-width:960px){
  .footer-top{grid-template-columns:1fr;gap:32px;padding:36px 0 28px}
  .footer-brand p{max-width:100%}
}
@media(max-width:640px){
  .footer-links{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-bottom-links{flex-wrap:wrap;gap:10px}
}

/* ══ VERİ BEKLENIYOR — Empty State ════════════════════ */
.no-data-row td{text-align:center;padding:44px 20px!important;color:var(--muted);font-family:var(--font);font-size:13px;border:none!important;background:transparent!important}
.no-data-cell{display:flex;flex-direction:column;align-items:center;gap:8px}
.no-data-icon{font-size:30px;opacity:.2;margin-bottom:2px}
.no-data-label{font-size:13px;font-weight:600;color:var(--muted)}
.no-data-sub{font-size:11px;color:var(--muted);opacity:.7;max-width:240px;line-height:1.55;text-align:center}
.widget-empty{padding:20px 8px;text-align:center;font-size:12px;color:var(--muted);line-height:1.6}
.widget-empty span{display:block;font-size:24px;opacity:.2;margin-bottom:6px}
.panel-empty{padding:44px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.panel-empty-icon{font-size:32px;opacity:.2}
.panel-empty-text{font-size:13px;color:var(--muted)}
.panel-empty-sub{font-size:11.5px;color:var(--muted);opacity:.7}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE PATCH v3 — Mobil & Tablet Uyumluluk
   ═══════════════════════════════════════════════════════ */

/* ── Genel mobil sıfırlama ── */
@media (max-width: 768px) {
  :root { font-size: 14px; }

  /* Header */
  .site-header { padding: 0 14px; }
  .header-inner { gap: 8px; }
  .site-brand { font-size: 18px; }
  .main-nav { display: none; }
  .header-actions .auth-btn { padding: 6px 12px; font-size: 12px; }
  .search-input { width: 120px; font-size: 12px; }

  /* Ticker */
  .ticker-wrap { font-size: 11px; }

  /* Main */
  .site-main { padding: 12px; }

  /* Content grid — tek kolon */
  .content-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px;
  }
  .content-sidebar { display: none !important; } /* Mobilde sidebar gizle */

  /* Market kartları — 2x2 grid */
  .mkt-cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .mkt-card { padding: 12px !important; }
  .mkt-card-price { font-size: 16px !important; }

  /* Panel */
  .panel { padding: 14px !important; border-radius: 10px !important; }
  .panel-header { flex-wrap: wrap; gap: 8px; }
  .panel-title { font-size: 14px !important; }

  /* Akaryakıt grid */
  .fuel-grid-main {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .fuel-item { padding: 12px !important; }
  .fuel-price { font-size: 18px !important; }

  /* Tablolar — yatay kaydırma */
  .table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .data-table { min-width: 480px; font-size: 12px !important; }
  .data-table th, .data-table td { padding: 8px 10px !important; }

  /* Isı haritası */
  .heatmap-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  /* Haberler */
  .news-grid { grid-template-columns: 1fr !important; }
  .news-card { flex-direction: column !important; }
  .news-card-img { width: 100% !important; height: 160px !important; }

  /* Full-panel tablolar */
  .full-panel { padding: 12px !important; border-radius: 10px !important; }

  /* Modal */
  .modal { padding: 20px 16px !important; margin: 10px !important; max-height: 90svh; overflow-y: auto; }
  .modal-title { font-size: 17px !important; }

  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 24px !important; padding: 32px 0 24px !important; }
  .footer-links { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .footer-badges { gap: 6px !important; }
  .footer-badge { font-size: 9px !important; padding: 3px 8px !important; }

  /* Sayfa başlıkları */
  .page-head h1 { font-size: 20px !important; }
  .page-head p { font-size: 12px !important; }
}

/* ── Çok küçük ekranlar (telefon ~375px) ── */
@media (max-width: 400px) {
  .mkt-cards { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .mkt-card-price { font-size: 14px !important; }
  .fuel-grid-main { grid-template-columns: 1fr 1fr !important; }
  .heatmap-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .footer-links { grid-template-columns: 1fr !important; }
  .site-main { padding: 10px !important; }
}

/* ── Tablet (768px – 1024px) ── */
@media (min-width: 769px) and (max-width: 1024px) {
  .content-grid { grid-template-columns: 1fr !important; }
  .content-sidebar { display: none !important; }
  .mkt-cards { grid-template-columns: repeat(4, 1fr) !important; }
  .fuel-grid-main { grid-template-columns: repeat(3, 1fr) !important; }
  .footer-top { grid-template-columns: 240px 1fr !important; gap: 32px !important; }
  .site-main { padding: 16px !important; }
}

/* ═══════════════════════════════════════════════════════
   ADSense / REKLAM SLOT STİLLERİ
   ═══════════════════════════════════════════════════════ */

/* Temel slot — sadece dolu içerikte göster */
.ad-slot {
  display: block;
  width: 100%;
  overflow: hidden;
  text-align: center;
  /* BOŞLUK YOK — içerik yoksa sıfır yer kaplar */
  min-height: 0;
}

/* İçerik varsa boyut ver */
.ad-slot:not(:empty) {
  min-height: 60px;
  margin: 16px 0;
}

/* Header banner (728x90 leaderboard) */
.ad-slot--header:not(:empty) {
  background: var(--bg2, #0c1018);
  border-bottom: 1px solid var(--border, #1c2535);
  padding: 8px 0;
  margin: 0 0 0 0;
}

/* İçerik üstü (320x100 veya responsive) */
.ad-slot--content-top:not(:empty) {
  border-radius: 8px;
  background: var(--bg2, #0c1018);
  border: 1px dashed var(--border, #1c2535);
  padding: 8px;
}

/* İçerik ortası */
.ad-slot--content-mid:not(:empty) {
  border-radius: 8px;
  background: var(--bg2, #0c1018);
  border: 1px dashed var(--border, #1c2535);
  padding: 8px;
}

/* Sidebar — widget stilinde */
.ad-slot--sidebar:not(:empty) {
  padding: 12px !important;
  min-height: 250px;
}
.ad-slot--sidebar:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Footer */
.ad-slot--footer:not(:empty) {
  background: var(--bg2, #0c1018);
  border-top: 1px solid var(--border, #1c2535);
  padding: 10px 24px;
}

/* Reklam etiket */
.ad-slot:not(:empty)::before {
  content: 'Reklam';
  display: block;
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted, #4a5a72);
  margin-bottom: 6px;
  text-align: center;
}
/* Header ve footer'da etiket istemiyoruz */
.ad-slot--header::before,
.ad-slot--footer::before { display: none; }

/* Mobilde reklam alanları küçük kalır */
@media (max-width: 768px) {
  .ad-slot--content-top:not(:empty),
  .ad-slot--content-mid:not(:empty) { margin: 10px 0; padding: 6px; }
  .ad-slot--header:not(:empty) { padding: 6px 0; }
}

/* ════════════════════════════════════════════════════
   TOPLULUK YORUMLARI
   ════════════════════════════════════════════════════ */
.comments-section { margin-top: 24px; }
.comments-section h3 { font-size: 15px; font-weight: 700; color: #d0ddf0; margin-bottom: 16px; }

.cm-composer { margin-bottom: 20px; }
.cm-composer textarea {
  width: 100%; background: #0b111c; border: 1.5px solid #1a2640;
  color: #d0ddf0; padding: 12px 14px; border-radius: 10px;
  font-size: 13px; resize: vertical; font-family: inherit;
  transition: border-color .2s; outline: none;
}
.cm-composer textarea:focus { border-color: #2563eb; }
.cm-composer-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 8px;
}
.cm-composer-hint { font-size: 11px; color: #3a4d6a; }

.cm-item {
  background: #0b111c; border: 1px solid #1a2640;
  border-radius: 10px; padding: 14px; margin-bottom: 10px;
  transition: border-color .2s;
}
.cm-item:hover { border-color: #253560; }
.cm-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cm-author { font-size: 13px; font-weight: 700; color: #93c5fd; }
.cm-time { font-size: 11px; color: #3a4d6a; }
.cm-content { font-size: 13px; color: #aab8d0; line-height: 1.6; word-break: break-word; }
.cm-actions { margin-top: 8px; display: flex; align-items: center; gap: 8px; }
.cm-btn {
  background: none; border: 1px solid #1a2640; color: #4a6080;
  padding: 3px 10px; border-radius: 6px; font-size: 11px;
  cursor: pointer; transition: all .2s;
}
.cm-btn:hover { border-color: #2563eb; color: #93c5fd; }
.cm-btn.primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.cm-btn.primary:hover { background: #3b7aff; }
.cm-login-hint { font-size: 11px; color: #3a4d6a; }
.cm-login-hint a { color: #2563eb; }
.cm-loading { text-align: center; padding: 24px; color: #3a4d6a; font-size: 13px; }
.cm-empty {
  text-align: center; padding: 32px; color: #3a4d6a;
  font-size: 13px; border: 1px dashed #1a2640; border-radius: 10px;
}
.cm-reply-form { margin-top: 10px; padding: 10px; background: #060d18; border-radius: 8px; }

/* ════════════════════════════════════════════════════
   TAKİP LİSTESİ
   ════════════════════════════════════════════════════ */
.watchlist-section { margin-top: 20px; }
.wl-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; background: #0b111c;
  border: 1px solid #1a2640; border-radius: 8px; margin-bottom: 6px;
}
.wl-symbol { font-size: 13px; font-weight: 700; color: #d0ddf0; flex: 1; font-family: 'JetBrains Mono', monospace; }
.wl-price  { font-size: 13px; color: #fbbf24; font-family: 'JetBrains Mono', monospace; }
.wl-change { font-size: 12px; font-family: 'JetBrains Mono', monospace; min-width: 60px; text-align: right; }
.wl-change.pos { color: #34d399; }
.wl-change.neg { color: #f87191; }
.wl-remove {
  background: none; border: none; color: #3a4d6a; cursor: pointer;
  font-size: 16px; padding: 0 4px; line-height: 1;
}
.wl-remove:hover { color: #f87191; }
.wl-empty {
  text-align: center; padding: 24px 16px; color: #3a4d6a;
  font-size: 13px; border: 1px dashed #1a2640; border-radius: 8px;
}

/* Watchlist butonu — fiyat kartlarında */
.btn-watchlist {
  background: none; border: 1px solid #1a2640; color: #4a6080;
  padding: 2px 8px; border-radius: 5px; font-size: 13px; cursor: pointer;
  transition: all .2s; line-height: 1.4;
}
.btn-watchlist:hover, .btn-watchlist.active { border-color: #fbbf24; color: #fbbf24; }

/* ════════════════════════════════════════════════════
   DUYURU BANNER
   ════════════════════════════════════════════════════ */
#announcementBanner { padding: 4px 0; }

/* ── Kullanıcı Menüsü (Header) ── */
.user-menu {
  display: flex;
  align-items: center;
  gap: 8px;
}
.user-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 768px) {
  .user-name { display: none; }
}
