/* Ortak butonlar */
.icon-button, .button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: inline-flex;
  font-weight: 750;
  justify-content: center;
  min-height: 44px;
  transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}
.icon-button { background: var(--surface); border-color: var(--border); color: var(--navy); min-width: 44px; }
.icon-button:hover, .button:hover { transform: translateY(-1px); }
.button { background: var(--primary); color: #fff; gap: .45rem; padding: .65rem 1rem; text-decoration: none; }
.button:hover { background: var(--primary-dark); }
.button--secondary { background: var(--surface); border-color: var(--border); color: var(--navy); }
.button--ghost { background: transparent; color: var(--primary); }
.button--danger { background: var(--danger-soft); border-color: color-mix(in srgb, var(--danger) 30%, transparent); color: var(--danger); }
.button[disabled] { cursor: wait; opacity: .6; }

/* Kompakt hero */
.hero {
  background-color: #eef6ff;
  background-image: linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(248 251 255 / 96%) 48%, rgb(245 250 255 / 42%) 72%, rgb(239 247 255 / 12%) 100%), url("/assets/images/hero-buildings.png?v=1");
  background-position: center, right center;
  background-repeat: no-repeat;
  background-size: cover, auto 100%;
  border: 1px solid var(--border);
  border-radius: 1.35rem;
  box-shadow: var(--shadow-sm);
  min-height: 255px;
  overflow: hidden;
  padding: 1.75rem 1.9rem 1.55rem;
  position: relative;
}
[data-theme="dark"] .hero { background-image: linear-gradient(90deg, rgb(12 32 56 / 98%) 0%, rgb(12 32 56 / 94%) 56%, rgb(12 32 56 / 55%) 100%), url("/assets/images/hero-buildings.png?v=1"); }
.hero__content { max-width: 100%; position: relative; z-index: 1; }
.hero .page-lead { max-width: 610px; }
.hero__controls { align-items: stretch; display: grid; gap: .65rem; grid-template-columns: minmax(280px, 1.15fr) minmax(0, 1fr); margin-top: 1.25rem; max-width: 1040px; }
.search-box {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: .8rem;
  box-shadow: var(--shadow-sm);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 46px;
  min-height: 54px;
  padding: .25rem .3rem .25rem .8rem;
}
.search-box > .ui-icon { color: var(--text-secondary); }
.search-box input { background: transparent; border: 0; box-shadow: none; min-height: 44px; padding: .55rem .7rem; }
.search-box input:focus { box-shadow: none; }
.search-submit { background: var(--primary); border: 0; border-radius: .62rem; color: #fff; cursor: pointer; display: grid; height: 46px; place-items: center; width: 46px; }
.quick-links { display: grid; gap: .55rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-link {
  align-items: center;
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  border: 1px solid var(--border);
  border-radius: .75rem;
  box-shadow: var(--shadow-sm);
  color: var(--primary);
  display: flex;
  font-size: .72rem;
  font-weight: 750;
  gap: .45rem;
  justify-content: center;
  min-height: 54px;
  padding: .55rem .65rem;
  text-decoration: none;
  white-space: nowrap;
}
.quick-link:hover { border-color: color-mix(in srgb, var(--primary) 45%, var(--border)); transform: translateY(-1px); }
.quick-link .ui-icon { height: 1rem; width: 1rem; }

/* Araç bölümü başlığı */
.section-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin: 2.35rem 0 1.1rem; }
.section-heading__copy p { color: var(--text-secondary); font-size: .86rem; margin: .35rem 0 0; }
.section-heading__copy strong { color: var(--navy); }
.section-actions { align-items: center; display: flex; gap: .45rem; }
.view-toggle { display: flex; }
.view-toggle .icon-button { border-radius: 0; }
.view-toggle .icon-button:first-child { border-radius: .65rem 0 0 .65rem; }
.view-toggle .icon-button:last-child { border-radius: 0 .65rem .65rem 0; margin-left: -1px; }
.view-toggle .icon-button[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); color: #fff; }

/* Araç kartları */
.tool-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.tool-card {
  --tool-color: var(--primary);
  --tool-soft: #e9f2ff;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1rem;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: .85rem;
  grid-template-columns: 50px minmax(0, 1fr) 36px;
  min-height: 190px;
  padding: 1rem;
  position: relative;
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.tool-card:hover { border-color: color-mix(in srgb, var(--primary) 38%, var(--border)); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.tool-card:focus-within { border-color: var(--primary); }
.tool-card--green { --tool-color: #25a244; --tool-soft: #eaf8ee; }
.tool-card--purple { --tool-color: #8a32e6; --tool-soft: #f4eaff; }
.tool-card--orange { --tool-color: #f27b00; --tool-soft: #fff3e5; }
.tool-card--teal { --tool-color: #0799a2; --tool-soft: #e7f7f8; }
.tool-card--red { --tool-color: #e94c5c; --tool-soft: #fff0f2; }
.tool-card__icon { align-items: center; background: var(--tool-soft); border-radius: .8rem; color: var(--tool-color); display: flex; height: 48px; justify-content: center; width: 48px; }
.tool-card__icon .ui-icon { height: 1.55rem; stroke-width: 2.1; width: 1.55rem; }
.tool-card__body { display: flex; flex-direction: column; min-width: 0; }
.tool-card h3 { color: var(--navy-dark); font-size: .95rem; line-height: 1.25; margin: .15rem 0 0; }
.tool-card p { color: var(--text-secondary); font-size: .8rem; line-height: 1.5; margin: .55rem 0; }
.tool-card__category { align-items: center; color: var(--primary); display: flex; font-size: .68rem; font-weight: 850; gap: .3rem; margin-top: auto; text-transform: uppercase; }
.tool-card__category .ui-icon { height: .85rem; width: .85rem; }
.favorite-button { align-items: center; align-self: start; background: transparent; border: 0; border-radius: 50%; color: #60789d; cursor: pointer; display: inline-flex; height: 36px; justify-content: center; padding: 0; width: 36px; }
.favorite-button .ui-icon { fill: transparent; height: 1.15rem; width: 1.15rem; }
.favorite-button[aria-pressed="true"] { color: var(--primary); }
.favorite-button[aria-pressed="true"] .ui-icon { fill: currentColor; }
.tool-card__link { inset: 0; position: absolute; z-index: 1; }
.tool-card .favorite-button { position: relative; z-index: 2; }
.tool-grid--list { grid-template-columns: 1fr !important; }
.tool-grid--list .tool-card { align-items: center; min-height: 116px; }
.tool-grid--list .tool-card p { margin: .25rem 0; }

/* Alt özellik bandı */
.feature-strip { background: var(--surface-soft); border: 1px solid var(--border); border-radius: 1rem; display: grid; gap: 0; margin-top: 2.5rem; overflow: hidden; }
.feature-item { align-items: center; display: grid; gap: .8rem; grid-template-columns: 40px minmax(0, 1fr); padding: 1rem; }
.feature-item + .feature-item { border-top: 1px solid var(--border); }
.feature-item__icon { color: var(--navy); display: grid; place-items: center; }
.feature-item__icon .ui-icon { height: 1.65rem; width: 1.65rem; }
.feature-item h3 { color: var(--navy-dark); font-size: .8rem; margin: 0; }
.feature-item p { color: var(--text-secondary); font-size: .72rem; line-height: 1.4; margin: .15rem 0 0; }

/* Navigasyonlar */
.bottom-nav { background: color-mix(in srgb, var(--surface) 96%, transparent); border-top: 1px solid var(--border); bottom: 0; display: grid; grid-template-columns: repeat(5, 1fr); left: 0; min-height: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom)); padding: .35rem .2rem env(safe-area-inset-bottom); position: fixed; right: 0; z-index: 50; }
.nav-link { align-items: center; border-radius: .7rem; color: rgb(255 255 255 / 76%); display: flex; font-size: .8rem; gap: .75rem; min-height: 48px; padding: .65rem .75rem; text-decoration: none; transition: background var(--transition), color var(--transition); }
.nav-link__icon { display: grid; flex: 0 0 24px; place-items: center; }
.nav-link[aria-current="page"] { background: linear-gradient(135deg, #0c70f0, #075ed7); box-shadow: 0 8px 20px rgb(0 44 120 / 24%); color: #fff; font-weight: 750; }
.bottom-nav .nav-link { color: var(--text-secondary); flex-direction: column; font-size: .62rem; gap: .08rem; justify-content: center; min-height: 52px; padding: .25rem; }
.bottom-nav .nav-link[aria-current="page"] { background: var(--surface-soft); box-shadow: none; color: var(--primary); }

/* Durum, kayıt ve yardımcı içerikler */
.empty-state { background: var(--surface); border: 1px dashed var(--border); border-radius: var(--radius-md); padding: 2rem 1rem; text-align: center; }
.empty-state p { color: var(--text-secondary); }
.toast-region { bottom: calc(var(--bottom-nav-height) + 1rem + env(safe-area-inset-bottom)); left: 1rem; position: fixed; right: 1rem; z-index: 100; }
.toast { background: var(--navy-dark); border-radius: var(--radius-sm); box-shadow: var(--shadow-md); color: #fff; margin: .5rem auto; max-width: 440px; padding: .8rem 1rem; text-align: center; }
.notice { background: var(--warning-soft); border-left: 4px solid var(--warning); border-radius: var(--radius-sm); color: var(--warning); font-size: .88rem; padding: .8rem 1rem; }
.notice--danger { background: var(--danger-soft); border-color: var(--danger); color: var(--danger); }
.record-list { display: grid; gap: .75rem; }
.record-card, .content-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1rem; }
.record-card h3, .content-card h2 { margin: 0; }
.record-card__meta { color: var(--text-secondary); font-size: .82rem; margin: .25rem 0 .85rem; }
.record-card__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.content-grid { display: grid; gap: 1rem; margin-top: 1rem; }
.content-card p { color: var(--text-secondary); margin-bottom: 0; }
