:root{
  --ink:#16233F;
  --ink-2:#233457;
  --paper:#EDF0F5;
  --paper-2:#FFFFFF;
  --line:#D7DCE6;
  --brass:#A97D3D;
  --brass-light:#F1E4CE;
  --green:#2F7A4D;
  --green-bg:#E4F1E8;
  --red:#B23A34;
  --red-bg:#FBE7E5;
  --amber:#9C6B0B;
  --amber-bg:#FBF0DA;
  --muted:#5B6478;
  --shadow: 0 1px 2px rgba(22,35,63,.06), 0 8px 24px -12px rgba(22,35,63,.18);
  --radius: 10px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
.serif{font-family:'Fraunces',serif;}
.mono{font-family:'IBM Plex Mono',monospace;}

/* ---------- Layout ---------- */
#app{display:flex;min-height:100vh;}
.sidebar{
  width:230px;flex-shrink:0;background:var(--ink);color:#fff;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
}
.sidebar-head{padding:22px 20px 16px;border-bottom:1px solid rgba(255,255,255,.12);}
.sidebar-head .seal{
  width:40px;height:40px;border-radius:50%;border:2px solid var(--brass);
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;
  font-weight:700;font-size:16px;color:var(--brass);margin-bottom:10px;
}
.sidebar-head h1{font-family:'Fraunces',serif;font-size:16.5px;font-weight:600;margin:0 0 2px;line-height:1.25;}
.sidebar-head p{margin:0;font-size:11.5px;color:#AEB8D4;letter-spacing:.02em;}
.nav{flex:1;padding:14px 0;overflow-y:auto;}
.nav-tab{
  display:flex;align-items:center;gap:11px;width:100%;background:none;border:none;color:#C7CEE3;
  padding:12px 20px;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;
  position:relative;font-family:inherit;letter-spacing:.01em;
}
.nav-tab .num{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#7683A8;width:16px;flex-shrink:0;
}
.nav-tab:hover{background:rgba(255,255,255,.05);color:#fff;}
.nav-tab.active{background:var(--paper);color:var(--ink);border-radius:0 0 0 0;}
.nav-tab.active::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brass);
}
.nav-tab.active .num{color:var(--brass);}
.sidebar-foot{padding:14px 20px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#8B96B8;}
.status-pill{
  display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:700;
  margin-top:8px;
}
.status-pill.on{background:rgba(47,122,77,.22);color:#8FE0AC;}
.status-pill.off{background:rgba(178,58,52,.22);color:#F0A6A1;}
.status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;}

.main{flex:1;min-width:0;padding:30px 38px 60px;}
.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.topbar h2{font-family:'Fraunces',serif;font-size:26px;font-weight:600;margin:0 0 4px;}
.topbar .sub{color:var(--muted);font-size:13.5px;}

.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.card-pad{padding:22px 24px;}
.section-title{font-family:'Fraunces',serif;font-weight:600;font-size:16px;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.section-title .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--brass);background:var(--brass-light);padding:2px 7px;border-radius:5px;font-weight:600;}

.grid{display:grid;gap:16px;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} .main{padding:20px 16px 50px;} .sidebar{width:64px;} .sidebar-head h1,.sidebar-head p,.nav-tab span.label{display:none;} .sidebar-head{padding:18px 10px;} .nav-tab{justify-content:center;padding:14px 8px;} .sidebar-foot{display:none;}}

.stat{padding:16px 18px;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line);}
.stat .n{font-family:'Fraunces',serif;font-size:28px;font-weight:600;line-height:1;}
.stat .l{font-size:11.5px;color:var(--muted);margin-top:6px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}

.btn{
  display:inline-flex;align-items:center;gap:7px;font-family:'Inter',sans-serif;font-weight:700;font-size:13px;
  padding:10px 16px;border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;
  transition:.12s;
}
.btn:hover{background:var(--ink-2);}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);}
.btn.secondary:hover{border-color:var(--ink);}
.btn.brass{background:var(--brass);border-color:var(--brass);}
.btn.brass:hover{background:#8f6a30;}
.btn.danger{background:#fff;color:var(--red);border:1px solid var(--red-bg);}
.btn.danger:hover{background:var(--red-bg);}
.btn.sm{padding:6px 11px;font-size:12px;border-radius:6px;}
.btn.block{width:100%;justify-content:center;}

input[type=text],input[type=number],textarea,select{
  font-family:'Inter',sans-serif;border:1.5px solid var(--line);border-radius:7px;padding:9px 11px;font-size:13.5px;
  width:100%;background:#fff;color:var(--ink);
}
input:focus,textarea:focus,select:focus{outline:2px solid var(--brass);outline-offset:0;border-color:var(--brass);}
label.field-label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;display:block;}
.field{margin-bottom:13px;}

table{width:100%;border-collapse:collapse;font-size:13px;}
th{
  text-align:left;font-size:10.8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
  padding:9px 10px;border-bottom:1.5px solid var(--line);font-weight:700;position:sticky;top:0;background:var(--paper-2);
}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle;}
tr:hover td{background:#F7F8FB;}
tr.edit-row td{background:var(--amber-bg,#FFF7E6);}
tr.edit-row input{padding:6px 8px;font-size:13px;}
tr.hisse-eksik td{background:var(--amber-bg);}
tr.hisse-fazla td{background:var(--red-bg);}
tr.iptal td{opacity:.5;background:#F4F4F6 !important;}
.t-amber{color:var(--amber);font-weight:700;}
.t-red{color:var(--red);font-weight:700;}
.t-green{color:var(--green);font-weight:700;}
th.sort-th{cursor:pointer;user-select:none;}
th.sort-th:hover{color:var(--ink);}
th.sort-th.active{color:var(--brass);}
.sort-ic{font-size:9px;margin-left:2px;opacity:.7;}
.table-wrap{max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);}

.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;}
.badge.asaleten{background:var(--green-bg);color:var(--green);}
.badge.vekaleten{background:var(--amber-bg);color:var(--amber);}
.badge.yok{background:#EEF0F5;color:var(--muted);}

.chip{display:inline-flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:4px 10px 4px 12px;font-size:12px;font-weight:600;margin:3px 5px 0 0;}
.chip input[type=checkbox]{width:auto !important;}
.chip button{border:none;background:none;color:var(--red);cursor:pointer;font-weight:800;font-size:13px;padding:0;line-height:1;}

.notice{padding:12px 14px;border-radius:8px;font-size:13px;font-weight:600;display:flex;gap:9px;align-items:flex-start;margin-bottom:14px;}
.notice.info{background:#E9EEFA;color:#2A4A8C;}
.notice.warn{background:var(--amber-bg);color:var(--amber);}
.notice.err{background:var(--red-bg);color:var(--red);}
.notice.ok{background:var(--green-bg);color:var(--green);}

.reminder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.reminder-list li{display:flex;gap:12px;padding:13px 14px;background:var(--paper);border-radius:8px;border-left:3px solid var(--brass);font-size:13.5px;line-height:1.55;}
.reminder-list li .ri{font-family:'Fraunces',serif;font-weight:700;color:var(--brass);font-size:15px;flex-shrink:0;}

.tabbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.tabbar button{
  font-family:'Inter',sans-serif;font-weight:700;font-size:12.5px;padding:8px 14px;border-radius:20px;
  border:1.5px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;
}
.tabbar button.active{background:var(--ink);border-color:var(--ink);color:#fff;}

/* Gündem stepper */
.gundem-list{display:flex;flex-direction:column;gap:8px;}
.gundem-item{border:1.5px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;}
.gundem-item.current{border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-light);}
.gundem-item.done .gundem-head{background:var(--green-bg);}
.gundem-head{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;}
.gundem-num{
  width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;flex-shrink:0;background:var(--paper);color:var(--muted);
}
.gundem-item.current .gundem-num{background:var(--brass);color:#fff;}
.gundem-item.done .gundem-num{background:var(--green);color:#fff;}
.gundem-head .txt{flex:1;font-size:13.5px;font-weight:600;line-height:1.4;}
.gundem-head .res{font-size:11.5px;color:var(--muted);font-weight:600;white-space:nowrap;}
.gundem-body{padding:6px 16px 18px 54px;border-top:1px dashed var(--line);}
.vote-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:12px 0;}
.vote-box{text-align:center;padding:10px;border-radius:8px;border:1.5px solid var(--line);}
.vote-box input{text-align:center;font-family:'Fraunces',serif;font-size:20px;font-weight:600;border:none;padding:2px;}
.vote-box .vl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-top:4px;}
.vote-box.kabul{background:var(--green-bg);}
.vote-box.red{background:var(--red-bg);}
.vote-box.cekimser{background:#EEF0F5;}
.progress-track{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:18px;}
.progress-fill{height:100%;background:var(--brass);transition:.25s;}

/* Belgeler */
.doc-tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.doc-btn{
  display:flex;flex-direction:column;gap:2px;padding:11px 16px;border-radius:9px;border:1.5px solid var(--line);
  background:#fff;cursor:pointer;text-align:left;min-width:150px;font-family:'Inter',sans-serif;
}
.doc-btn.active{border-color:var(--brass);background:var(--brass-light);}
.doc-btn .t{font-weight:700;font-size:13px;color:var(--ink);}
.doc-btn .s{font-size:11px;color:var(--muted);}
.pdf-frame{width:100%;height:72vh;border:1px solid var(--line);border-radius:9px;background:#F3F4F7;}

textarea.tutanak{width:100%;min-height:60vh;font-family:'IBM Plex Mono',monospace;font-size:12.5px;line-height:1.65;padding:18px;border-radius:9px;}

.empty{padding:40px 20px;text-align:center;color:var(--muted);}
.divider{height:1px;background:var(--line);margin:20px 0;border:none;}
.small{font-size:12px;color:var(--muted);}
.flex{display:flex;}
.flex-between{display:flex;justify-content:space-between;align-items:center;}
.gap8{gap:8px;} .gap12{gap:12px;}
.mt8{margin-top:8px;} .mt12{margin-top:12px;} .mt16{margin-top:16px;} .mt20{margin-top:20px;}
.mb0{margin-bottom:0;}
a.plainlink{color:var(--brass);font-weight:700;text-decoration:none;font-size:13px;}
a.plainlink:hover{text-decoration:underline;}

/* ---------- Hane arama kombobox ---------- */
.combo-results{
  margin-top:8px;max-height:420px;overflow-y:auto;border:1.5px solid var(--line);border-radius:9px;background:#fff;
}
.combo-item{
  display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer;
}
.combo-item:last-child{border-bottom:none;}
.combo-item:hover:not(.disabled){background:var(--brass-light);}
.combo-item.disabled{cursor:not-allowed;opacity:.5;}
.combo-mesken{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:12.5px;background:var(--paper);padding:3px 8px;border-radius:6px;flex-shrink:0;}
.combo-ad{flex:1;font-size:13.5px;font-weight:600;}

/* ---------- Login page ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);padding:20px;}
.login-card{width:100%;max-width:380px;background:var(--paper-2);border-radius:14px;padding:34px 30px;box-shadow:0 20px 60px -20px rgba(0,0,0,.5);}
.login-card .seal{width:52px;height:52px;border-radius:50%;border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:20px;color:var(--brass);margin:0 auto 14px;}
.login-card h1{font-family:'Fraunces',serif;font-size:19px;text-align:center;margin:0 0 4px;}
.login-card p.sub{text-align:center;color:var(--muted);font-size:12.5px;margin:0 0 24px;}
.login-card .field-label{margin-top:14px;}

/* ---------- Sidebar user footer ---------- */
.sidebar-user{padding:14px 20px;border-top:1px solid rgba(255,255,255,.12);}
.sidebar-user .name{font-weight:700;font-size:13px;color:#fff;}
.sidebar-user .role{font-size:11px;color:#AEB8D4;margin-top:1px;}
.sidebar-user a{color:#F0A6A1;font-size:11.5px;font-weight:700;text-decoration:none;display:inline-block;margin-top:8px;}
.sidebar-user a:hover{text-decoration:underline;}

/* ---------- Owner (kat maliki) page ---------- */
.owner-shell{max-width:760px;margin:0 auto;padding:36px 20px 60px;}
.owner-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.owner-topbar h2{font-family:'Fraunces',serif;font-size:22px;margin:0;}
.owner-topbar a.logout{color:var(--red);font-weight:700;font-size:13px;text-decoration:none;}
.duyuru-item{padding:16px 18px;border-radius:10px;border:1px solid var(--line);background:#fff;margin-bottom:12px;}
.duyuru-item .h{font-weight:700;font-size:14.5px;margin-bottom:4px;}
.duyuru-item .m{font-size:13px;color:var(--ink-2);line-height:1.6;white-space:pre-wrap;}
.duyuru-item .meta{font-size:11px;color:var(--muted);margin-top:8px;}

/* ---------- Users / Duyurular admin tables ---------- */
.role-badge{display:inline-flex;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;}
.role-badge.yonetici{background:var(--brass-light);color:#8f6a30;}
.role-badge.kat_maliki{background:#E9EEFA;color:#2A4A8C;}

/* ============ YÖNETİM PANELİ ORTAK BİLEŞENLERİ ============ */
.y-topbar{
  background:var(--ink);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
}
.y-topbar .brand{display:flex;align-items:center;gap:12px;}
.y-topbar .brand .seal{width:38px;height:38px;border-radius:50%;border:2px solid var(--brass-light);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;color:var(--brass-light);}
.y-topbar .brand-text{line-height:1.2;}
.y-topbar .brand-text .t1{font-family:'Fraunces',serif;font-weight:600;font-size:15px;}
.y-topbar .brand-text .t2{font-size:11px;color:#B7C0D6;}
.y-topbar nav{display:flex;gap:4px;flex-wrap:wrap;}
.y-topbar nav a{color:#D7DCE6;text-decoration:none;padding:8px 12px;border-radius:7px;font-size:13px;font-weight:600;}
.y-topbar nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.y-topbar nav a.active{background:var(--brass);color:#fff;}
.y-topbar .who{display:flex;align-items:center;gap:12px;font-size:12.5px;color:#D7DCE6;}
.y-topbar .who a{color:#F1E4CE;text-decoration:underline;}
.y-wrap{max-width:1200px;margin:0 auto;padding:24px;}
.y-h1{font-family:'Fraunces',serif;font-size:26px;font-weight:600;margin:0 0 4px;}
.y-sub{color:var(--muted);font-size:14px;margin-bottom:20px;}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.module-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);display:block;transition:transform .1s;}
.module-card:hover{transform:translateY(-2px);border-color:var(--brass);}
.module-card .mc-title{font-family:'Fraunces',serif;font-weight:600;font-size:16.5px;margin-bottom:6px;}
.module-card .mc-desc{font-size:12.5px;color:var(--muted);line-height:1.5;}
.module-card.disabled{opacity:.5;cursor:not-allowed;}
.module-card.disabled:hover{transform:none;border-color:var(--line);}

.mesken-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);}
.mesken-card.iptal{opacity:.55;background:#F4F4F6;}
.mesken-card .mk-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.mesken-card .mk-kapi{font-family:'Fraunces',serif;font-size:22px;font-weight:700;}
.malik-row{border-top:1px solid var(--line);padding:10px 0;font-size:13px;}
.malik-row:first-of-type{border-top:none;}
.hisse-pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:700;}
.hisse-pill.tamam{background:var(--green-bg);color:var(--green);}
.hisse-pill.eksik{background:var(--amber-bg);color:var(--amber);}
.hisse-pill.fazla{background:var(--red-bg);color:var(--red);}

.stat-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.stat-box{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;min-width:150px;box-shadow:var(--shadow);}
.stat-box .sv{font-family:'Fraunces',serif;font-size:24px;font-weight:700;}
.stat-box .sl{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;}
.stat-box.debt .sv{color:var(--red);}
.stat-box.credit .sv{color:var(--green);}

.form-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;}
.form-inline .field{margin-bottom:0;min-width:140px;}
