/* Demir Konut v12.7.0 — Tasarım 3.0 · katman 4/4: sayfalar
   Panel (gösterge paneli), menü, giriş ekranı, kayıt formu, ATLAS, harita, 3D model, bildirim merkezi, bileşen kataloğu.
   Her sayfanın en küçük telefondan en geniş ekrana, dikey ve yatay yerleşimi. */

/* ================================================================ panel */
.dash-filterbar { padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-md); gap: var(--sp-3); margin-bottom: var(--sp-4); }
.dash-filterbar label[for] { font-size: var(--fs-xs); margin-bottom: 4px; }
.dash-filterbar select { min-height: 42px; font-size: 13.5px; }
.dash-period-note { font-size: var(--fs-xs); }
.dash-extra summary { font-size: var(--fs-sm); }
.dash-shortcuts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: var(--sp-2); padding: var(--sp-3) 0 var(--sp-4); }
.dash-shortcuts .btn { min-height: 44px; font-size: var(--fs-sm); padding: 8px 10px; }
@media (min-width: 768px) { .dash-shortcuts { display: flex; flex-wrap: wrap; } .dash-shortcuts .btn { flex: 0 1 auto; padding: 8px 14px; } }
.dash-layoutbar { padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-md); gap: var(--sp-3); margin-top: var(--sp-4); }
.dash-layoutbar .eyebrow { font-size: 9.5px; }
.dash-column-buttons button { border-radius: 9px; }
.dashboard-page .dash-tools-card { padding: var(--sp-4) !important; }
.dash-tool-links { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.dash-tool-links a { border-radius: 10px; }
.dashboard-page .dash-bar { border-radius: 12px; }
.dash-ticker { border-radius: 12px; }
.nudges { gap: var(--sp-3); }
@media (max-width: 520px) {
  .dash-filterbar { padding: var(--sp-3); gap: var(--sp-2); }
  .dash-filterbar select { min-height: 42px; }
}
@media (orientation: landscape) and (max-height: 560px) {
  .dash-filterbar { display: flex; flex-wrap: nowrap; padding: var(--sp-2) var(--sp-3); }
  .dash-filterbar > div { flex: 1 1 0; min-width: 0; }
  .dash-filterbar label[for] { margin-bottom: 2px; }
  .dash-filterbar select { min-height: 38px; }
  .dash-period-note { display: none; }
}
/* panelde üst üste iki başlık olmaz: dash-heading telefon şeridinde dönem bilgisini gösterir */
@media (max-width: 767px) { .dash-heading > div:first-child p { font-weight: 600; color: var(--ink-2); } }

/* ================================================================ menü */
.menu-page .hero, .m-user { border-radius: var(--radius-lg); }
.m-sec { font-size: var(--fs-sm); }

/* ================================================================ giriş ekranı */
.login-card { border-radius: var(--radius-xl); padding: 28px 24px 24px; box-shadow: var(--shadow-3); border: 1px solid var(--line-2); }
.login-card .brand h1 { font-size: 22px; }
.login .field input { min-height: 48px; font-size: 16px; }
.login .btn-block { min-height: 50px; font-size: 15px; }
@media (min-width: 768px) and (min-height: 600px) { .lg-wrap { width: min(460px, 100%); } .login-card { padding: 34px 32px 28px; } }
@media (min-width: 1600px) { .lg-wrap { width: min(500px, 100%); } }
@media (max-width: 380px) { .login-card { padding: 22px 16px 18px; border-radius: var(--radius-lg); } }

/* ================================================================ kayıt formu (tx-sheet) */
@media (min-width: 1024px) { .tx-sheet { width: min(1040px, calc(100vw - var(--sidebar-w) - 48px)) !important; } }
@media (min-width: 1600px) { .tx-sheet { width: min(1120px, calc(100vw - var(--sidebar-w) - 64px)) !important; } }
.tx-section { border-radius: var(--radius-md); }
.tx-sheet .sheet-head h3 { font-size: 18px; }
.scan-bar { border-radius: var(--radius-md); }
.scan-actions { gap: var(--sp-2); }
@media (max-width: 359px) { .scan-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } .scan-btn { min-height: 60px; } }

/* ================================================================ ATLAS penceresi ve sayfası */
.atlas-dock { border-radius: var(--radius-xl); border: 1px solid var(--line); }
.atlas-head { padding: 12px 16px; }
.atlas-head h2 { font-size: 18px; }
.atlas-quick .chip { border-radius: 12px; }
.atlas-composer textarea { border-radius: 12px; }
.atlas-compose-foot .btn { border-radius: 12px; }
@media (max-width: 479px) { .atlas-dock { right: 8px; width: calc(100vw - 16px); border-radius: var(--radius-lg); } }
@media (min-width: 1024px) { .assistant-layout { gap: var(--sp-4); } }
@media (min-width: 1400px) { .assistant-layout { grid-template-columns: minmax(0, 1fr) 320px; } }
@media (min-width: 1920px) { .assistant-layout { grid-template-columns: minmax(0, 1fr) 360px; } .assistant-page .aix-chat { height: clamp(320px, 52vh, 640px); } }

/* ================================================================ harita */
.mp-drawer { border-left: 1px solid var(--line); }
@media (max-width: 700px) { .mp-drawer { border-left: 0; border-top: 1px solid var(--line); } }
@media (orientation: landscape) and (max-height: 560px) {
  .mp-stage { height: calc(100dvh - var(--topbar-h) - var(--tabbar-h) - var(--safe-t, 0px) - var(--safe-b, 0px) - 16px) !important; min-height: 220px !important; }
  .mp-drawer { width: min(360px, 48vw); height: auto; top: 0; bottom: 0; left: auto; right: 0; border-radius: 0; }
}
@media (min-width: 1024px) { .mp-stage { height: calc(100dvh - var(--topbar-h) - var(--safe-t, 0px) - 56px); } }
@media (min-width: 1600px) { .mp-drawer { width: min(440px, 36vw); } }

/* ================================================================ 3D model */
@media (min-width: 1600px) { .bim-workspace .bim-stage { height: clamp(360px, 54vh, 680px); } .bim-workspace .bim-side { grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important; } }
@media (orientation: landscape) and (max-height: 560px) { .bim-workspace .bim-stage { height: calc(100dvh - var(--topbar-h) - var(--tabbar-h) - 96px) !important; min-height: 200px !important; } }

/* ================================================================ bildirim merkezi, ayarlar, lisans */
.nc-item { border-radius: var(--radius-md); }
.nc-radio, .nc-seg label { border-radius: 12px; }
.set-row { min-height: 56px; }
.workspace-page .set-row { min-height: 60px; padding: 12px 0; }
@media (min-width: 1200px) { .settings-grid, .set-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); align-items: start; } }

/* ================================================================ bileşen kataloğu (/ui-kit) */
.tok-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr)); gap: var(--sp-2); }
.tok { border-radius: 10px; }
@media (max-width: 359px) { .tok-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ================================================================ yeni kayıt yok (salt okunur) / klavye açık */
html.kb-on .fab-desktop { display: none !important; }

/* ================================================================ çok geniş ekran: yazı ve boşluk nefes alır */
@media (min-width: 2200px) {
  .workspace-page { font-size: var(--fs-body); }
  .workspace-page .li-title { font-size: 15.5px; }
  .workspace-page .kpi-val { font-size: clamp(22px, 10.5cqi, 34px); }
  .workspace-page > .ux-page-heading { padding: var(--sp-6) var(--sp-7); }
  .ux-page-heading h2 { font-size: 34px; }
  .ux-page-heading p { font-size: 15.5px; }
  .workspace-page .tbl { font-size: 15px; }
}
