:root {
  --brand: #1f4e79;
  --brand-dark: #163a5b;
  --brand-soft: #e8f0f8;
  --accent: #c8a24a;
}

body {
  background: #f4f6f9;
  min-height: 100vh;
}

.navbar-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  margin-right: .5rem;
}

.bg-brand { background: var(--brand) !important; }
.text-brand { color: var(--brand) !important; }
.btn-brand { background: var(--brand); border-color: var(--brand); color: #fff; }
.btn-brand:hover, .btn-brand:focus { background: var(--brand-dark); border-color: var(--brand-dark); color: #fff; }
.btn-match {
  background: linear-gradient(135deg, #c8a24a, #b0872c);
  border: none;
  color: #fff;
  font-weight: 600;
}
.btn-match:hover { color: #fff; filter: brightness(.95); }
.btn-sahibinden { background: #fff6c2; border: 1px solid #e0c200; color: #3d3400; font-weight: 600; }
.btn-sahibinden:hover, .btn-sahibinden:focus { background: #ffec80; color: #3d3400; border-color: #c9ae00; }
.tier-badge { font-size: .75rem; }
.tier-match { background: #dcfae6; color: #067647; }
.tier-alternative { background: #fef0c7; color: #93370d; }
.tier-none { background: #fee4e2; color: #912018; }

.navbar .nav-link.active { font-weight: 600; color: #fff !important; }

.card { border: none; box-shadow: 0 1px 3px rgba(16, 24, 40, .08); }
.card-header { background: #fff; font-weight: 600; }

.stat-card .stat-value { font-size: 1.8rem; font-weight: 700; color: var(--brand); line-height: 1.1; }
.stat-card .stat-label { color: #6c757d; font-size: .85rem; }

.page-title { font-weight: 700; color: #1d2939; }

.customer-actions .btn { white-space: nowrap; }

.criteria dt { color: #667085; font-weight: 500; font-size: .85rem; }
.criteria dd { margin-bottom: .6rem; font-weight: 500; }

.listing-card .listing-photo {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  background: #e9edf3;
}
.listing-photo-placeholder {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e9edf3;
  color: #98a2b3;
  font-size: 2.5rem;
}
.listing-card .price { font-size: 1.25rem; font-weight: 700; color: var(--brand); }
.listing-card .score-badge { position: absolute; top: .6rem; left: .6rem; font-size: .85rem; }
.listing-card .presentation-badge { position: absolute; top: .6rem; right: .6rem; }
.listing-card .card-img-wrap { position: relative; }

.reason { font-size: .82rem; margin-bottom: .2rem; display: flex; gap: .35rem; }
.reason i { flex-shrink: 0; }
.reason-ok { color: #067647; }
.reason-near { color: #b54708; }
.reason-fail { color: #b42318; }
.reason-unknown { color: #667085; }

.tag-input {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  padding: .3rem .5rem;
  min-height: 38px;
  cursor: text;
}
.tag-input input { border: none; outline: none; flex: 1; min-width: 120px; padding: .1rem; }
.tag-chip {
  background: var(--brand-soft);
  color: var(--brand);
  border-radius: 999px;
  padding: .1rem .55rem;
  font-size: .85rem;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}
.tag-chip button { border: none; background: none; color: inherit; padding: 0; line-height: 1; }

.checkbox-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .25rem .75rem; }
.checkbox-grid label { font-weight: normal; }
.room-grid { grid-template-columns: repeat(auto-fill, minmax(95px, 1fr)); }

.form-section-title {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #667085;
  font-weight: 600;
  margin-bottom: .75rem;
}

.private-box { border-left: 3px solid #f79009; background: #fffaeb; }

.timeline { list-style: none; padding-left: 0; }
.timeline li { position: relative; padding-left: 1.4rem; padding-bottom: 1rem; border-left: 2px solid #e4e7ec; margin-left: .4rem; }
.timeline li::before {
  content: "";
  position: absolute;
  left: -7px;
  top: .25rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--brand);
}

.table td, .table th { vertical-align: middle; }
.table-hover tbody tr { cursor: default; }
.text-small { font-size: .85rem; }
.gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: .375rem; }

.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--brand), #2d6aa3); }

@media (max-width: 575.98px) {
  .page-title { font-size: 1.35rem; }
  .customer-actions .btn { flex: 1 1 45%; }
}

@media print {
  nav.navbar, .no-print, .btn, form { display: none !important; }
  body { background: #fff; }
  .card { box-shadow: none; border: 1px solid #ddd; break-inside: avoid; }
  a[href]::after { content: ""; }
}

.is-invalid-wrap .form-control, .is-invalid-wrap .form-select, .is-invalid-wrap .tag-input { border-color: #dc3545; }
.card > .table-responsive > .table > :is(thead, tbody) > tr > :first-child { padding-left: 1rem; }
.card > .table-responsive > .table > :is(thead, tbody) > tr > :last-child { padding-right: 1rem; }
.navbar .nav-link { white-space: nowrap; }

/* ---- Günlük İşlerim ---- */
.work-item { display: flex; gap: .75rem; align-items: flex-start; border-radius: .5rem; padding: .15rem; }
.work-item.selected { outline: 2px solid #f79009; outline-offset: 4px; }
.work-check {
  width: 30px; height: 30px; border-radius: 50%; border: 2px solid #98a2b3; background: #fff; color: transparent;
  display: inline-flex; align-items: center; justify-content: center; padding: 0; transition: all .15s;
}
.work-check:hover { border-color: #12b76a; color: #12b76a; }
.work-check.done { background: #12b76a; border-color: #12b76a; color: #fff; }
.work-time { width: 3.2rem; flex-shrink: 0; font-weight: 600; color: var(--brand); padding-top: .2rem; font-variant-numeric: tabular-nums; }
.work-title { font-weight: 500; }
.work-item.is-done .work-title { text-decoration: line-through; color: #667085; }
.work-item.is-overdue .work-time { color: #d92d20; }
.work-meta { display: flex; flex-wrap: wrap; gap: .35rem .6rem; align-items: center; font-size: .8rem; margin-top: .15rem; }
.work-meta a { text-decoration: none; }
.work-desc { font-size: .85rem; color: #475467; margin-top: .25rem; }
.work-note { font-size: .82rem; color: #93370d; background: #fffaeb; border-radius: .35rem; padding: .2rem .5rem; margin-top: .3rem; display: inline-block; }
.min-w-0 { min-width: 0; }
.quick-add .form-control-lg { font-size: 1.05rem; }
.notification-unread { background: #eff8ff; }

.day-bar-row { display: flex; align-items: center; gap: .5rem; margin-bottom: .3rem; font-size: .8rem; }
.day-bar-label { width: 5.5rem; flex-shrink: 0; text-decoration: none; color: #475467; }
.day-bar-track { flex: 1; height: 14px; background: #f2f4f7; border-radius: 4px; position: relative; overflow: hidden; }
.day-bar-total { position: absolute; inset: 0 auto 0 0; background: #b2ccff; }
.day-bar-done { position: absolute; inset: 0 auto 0 0; background: #12b76a; }
.day-bar-value { width: 3rem; text-align: right; font-variant-numeric: tabular-nums; }
.legend-done, .legend-total { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: #12b76a; vertical-align: middle; }
.legend-total { background: #b2ccff; }

/* ---- Sesli komut ---- */
.voice-fab {
  position: fixed; right: 18px; bottom: 18px; z-index: 1040; width: 56px; height: 56px; border-radius: 50%;
  border: none; background: #d92d20; color: #fff; font-size: 1.4rem; box-shadow: 0 6px 18px rgba(217, 45, 32, .4);
}
.voice-fab:hover { background: #b42318; }
.voice-mic-btn {
  width: 92px; height: 92px; border-radius: 50%; border: none; background: #d92d20; color: #fff; font-size: 2.3rem;
  box-shadow: 0 0 0 0 rgba(217, 45, 32, .5);
}
.voice-mic-btn.listening { animation: voice-pulse 1.2s infinite; }
@keyframes voice-pulse { 0% { box-shadow: 0 0 0 0 rgba(217, 45, 32, .55); } 100% { box-shadow: 0 0 0 26px rgba(217, 45, 32, 0); } }
.voice-transcript { min-height: 1.6rem; margin-top: .5rem; font-size: 1.1rem; color: #344054; }
@media print { .voice-fab { display: none !important; } }

.day-nav-title { font-size: 1.25rem; }
main.container-xl { padding-bottom: 96px !important; }
@media (max-width: 575.98px) {
  .day-nav { width: 100%; justify-content: space-between; }
  .day-nav-title { font-size: 1.05rem; }
}

.toast-body { white-space: pre-line; }

.feed-thumb { width: 72px; height: 54px; object-fit: cover; flex-shrink: 0; font-size: 1.2rem; }
/* Bağlantıyla atlanan bölümler yapışkan menünün altında kalmasın */
[id] { scroll-margin-top: 84px; }
