/* LordJunket CRM — Tema (mavi-beyaz) — CSS değişkenleriyle kolay değiştirilebilir */
:root{
  --primary:#2e66ff;        /* ana mavi */
  --primary-dark:#1e3a8a;   /* koyu mavi (header, aktif menü) */
  --primary-light:#3b82f6;  /* açık mavi (buton hover, vurgu) */
  --accent:#60a5fa;         /* ikincil vurgu */
  --bg:#f8fafc;             /* açık gri-beyaz arka plan */
  --surface:#ffffff;        /* kart/panel zemini */
  --surface-alt:#f1f5f9;    /* ikincil zemin */
  --border:#e2e8f0;         /* çizgi/kenarlık */
  --text:#0f172a;           /* koyu metin */
  --text-muted:#64748b;     /* ikincil metin */
  --sidebar-width:250px;
}

/* Gece modu — aynı değişken seti, farklı değerler */
:root[data-theme="dark"]{
  --primary:#3b82f6;
  --primary-dark:#1e293b;
  --primary-light:#60a5fa;
  --accent:#38bdf8;
  --bg:#0f172a;
  --surface:#1e293b;
  --surface-alt:#243247;
  --border:#334155;
  --text:#e2e8f0;
  --text-muted:#94a3b8;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--primary); text-decoration:none; }
a:hover{ color:var(--primary-light); }

/* ---- Genel bileşenler ---- */
.card-lj{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 1px 3px rgba(15,23,42,.06);
}
.btn-lj{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  box-sizing:border-box; min-height:40px; line-height:1.2;
  background:var(--primary); color:#fff; border:1px solid transparent;
  padding:.55rem 1.1rem; border-radius:8px; font-weight:600; font-size:.9rem;
  font-family:inherit; white-space:nowrap; text-decoration:none; vertical-align:middle;
  cursor:pointer; transition:background .15s ease;
}
.btn-lj:hover{ background:var(--primary-light); color:#fff; }
.btn-lj:disabled{ opacity:.6; cursor:not-allowed; }
.btn-ghost{
  background:transparent; color:var(--text-muted); border:1px solid var(--border);
}
.btn-ghost:hover{ background:var(--surface-alt); color:var(--text); }
/* <summary> buton görünümü: disclosure oku gizlenir, hizalama .btn-lj'den gelir */
summary.btn-lj{ list-style:none; }
summary.btn-lj::-webkit-details-marker{ display:none; }
summary.btn-lj::marker{ content:""; }
/* Yan yana buton/aksiyon grubu (not satırı, tablo dışı) */
.inline-actions{ display:inline-flex; gap:.4rem; align-items:center; flex-wrap:wrap; vertical-align:middle; }
.inline-details{ display:inline-block; }

.form-label-lj{ font-weight:600; font-size:.85rem; margin-bottom:.35rem; display:block; color:var(--text); }
.form-input-lj{
  width:100%; box-sizing:border-box; min-height:40px; line-height:1.2;
  padding:.55rem .85rem; border:1px solid var(--border);
  border-radius:8px; background:var(--surface); color:var(--text); font-size:.9rem;
  font-family:inherit;
}
.form-input-lj:focus{ outline:none; border-color:var(--primary-light); box-shadow:0 0 0 3px rgba(59,130,246,.15); }
.field-error{ color:#dc2626; font-size:.8rem; margin-top:.3rem; }
.input-invalid{ border-color:#dc2626 !important; }

/* Uyarı/flash */
.alert-lj{ padding:.75rem 1rem; border-radius:8px; margin-bottom:1rem; font-size:.9rem; border:1px solid transparent; }
.alert-success{ background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.alert-error{ background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.alert-info{ background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.alert-warning{ background:#fffbeb; color:#92400e; border-color:#fde68a; }
:root[data-theme="dark"] .alert-success{ background:#052e2b; color:#6ee7b7; border-color:#065f46; }
:root[data-theme="dark"] .alert-error{ background:#3f1d1d; color:#fca5a5; border-color:#7f1d1d; }
:root[data-theme="dark"] .alert-info{ background:#172554; color:#93c5fd; border-color:#1e40af; }

/* Rozet */
.badge-lj{ display:inline-block; padding:.2rem .6rem; border-radius:999px; font-size:.75rem; font-weight:600; background:var(--surface-alt); color:var(--text-muted); }

/* ---- Auth (giriş) düzeni ---- */
.auth-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1.5rem;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary)); }
.auth-card{ width:100%; max-width:400px; background:var(--surface); border-radius:16px; padding:2rem;
  box-shadow:0 20px 50px rgba(15,23,42,.25); }
.auth-logo{ text-align:center; margin-bottom:1.5rem; }
.auth-logo h1{ font-size:1.5rem; margin:.5rem 0 .2rem; color:var(--primary-dark); }
.auth-logo p{ color:var(--text-muted); font-size:.85rem; margin:0; }

/* ---- Uygulama düzeni (sidebar + içerik) ---- */
.app-shell{ display:flex; min-height:100vh; }
.sidebar{
  width:var(--sidebar-width); background:var(--bg); color:var(--text);
  position:fixed; top:0; bottom:0; left:0; display:flex; flex-direction:column; z-index:1000;
  transition:transform .25s ease; border-right:1px solid var(--border);
}
.sidebar .brand{ padding:1.25rem 1.25rem; font-size:1.15rem; font-weight:700; color:var(--primary-dark); border-bottom:1px solid var(--border); overflow:hidden; }
.sidebar .brand .b-brand{ display:block; }
.sidebar .brand .brand-logo{ display:block; width:100%; max-width:180px; height:auto; }
:root[data-theme="dark"] .sidebar .brand{ color:var(--text); }
.sidebar nav{ padding:.75rem; overflow-y:auto; flex:1; }
.sidebar nav a{ display:flex; align-items:center; gap:.7rem; padding:.65rem .8rem; border-radius:8px;
  color:var(--text-muted); font-size:.92rem; font-weight:500; margin-bottom:.15rem; }
.sidebar nav a:hover{ background:var(--surface-alt); color:var(--text); }
.sidebar nav a.active{ background:rgb(230 237 251); color:#1e3a8a; font-weight:700; }
:root[data-theme="dark"] .sidebar nav a.active{ background:rgb(230 237 251); color:#1e3a8a; }
.sidebar nav .nav-group{ font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); opacity:.75; padding:.9rem .8rem .35rem; }
.sidebar nav .nav-sub{ margin:.1rem 0 .3rem .5rem; padding-left:.6rem; border-left:2px solid var(--border); }
.sidebar nav .nav-sub a{ padding:.4rem .7rem; font-size:.85rem; color:var(--text-muted); }
.sidebar nav .nav-sub a:hover{ color:var(--text); }
.sidebar nav .nav-sub a.active{ background:rgb(230 237 251); color:#1e3a8a; }

.main{ flex:1; margin-left:var(--sidebar-width); display:flex; flex-direction:column; min-width:0; }
.topbar{ height:60px; background:var(--surface); border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:1rem; padding:0 1.25rem; position:sticky; top:0; z-index:900; }
.topbar .spacer{ flex:1; }
/* Modern arama kutusu: gömülü ikon + pill + focus ring */
.topbar-search{ margin:0; position:relative; flex:0 1 380px; display:flex; align-items:center; }
.topbar-search .ts-icon{ position:absolute; left:.85rem; color:var(--text-muted); pointer-events:none; transition:color .15s ease; }
.topbar-search input{ width:100%; height:40px; padding:0 2.4rem 0 2.5rem; border:1px solid var(--border); border-radius:999px; background:var(--surface-alt); color:var(--text); font-size:.9rem; transition:box-shadow .15s ease, background .15s ease, border-color .15s ease; }
.topbar-search input::placeholder{ color:var(--text-muted); }
.topbar-search input:hover{ background:var(--surface); }
.topbar-search input:focus{ outline:none; background:var(--surface); border-color:var(--primary-light); box-shadow:0 0 0 4px rgba(59,130,246,.15); }
.topbar-search input:focus + .ts-hint{ opacity:1; }
.topbar-search:focus-within .ts-icon{ color:var(--primary); }
.topbar-search .ts-hint{ position:absolute; right:.7rem; font-size:.7rem; color:var(--text-muted); background:var(--surface); border:1px solid var(--border); border-radius:5px; padding:.05rem .35rem; opacity:.6; }
@media (max-width:760px){ .topbar-search{ flex-basis:200px; } .topbar-search .ts-hint{ display:none; } }
@media (max-width:560px){ .topbar-search{ display:none; } }
.topbar .icon-btn{ background:transparent; border:none; color:var(--text-muted); cursor:pointer; font-size:1.15rem; padding:.4rem; border-radius:8px; }
.topbar .icon-btn:hover{ background:var(--surface-alt); color:var(--text); }
.content{ padding:1.5rem; flex:1; }

.page-title{ font-size:1.4rem; font-weight:700; margin:0 0 1.25rem; }

.hamburger{ display:none; }
.sidebar-backdrop{ display:none; }

/* Sayaç kartları */
.stat-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; }
.stat-card{ padding:1.1rem 1.25rem; }
.stat-card .label{ color:var(--text-muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; }
.stat-card .value{ font-size:1.9rem; font-weight:700; color:var(--primary); margin-top:.25rem; }

/* ---- Sayfa başlığı + araç çubuğu ---- */
.page-head{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.page-head .page-title{ margin:0; }
.page-head .spacer{ flex:1; }
.toolbar{ display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin-bottom:1rem; }
.search-box{ display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; }
.search-box .form-input-lj{ min-width:220px; flex:1 1 220px; }
@media (max-width:640px){
  .search-box{ width:100%; }
  .search-box .form-input-lj{ min-width:0; flex:1 1 100%; }
  .search-box .btn-lj{ flex:1 1 auto; }
}

/* ---- Tablo ---- */
.table-wrap{ overflow:hidden; }
.table-lj{ width:100%; border-collapse:collapse; background:var(--surface); }
.table-lj th, .table-lj td{ padding:.7rem .85rem; text-align:left; border-bottom:1px solid var(--border); font-size:.9rem; vertical-align:middle; }
.table-lj th{ background:var(--surface-alt); color:var(--text-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; font-weight:700; }
.table-lj tbody tr:hover{ background:var(--surface-alt); }
.table-lj .actions{ display:flex; gap:.4rem; justify-content:flex-end; align-items:center; flex-wrap:wrap; }
.table-lj .actions form{ margin:0; }
.table-lj .actions > *{ flex:0 0 auto; }

.btn-sm{ min-height:32px; padding:.3rem .7rem; font-size:.8rem; border-radius:6px; }
.btn-danger{ background:#dc2626; color:#fff; border:none; }
.btn-danger:hover{ background:#b91c1c; color:#fff; }
.btn-warn{ background:#f59e0b; color:#fff; border:none; }
.btn-warn:hover{ background:#d97706; color:#fff; }

.badge-success{ background:#dcfce7; color:#166534; }
.badge-muted{ background:var(--surface-alt); color:var(--text-muted); }
.badge-danger{ background:#fee2e2; color:#991b1b; }
.badge-gold{ background:#fef3c7; color:#92400e; }
:root[data-theme="dark"] .badge-success{ background:#052e2b; color:#6ee7b7; }
:root[data-theme="dark"] .badge-danger{ background:#3f1d1d; color:#fca5a5; }
:root[data-theme="dark"] .badge-gold{ background:#3a2e0a; color:#fcd34d; }

.empty-state{ text-align:center; padding:2.5rem 1rem; color:var(--text-muted); }

/* ---- Form düzeni ---- */
.form-card{ max-width:720px; }
.form-row{ margin-bottom:1.1rem; }
.form-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-help{ color:var(--text-muted); font-size:.78rem; margin-top:.3rem; }
.check-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.5rem; }
.check-item{ display:flex; align-items:center; gap:.5rem; padding:.45rem .6rem; border:1px solid var(--border); border-radius:8px; background:var(--surface); font-size:.88rem; cursor:pointer; }
.check-item:hover{ background:var(--surface-alt); }
.switch-row{ display:flex; align-items:center; gap:.6rem; padding:.5rem 0; }
.form-actions{ display:flex; gap:.6rem; margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--border); }

/* İzin matrisi */
.perm-group{ margin-bottom:1.25rem; }
.perm-group h4{ margin:0 0 .6rem; font-size:.9rem; color:var(--primary-dark); display:flex; align-items:center; gap:.5rem; }
:root[data-theme="dark"] .perm-group h4{ color:var(--accent); }

/* ---- Müşteri filtre ızgarası + sayfalama ---- */
.filter-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.6rem; align-items:end; }
.filter-date{ display:flex; flex-direction:column; gap:.2rem; }
.filter-date > span{ font-size:.72rem; opacity:.7; padding-left:.15rem; }

/* Label'lı filtre + buton çubuğu: tüm alanlar ve butonlar alt hizada, responsive sarar */
.filter-bar{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:flex-end; }
.filter-bar .field{ display:flex; flex-direction:column; gap:.3rem; min-width:150px; }
.filter-bar .field .form-label-lj{ margin:0; }
.filter-bar .field .form-input-lj{ min-width:0; }
.filter-bar > .btn-lj{ align-self:flex-end; }
@media (max-width:640px){
  .filter-bar{ flex-direction:column; align-items:stretch; }
  .filter-bar .field, .filter-bar > .btn-lj{ width:100%; }
}
.pager{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; flex-wrap:wrap; }
.pager-info{ color:var(--text-muted); font-size:.85rem; }
.pager-btns{ display:flex; gap:.5rem; }

/* ---- Risk Analizi hero ---- */
.risk-hero{ display:flex; align-items:center; gap:1.25rem; padding:1.4rem 1.6rem; border-radius:14px; margin-bottom:1rem; color:#fff; box-shadow:0 6px 20px rgba(15,23,42,.15); }
.risk-hero.risk-karli{ background:linear-gradient(135deg,#15803d,#22c55e); }
.risk-hero.risk-riskli{ background:linear-gradient(135deg,#b91c1c,#ef4444); }
.risk-hero.risk-none{ background:linear-gradient(135deg,#475569,#94a3b8); }
.risk-badge-lg{ font-size:2.6rem; line-height:1; flex-shrink:0; }
.risk-main{ flex:1; min-width:0; }
.risk-verdict{ font-size:1.35rem; font-weight:800; margin-bottom:.25rem; }
.risk-explain{ font-size:.9rem; opacity:.95; }
.risk-explain strong{ color:#fff; }
.risk-net{ text-align:right; flex-shrink:0; display:flex; flex-direction:column; }
.risk-net span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; opacity:.85; }
.risk-net strong{ font-size:1.7rem; font-weight:800; }
@media (max-width:640px){ .risk-hero{ flex-wrap:wrap; text-align:center; } .risk-main{ flex-basis:100%; } .risk-net{ text-align:center; width:100%; align-items:center; } }

/* ---- Sekmeler ---- */
.tabs{ display:flex; gap:.25rem; border-bottom:2px solid var(--border); margin-bottom:1rem; flex-wrap:wrap; }
.tab-btn{ background:transparent; border:none; padding:.6rem 1rem; font-size:.9rem; font-weight:600; color:var(--text-muted); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; }
.tab-btn:hover{ color:var(--text); }
.tab-btn.active{ color:var(--primary); border-bottom-color:var(--primary); }
.tab-pane{ display:none; }
.tab-pane.active{ display:block; }

/* ---- Zaman çizelgesi ---- */
.timeline{ list-style:none; margin:0; padding:0; position:relative; }
.timeline li{ display:flex; gap:.85rem; padding:0 0 1rem .25rem; position:relative; }
.timeline li::before{ content:""; position:absolute; left:16px; top:28px; bottom:0; width:2px; background:var(--border); }
.timeline li:last-child::before{ display:none; }
.tl-icon{ width:34px; height:34px; border-radius:50%; background:var(--surface-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; z-index:1; }
.tl-title{ font-weight:600; font-size:.9rem; }
.tl-detail{ color:var(--text-muted); font-size:.85rem; margin-top:.15rem; }

/* ---- Dashboard ---- */
.dash-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1rem; }
.dash-card{ display:flex; align-items:center; gap:.9rem; padding:1.1rem 1.25rem; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:0 1px 3px rgba(15,23,42,.06); transition:transform .12s ease, box-shadow .12s ease; }
.dash-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(15,23,42,.12); }
.dash-icon{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.dash-val{ font-size:1.6rem; font-weight:700; color:var(--text); line-height:1.1; }
.dash-lbl{ font-size:.78rem; color:var(--text-muted); margin-top:.15rem; }

.dash-cols{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
@media (max-width:820px){ .dash-cols{ grid-template-columns:1fr; } }

.pipe-bar{ display:flex; height:20px; border-radius:6px; overflow:hidden; background:var(--surface-alt); margin-bottom:.85rem; }
.pipe-seg{ height:100%; }
.pipe-legend{ display:flex; gap:1rem; flex-wrap:wrap; }
.pipe-item{ display:inline-flex; align-items:center; gap:.4rem; font-size:.85rem; color:var(--text); }
.pipe-dot{ width:11px; height:11px; border-radius:50%; display:inline-block; }

.dash-list{ list-style:none; margin:0; padding:0; }
.dash-list li{ display:flex; align-items:center; gap:.5rem; padding:.55rem 0; border-bottom:1px solid var(--border); font-size:.9rem; }
.dash-list li:last-child{ border-bottom:none; }

/* ---- Bildirim zili ---- */
.bell-badge{ position:absolute; top:-2px; right:-4px; background:#dc2626; color:#fff; font-size:.62rem; font-weight:700; min-width:16px; height:16px; line-height:16px; text-align:center; border-radius:999px; padding:0 3px; }
.notif-item{ display:flex; gap:.75rem; align-items:center; padding:.85rem 1rem; border-bottom:1px solid var(--border); }
.notif-item.unread{ background:var(--surface-alt); }
.notif-item .dot{ width:9px; height:9px; border-radius:50%; background:var(--primary); flex-shrink:0; }
.notif-item .dot.read{ background:transparent; }

/* ---- Import sihirbazı ---- */
.wizard{ display:flex; gap:.5rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.wizard .step{ padding:.4rem .85rem; border-radius:999px; background:var(--surface-alt); color:var(--text-muted); font-size:.82rem; font-weight:600; }
.wizard .step.active{ background:var(--primary); color:#fff; }
.map-row{ display:grid; grid-template-columns:220px 1fr; gap:.75rem; align-items:center; margin-bottom:.6rem; }
.summary-chips{ display:flex; gap:.75rem; flex-wrap:wrap; margin-bottom:1rem; }
.summary-chips .chip{ padding:.5rem .9rem; border-radius:8px; font-weight:600; font-size:.9rem; }
.chip-ok{ background:#dcfce7; color:#166534; }
.chip-err{ background:#fee2e2; color:#991b1b; }
.chip-dup{ background:#fef3c7; color:#92400e; }
:root[data-theme="dark"] .chip-ok{ background:#052e2b; color:#6ee7b7; }
:root[data-theme="dark"] .chip-err{ background:#3f1d1d; color:#fca5a5; }
:root[data-theme="dark"] .chip-dup{ background:#3a2e0a; color:#fcd34d; }
.row-error{ background:rgba(220,38,38,.06); }
.row-duplicate{ background:rgba(245,158,11,.08); }
@media (max-width:640px){ .map-row{ grid-template-columns:1fr; } }

/* ---- Detay görünümü ---- */
.detail-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.detail-list{ display:grid; grid-template-columns:140px 1fr; gap:.4rem .75rem; margin:0; }
.detail-list dt{ color:var(--text-muted); font-size:.85rem; }
.detail-list dd{ margin:0; font-weight:500; }
@media (max-width:720px){ .detail-grid{ grid-template-columns:1fr; } }

/* ---- Rezervasyon: oda misafiri satırları ---- */
.guest-row{ display:flex; gap:.5rem; margin-bottom:.5rem; align-items:center; flex-wrap:wrap; }
.guest-row .form-input-lj{ flex:1; min-width:120px; }

/* ---- Takvim ---- */
.cal-head{ display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; flex-wrap:wrap; }
.cal-timeline{ overflow-x:auto; }
.cal-hotel{ margin-bottom:1.25rem; }
.cal-hotel h4{ margin:0 0 .5rem; color:var(--primary-dark); }
:root[data-theme="dark"] .cal-hotel h4{ color:var(--accent); }
.cal-bar{ position:relative; height:34px; background:var(--surface-alt); border-radius:6px; margin-bottom:.4rem; min-width:640px; }
.cal-event{ position:absolute; top:3px; bottom:3px; border-radius:5px; color:#fff; font-size:.72rem; padding:.15rem .4rem; overflow:hidden; white-space:nowrap; box-shadow:0 1px 2px rgba(0,0,0,.15); cursor:default; }
.cal-ev-pending{ background:#f59e0b; }
.cal-ev-active{ background:#16a34a; }
.cal-ev-past{ background:#94a3b8; }
.cal-axis{ display:flex; min-width:640px; margin-bottom:.35rem; }
.cal-axis span{ flex:1; font-size:.68rem; color:var(--text-muted); text-align:center; border-left:1px solid var(--border); }

/* ---- Rapor giriş grid ---- */
.entry-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:.6rem; }
.entry-field label{ display:block; font-size:.72rem; color:var(--text-muted); font-weight:600; margin-bottom:.2rem; }
.entry-field .form-input-lj{ padding:.4rem .5rem; font-size:.85rem; }
.entry-field .auto-field{ background:var(--surface-alt); color:var(--primary); font-weight:700; }
.subtotal-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.75rem; }
.subtotal-grid > div{ display:flex; flex-direction:column; }
.subtotal-grid span{ font-size:.72rem; color:var(--text-muted); text-transform:uppercase; }
.subtotal-grid strong{ font-size:1.25rem; }
.report-wide{ overflow-x:auto; }

/* ---- Tanımlar ---- */
.lookup-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }
.lookup-add{ display:flex; gap:.4rem; }
.lookup-add .form-input-lj{ flex:1; }

/* ---- Responsive (mobil öncelikli) ---- */
@media (max-width:640px){
  .form-grid-2{ grid-template-columns:1fr; }
  /* Tablo → kart: başlıkları data-label ile göster */
  .table-lj thead{ display:none; }
  .table-lj, .table-lj tbody, .table-lj tr, .table-lj td{ display:block; width:100%; }
  .table-lj tr{ border:1px solid var(--border); border-radius:10px; margin-bottom:.75rem; padding:.35rem .2rem; background:var(--surface); }
  .table-lj td{ border:none; display:flex; justify-content:space-between; gap:1rem; padding:.5rem .85rem; }
  .table-lj td::before{ content:attr(data-label); font-weight:700; color:var(--text-muted); font-size:.78rem; text-transform:uppercase; }
  .table-lj td.actions{ justify-content:flex-end; }
  .table-lj td.actions::before{ content:""; }
}

@media (max-width:900px){
  .sidebar{ transform:translateX(-100%); }
  .sidebar.open{ transform:translateX(0); }
  .main{ margin-left:0; }
  .hamburger{ display:inline-flex; }
  .sidebar-backdrop.show{ display:block; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:999; }
}

/* ---- Yaklaşan özel günler listesi ---- */
.occasion-list{ list-style:none; margin:0; padding:0; }
.occasion-list li{ display:flex; align-items:center; gap:.85rem; padding:.7rem 0; border-bottom:1px solid var(--border); }
.occasion-list li:last-child{ border-bottom:none; }
.occasion-list .oc-icon{ width:40px; height:40px; border-radius:10px; background:var(--surface-alt); display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.occasion-list .oc-body{ flex:1; min-width:0; }
.occasion-list .oc-name{ font-weight:600; font-size:.95rem; }
.occasion-list .oc-meta{ font-size:.82rem; color:var(--text-muted); margin-top:.1rem; }

/* ---- Aranabilir seçici (picker) ---- */
.lj-picker{ position:relative; }
.lj-picker .picker-control{ position:relative; }
.lj-picker .picker-menu{ display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:50;
  background:var(--surface); border:1px solid var(--border); border-radius:8px; box-shadow:0 8px 24px rgba(15,23,42,.14); max-height:260px; overflow-y:auto; }
.lj-picker .picker-menu.open{ display:block; }
.lj-picker .picker-opt{ padding:.55rem .8rem; cursor:pointer; font-size:.9rem; border-bottom:1px solid var(--border); }
.lj-picker .picker-opt:last-child{ border-bottom:none; }
.lj-picker .picker-opt:hover{ background:rgb(230 237 251); color:#1e3a8a; }
.lj-picker .picker-empty{ padding:.7rem .8rem; color:var(--text-muted); font-size:.88rem; }
.lj-picker .picker-chips{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.4rem; }
.lj-picker .picker-chip{ display:inline-flex; align-items:center; gap:.4rem; background:rgb(230 237 251); color:#1e3a8a;
  padding:.35rem .6rem; border-radius:999px; font-size:.85rem; font-weight:600; }
.lj-picker .picker-chip button{ background:transparent; border:none; color:#1e3a8a; cursor:pointer; font-size:1.05rem; line-height:1; padding:0; }
.lj-picker .picker-chip button:hover{ color:#dc2626; }

/* ---- 2FA kurtarma kodları ---- */
.recovery-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:1rem 0; }
.recovery-grid code{ font-size:1rem; padding:.5rem; }
@media (max-width:480px){ .recovery-grid{ grid-template-columns:1fr; } }

/* ---- Hesabım ---- */
.account-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:820px){ .account-grid{ grid-template-columns:1fr; } }
