.page{padding-bottom:32px}

/* ---------- TOOLBAR ---------- */
.bina-toolbar{
  position:sticky;top:60px;z-index:25;background:rgba(244,246,250,.92);backdrop-filter:blur(8px);
  padding:14px 0;margin:0 -24px 0;border-bottom:1px solid var(--line);
}
.bina-toolbar-inner{padding:0 24px}
.blok-tabs{display:flex;gap:6px;flex-wrap:wrap}
.blok-tab{
  border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 14px;
  font-size:12.8px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s;
}
.blok-tab:hover{border-color:#C7D3E8;color:var(--ink)}
.blok-tab.active{background:var(--nav-active);border-color:var(--nav-active);color:#fff}
.blok-tab[draggable="true"]{cursor:grab}
.blok-tab[draggable="true"]:active{cursor:grabbing}
.blok-tab-add{border-style:dashed;color:var(--nav-active);border-color:#C7D3E8}
.blok-tab-add:hover{border-color:var(--nav-active);background:#EEF4FF}
.search-wrap{position:relative;min-width:220px}
.search-wrap .search-ico{position:absolute;top:50%;left:11px;transform:translateY(-50%);color:#94A3B8;font-size:13px}
.search-wrap .form-control{padding-left:32px}

/* ---------- ÖZET ---------- */
.mini-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.mini-stat-label{font-size:11.5px;color:var(--ink-soft);margin-bottom:4px}
.mini-stat-value{font-family:'Plus Jakarta Sans';font-weight:800;font-size:22px}

/* ---------- BLOK BÖLÜMÜ ---------- */
.blok-section-baslik{
  display:flex;align-items:center;gap:9px;padding:14px 6px 8px;margin-top:6px;
  border-bottom:2px solid var(--nav-active);
}
.blok-section-baslik:first-child{margin-top:0}
.blok-section-baslik .bi-building{color:var(--nav-active);font-size:16px}
.blok-section-baslik .blok-ad{font-family:'Plus Jakarta Sans';font-weight:800;font-size:15.5px}
.blok-section-baslik .blok-badge{background:#EEF4FF;color:var(--nav-active);font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}

/* ---------- KAT BÖLÜMÜ ---------- */
.kat-section{margin-bottom:14px}
.kat-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 4px}
.kat-drag-handle{cursor:grab;color:#C7D3E8;padding:2px 2px;display:flex;align-items:center;flex:0 0 auto}
.kat-drag-handle:hover{color:var(--ink-soft)}
.kat-drag-handle:active{cursor:grabbing}
.kat-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer}
.kat-chevron{font-size:12px;color:var(--ink-soft);transition:.2s}
.kat-chevron.open{transform:rotate(90deg)}
.kat-ad{font-family:'Plus Jakarta Sans';font-weight:700;font-size:14.5px}
.kat-badge{background:#EEF1F6;color:var(--ink-soft);font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}
.kat-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}
.kat-body{padding-top:2px}
.kat-body.d-none{display:none}

.kat-empty{
  border:1px dashed var(--line);border-radius:12px;padding:22px;text-align:center;
  color:var(--ink-soft);font-size:12.8px;background:#fff;
}
.kat-empty.small{padding:14px;font-size:12px}
.kat-empty .d-flex{margin-top:10px}

/* ---------- BOŞ DURUMLAR ---------- */
.empty-state{text-align:center;padding:64px 20px;color:var(--ink-soft)}
.empty-state i{font-size:34px;color:#C7D3E8;margin-bottom:10px;display:block}
.empty-state p{font-size:13.5px;margin-bottom:14px}

/* ---------- BİRİM KARTI ---------- */
.unit-card{
  position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:13px;
  padding:14px 16px;cursor:pointer;transition:.15s;height:100%;
}
.unit-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.unit-card.status-bos::before{background:#CBD5E1}
.unit-card.status-kismi::before{background:var(--warn)}
.unit-card.status-tam::before{background:var(--ok)}
.unit-card.status-ariza::before{background:var(--bad)}
.unit-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,24,40,.08);border-color:#D5DFF0}
.unit-card.search-hit{outline:2px solid var(--nav-active);outline-offset:1px}
.unit-card:focus-visible{outline:2px solid var(--nav-active);outline-offset:1px}

.unit-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.unit-name{font-family:'Plus Jakarta Sans';font-weight:700;font-size:13.5px}
.unit-badges{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.tag.gender-erkek{background:#EFF6FF;color:#2563EB}
.tag.gender-kiz{background:#FDF2F8;color:#DB2777}

.unit-occ{font-family:'Plus Jakarta Sans';font-weight:800;font-size:19px;margin-bottom:4px}
.bar{height:5px;border-radius:20px;background:#EDF1F7;overflow:hidden}
.bar>i{display:block;height:100%;border-radius:20px}
.bar>i.status-bos{background:#CBD5E1}
.bar>i.status-kismi{background:var(--warn)}
.bar>i.status-tam{background:var(--ok)}
.bar>i.status-ariza{background:var(--bad)}
.unit-sub{font-size:11.5px;color:var(--ink-soft);margin-top:6px}

.bed-dots{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}
.bed-dot{width:11px;height:11px;border-radius:3px;background:#E2E8F0}
.bed-dot.filled{background:var(--nav-active)}
.bed-dot.ariza{background:var(--bad)}

.unit-menu-btn{
  border:0;background:none;color:#94A3B8;width:26px;height:26px;border-radius:7px;
  display:grid;place-items:center;font-size:14px;
}
.unit-menu-btn:hover{background:#F1F4F9;color:var(--ink)}

/* w-0..w-100 genişlik basamakları artık main.css içinde ortak tanımlı */

/* ---------- DETAY MODALI: ODA BÖLÜMLERİ ---------- */
.oda-section{border:1px solid var(--line);border-radius:11px;margin-bottom:10px;overflow:hidden}
.oda-head{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;background:#FAFBFE;flex:1}
.oda-chevron{font-size:11px;color:var(--ink-soft);transition:.2s}
.oda-chevron.open{transform:rotate(90deg)}
.oda-ad{font-weight:700;font-size:13px;flex:1}
.oda-row-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#FAFBFE;padding:0 4px 0 0}
.oda-actions{display:flex;align-items:center;gap:6px;padding-right:8px}
.oda-body{border-top:1px solid var(--line)}
.oda-body.d-none{display:none}
.direct-room{border:1px solid var(--line);border-radius:11px;overflow:hidden}

/* ---------- YATAK SATIRI (ortak bileşen) ---------- */
.bed-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.bed-row:last-child{border-bottom:0}
.bed-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink-soft);width:74px;flex:0 0 auto}
.bed-mid{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.av-sm{width:28px;height:28px;font-size:11px}
.bed-student-name{font-size:12.8px;font-weight:600}
.bed-student-date{font-size:11px;color:var(--ink-soft)}
.bed-empty-label{font-style:italic;color:var(--ink-soft);font-size:12.6px}
.bed-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}

.form-preview{font-size:12px;color:var(--nav-active);background:#EEF4FF;border-radius:8px;padding:8px 10px}

@media(max-width:991px){
  .bina-toolbar{top:0}
}
@media(max-width:575px){
  .bina-toolbar{margin:0 -16px 0;padding:12px 16px}
  .bina-toolbar-inner{padding:0}
  .bed-row{flex-wrap:wrap}
  .bed-actions{width:100%;justify-content:flex-end}
}
