*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f7fb;color:#182033;display:flex}aside{width:245px;min-height:100vh;background:#111827;color:white;padding:22px 14px;position:fixed}.brand{font-size:20px;font-weight:800;padding:0 10px 25px}.brand span{display:block;font-size:11px;color:#9ca3af;margin-top:4px;font-weight:500}nav{display:grid;gap:6px}nav button{background:transparent;border:0;color:#cbd5e1;text-align:left;padding:12px 12px;border-radius:9px;font-size:14px;cursor:pointer}nav button:hover,nav button.active{background:#253047;color:#fff}.side-note{position:absolute;bottom:22px;left:22px;right:20px;color:#94a3b8;font-size:11px;line-height:1.6}main{margin-left:245px;width:calc(100% - 245px);padding:26px 32px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{margin:0;font-size:25px}header p{margin:5px 0;color:#64748b}.pill{background:white;border:1px solid #e5e7eb;border-radius:20px;padding:8px 12px;font-size:12px;color:#64748b}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;box-shadow:0 2px 8px #00000008}.label{font-size:11px;color:#64748b}.num{font-size:25px;font-weight:750;margin-top:9px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}.search{width:420px;max-width:60%;padding:11px;border:1px solid #d7dce5;border-radius:8px}.btn{border:0;background:#2563eb;color:#fff;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:600}.btn.gray{background:#64748b}.btn.red{background:#dc2626}.tablewrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 13px;border-bottom:1px solid #edf0f4;text-align:left;font-size:13px;white-space:nowrap}.table th{font-size:11px;text-transform:uppercase;color:#64748b;background:#fafbfc}.link{color:#2563eb;font-weight:650;cursor:pointer}.status{padding:4px 8px;border-radius:14px;font-size:11px}.status.ok{background:#dcfce7;color:#166534}.status.empty{background:#f1f5f9;color:#475569}.modal{position:fixed;inset:0;background:#0007;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal.hidden{display:none}.modalbox{width:min(900px,95vw);max-height:90vh;overflow:auto;background:white;border-radius:14px;padding:24px;position:relative}.x{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}.detail{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 25px}.kv{border:1px solid #e7eaf0;border-radius:8px;padding:10px;font-size:13px}.kv b{display:block;color:#64748b;font-size:10px;margin-bottom:5px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field label{display:block;font-size:11px;color:#64748b;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #d7dce5;border-radius:8px;font:inherit;background:white}.field.full{grid-column:1/-1}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.muted{color:#64748b}.bigempty{padding:35px!important;text-align:center;color:#64748b}hr{border:0;border-top:1px solid #e5e7eb;margin:20px 0}@media(max-width:900px){aside{width:200px}main{margin-left:200px;width:calc(100% - 200px);padding:18px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.detail{grid-template-columns:1fr 1fr}}
.not-tenant{opacity:.65}.muted{color:#718096}
/* v10 visual refresh */
body{background:#f3f6fb}
aside{width:270px;background:linear-gradient(180deg,#111827 0%,#172554 100%);padding:24px 16px;box-shadow:4px 0 18px rgba(15,23,42,.12)}
main{margin-left:270px;width:calc(100% - 270px);padding:30px 36px}
.brand{font-size:22px;padding:0 12px 28px}.brand span{font-size:12px}
nav{gap:8px}nav button{padding:14px 15px;border-radius:11px;font-size:15px;font-weight:650;letter-spacing:.05px}nav button:hover{background:#334155;color:#fff;transform:translateX(2px)}nav button.active{background:linear-gradient(90deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.28)}
h1{font-size:28px}.cards{gap:16px}.card,.panel{border-radius:14px;box-shadow:0 5px 18px rgba(15,23,42,.06);border-color:#e2e8f0}.card{border-top:4px solid #3b82f6}.accent-card{border-top-color:#4f46e5}.num{font-size:28px}.btn{padding:11px 16px;border-radius:9px;font-size:14px;background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 3px 9px rgba(37,99,235,.2)}.btn.gray{background:#64748b;box-shadow:none}.tablewrap{border-radius:14px;box-shadow:0 4px 16px rgba(15,23,42,.04)}.table th,.table td{padding:14px 14px;font-size:13px}.table th{background:#eef4ff;color:#334155;font-size:11px}.status{padding:5px 9px}.declaration-note{border-left:5px solid #4f46e5;background:#f5f7ff;margin-bottom:16px;line-height:1.65}
@media(max-width:900px){aside{width:220px}main{margin-left:220px;width:calc(100% - 220px);padding:20px}.cards{grid-template-columns:repeat(2,1fr)}}
.header-right{display:flex;align-items:center;gap:12px}.period-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dbe3f0;border-radius:12px;padding:7px 10px;box-shadow:0 3px 10px rgba(15,23,42,.05)}.period-box span{font-size:10px;font-weight:800;color:#64748b;letter-spacing:.5px}.period-box select{border:0;background:#eef4ff;color:#1d4ed8;font-weight:800;font-size:14px;padding:7px 10px;border-radius:8px;cursor:pointer;outline:none}.period-note{background:#eff6ff;border-left:4px solid #2563eb;color:#1e3a8a;padding:11px 14px;border-radius:8px;margin-bottom:14px}.table th select{display:block;margin-top:7px;width:100%;min-width:92px;padding:6px 7px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font-size:11px;text-transform:none}.table th{vertical-align:top}
/* v12 Excel-style column resizing */
.table.resizable{min-width:100%;table-layout:auto}
.table.resizable th{position:relative}
.col-resizer{position:absolute;right:0;top:0;width:7px;height:100%;cursor:col-resize;user-select:none;z-index:3}
.col-resizer:hover{background:#93c5fd}
.table.resizable th:has(.col-resizer):hover{background:#dbeafe}
/* v13 payment alerts and universal column resizing */
.status.unpaid{background:#fef3c7;color:#92400e;font-weight:800}.status.overdue{background:#fee2e2;color:#991b1b;font-weight:850}.overdue-row td{background:#fff1f2}.dashboard-alert-panel{border-left:5px solid #f59e0b}.overdue-panel{border-left:5px solid #dc2626}.overdue-panel h3{color:#991b1b}
.table.table{table-layout:auto}.table th{min-width:70px}.table th .col-resizer{right:-1px}.table th .col-resizer:hover{background:#60a5fa}.table th:active{user-select:none}
/* v15 robust Excel-style column resizing */
body.resizing-columns{cursor:col-resize!important;user-select:none!important}.table.resizable{width:max-content;min-width:100%;table-layout:auto}.table.resizable th{position:relative;overflow:visible}.table.resizable th .col-resizer{display:block;position:absolute;right:-3px;top:0;width:9px;height:100%;cursor:col-resize;z-index:50}.table.resizable th .col-resizer:hover{background:#2563eb}.table.resizable.resizing th,.table.resizable.resizing td{user-select:none}
/* v16: top navigation for smaller screens */
body{display:block;background:#f3f6fb}
main{margin-left:0;width:100%;padding:0 28px 30px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid #dbe3ef;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 4px 9px;margin:0 -28px 22px;padding-left:28px;padding-right:28px;box-shadow:0 3px 14px rgba(15,23,42,.07)}
.top-brand{display:flex;align-items:center;gap:22px;min-width:0}.top-brand .brand{color:#111827;font-size:19px;padding:0;white-space:nowrap}.top-brand .brand span{color:#64748b;font-size:10px}.topnav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.topnav button{background:transparent;border:0;color:#334155;padding:9px 10px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.topnav button:hover,.topnav button.active{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 3px 9px rgba(37,99,235,.18)}
.top-meta{display:flex;align-items:center;gap:9px;flex-shrink:0}.page-head{margin-bottom:18px}.page-head h1{margin:0;font-size:27px}.page-head p{margin:5px 0;color:#64748b}
/* robust column handles: visible, high priority, do not block cell contents */
.table.resizable th{position:relative;padding-right:16px}.table.resizable th .col-resizer{position:absolute;right:-2px;top:0;width:6px;height:100%;cursor:col-resize;z-index:100;background:transparent}.table.resizable th .col-resizer:hover{background:#2563eb}
@media(max-width:1200px){.topbar{align-items:flex-start}.top-brand{align-items:flex-start}.topnav{max-height:76px;overflow:auto}.top-meta{display:none}}
@media(max-width:760px){main{padding:0 12px 20px}.topbar{margin:0 -12px 18px;padding:8px 12px}.top-brand{width:100%;display:block}.top-brand .brand{margin-bottom:6px}.topnav{max-height:110px}.topnav button{font-size:12px;padding:7px 8px}.page-head h1{font-size:23px}}
/* v18 dashboard and document preview */
.topnav{background:#0f172a;border-radius:12px;padding:5px}.topnav button{color:#cbd5e1}.topnav button:hover{background:#2563eb;color:#fff}.topnav button[data-page="dashboard"]{background:#111827;color:#fff}.topnav button[data-page="dashboard"]:hover,.topnav button[data-page="dashboard"].active{background:#1d4ed8;color:#fff}
.dashboard-active .page-head{background:#0f172a;color:#fff;padding:16px 20px;border-radius:12px}.dashboard-active .page-head p{color:#cbd5e1}.dashboard-active #app{background:#0f172a;border-radius:14px;padding:16px}.dashboard-active #app .panel{background:#fff}.dashboard-active #app .card{background:#fff}
.doc-link{background:transparent;border:0;padding:0;color:#2563eb;font-weight:650;cursor:pointer;font:inherit}.doc-link:hover{text-decoration:underline}
.contract-print{max-width:820px;margin:auto}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:70px;text-align:center}

/* v19 visual consistency + in-app previews */
.page-head{background:#0f172a;color:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 5px 18px rgba(15,23,42,.12)}
.page-head p{color:#cbd5e1!important}
#app{background:#eef2f7;border-radius:14px;padding:16px}
#app .panel,#app .tablewrap,#app .card{background:#fff}
.card-success{border-top:4px solid #16a34a!important}.card-success .num{color:#15803d}
.card-danger{border-top:4px solid #dc2626!important}.card-danger .num{color:#b91c1c}
.cari-explain{background:#eff6ff;border-left:5px solid #2563eb;border-radius:9px;padding:12px 14px;margin:0 0 14px;color:#334155;line-height:1.55}
.contract-toolbar,.document-preview-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.contract-container{background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;padding:18px}
.document-frame-wrap{height:70vh;border:1px solid #dbe3ef;border-radius:10px;overflow:hidden;background:#f8fafc}.document-frame{width:100%;height:100%;border:0;background:#fff}
@media print{body *{visibility:hidden!important}#modal,#modal *{visibility:visible!important}#modal{position:static!important;background:#fff!important;padding:0!important}.modalbox{max-height:none!important;width:100%!important;box-shadow:none!important;padding:0!important}.x,.contract-toolbar,.document-preview-head{display:none!important}.contract-container{border:0!important;padding:0!important;background:#fff!important}.contract-print{max-width:none!important}}

/* Geçici giriş ekranı */
#loginScreen{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0f172a,#1e3a8a)}
.login-card{width:min(420px,100%);padding:34px;background:#fff;border-radius:18px;box-shadow:0 24px 70px #0005}
.login-title{font-size:25px;font-weight:800;color:#111827;text-align:center}
.login-subtitle{text-align:center;color:#64748b;margin:8px 0 26px}
.login-card label{display:block;margin:14px 0 6px;color:#334155;font-size:13px;font-weight:700}
.login-card input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}
.login-card button{width:100%;margin-top:20px;padding:12px;border:0;border-radius:9px;background:#2563eb;color:#fff;font-size:15px;font-weight:700;cursor:pointer}
#loginError{min-height:20px;margin-top:12px;text-align:center;color:#b91c1c;font-size:13px}

/* V20 responsive modal, cards and navigation */
.card-click{display:block;width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.card-click:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(15,23,42,.12)}.card-click small{display:block;margin-top:7px;color:#2563eb;font-size:12px;font-weight:700}.card-warning{border-top:4px solid #f59e0b!important}.card-warning .num{color:#b45309}.modal{overflow-y:auto;align-items:center}.modalbox{overflow:hidden;display:flex;flex-direction:column;padding:24px;width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}#modalbody{overflow:auto;overscroll-behavior:contain;padding-top:18px}.x{position:sticky;top:0;align-self:flex-end;z-index:5;margin:-18px -16px -28px 0;background:#fff;border:1px solid #dbe3ef;border-radius:50%;width:40px;height:40px;line-height:1;box-shadow:0 2px 8px #0002}.table td .link{white-space:normal}
@media(max-width:760px){.topbar{display:block}.top-brand{display:block}.topnav{display:flex;flex-wrap:nowrap;overflow-x:auto;max-height:none;margin-top:10px;padding:5px}.topnav button{flex:0 0 auto}.page-head{padding:13px 15px!important;margin-bottom:12px}.page-head h1{font-size:22px}#app{padding:10px!important}.cards{grid-template-columns:1fr;gap:10px}.card,.panel{padding:14px}.num{font-size:23px}.toolbar,.contract-toolbar{align-items:stretch;flex-direction:column}.search{width:100%;max-width:100%}.tablewrap{max-width:100%}.table th,.table td{padding:10px;font-size:12px}.modal{padding:8px;align-items:flex-end}.modalbox{width:100%;max-height:calc(100dvh - 16px);padding:16px;border-radius:14px 14px 8px 8px}.x{margin:-10px -8px -30px 0}.detail,.formgrid{grid-template-columns:1fr}.actions{flex-wrap:wrap}.actions .btn{flex:1}}
@media(min-width:761px) and (max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.top-brand{gap:10px}.topnav{max-height:100px}.topnav button{padding:8px;font-size:12px}}

/* Keep table actions visible at the left while scrolling wide tables. */
.table th.action-column-head{position:sticky;left:0;z-index:6;background:#eef4ff;min-width:150px}.table td.action-column{position:sticky;left:0;z-index:3;background:#fff;min-width:150px;white-space:normal;box-shadow:3px 0 6px rgba(15,23,42,.05)}.action-column .btn{display:inline-block;margin:2px;padding:7px 9px;font-size:12px}.delete-warning{border:1px solid #fecaca;background:#fff1f2;color:#991b1b;padding:14px;border-radius:10px;line-height:1.55}

/* V23 dashboard and table controls */
.top-brand .brand{font-size:23px}.topnav button{font-size:15px;padding:11px 13px}.dashboard-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.dashboard-highlight-stack{display:grid;align-content:start;gap:12px}.dashboard-drag-card .card{position:relative;width:100%;height:100%;text-align:left;cursor:pointer}.dashboard-drag-card.is-dragging{opacity:.45}.drag-handle{position:absolute;right:12px;top:7px;color:#64748b;font-size:22px;line-height:1;cursor:grab;user-select:none}.dashboard-bottom-panels{margin-top:22px}.sort-trigger{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;padding:1px 5px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#475569;font-size:12px;line-height:18px;cursor:pointer;vertical-align:middle}.sort-trigger:hover{background:#dbeafe;color:#1d4ed8}.table th{padding-right:23px}
@media(max-width:1200px){.topnav button{font-size:14px;padding:9px 10px}}
@media(max-width:900px){.dashboard-highlights{grid-template-columns:1fr}.dashboard-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.top-brand .brand{font-size:22px}.topnav button{font-size:13px;padding:8px 10px}.dashboard-highlights{gap:10px}.dashboard-bottom-panels{margin-top:14px}.dashboard-stat-cards{grid-template-columns:1fr}}
.page-export-actions{display:flex;gap:8px;align-items:center}.page-export-actions .btn{white-space:nowrap}.declaration-note{line-height:1.65;margin:12px 0 18px}.dashboard-bottom-panels{margin-top:18px}
@media print{body{display:block!important;background:#fff!important;color:#000!important}body>main{display:block!important;width:100%!important;margin:0!important;padding:0!important}.topbar,#pageExportActions,.top-meta,.toolbar button,.toolbar select,.toolbar input,.sort-trigger,.col-resizer,.action-column,.action-column-head,.x,.btn{display:none!important}.page-head{margin:0 0 10px!important}.tablewrap{overflow:visible!important;border:0!important}.table{width:100%!important}.table th,.table td{white-space:normal!important;font-size:9pt!important;padding:5px!important}.panel,.card{box-shadow:none!important;break-inside:avoid}.modal:not(.hidden){position:static!important;display:block!important;background:#fff!important;padding:0!important}.modal.hidden{display:none!important}.modalbox{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;padding:0!important;box-shadow:none!important}.modal:not(.hidden)~main{display:none!important}thead{display:table-header-group}tr{break-inside:avoid}}

@media print{body:has(.modal:not(.hidden))>main{display:none!important}}

/* Wide, layered detail dialogs with a persistent visible close control. */
#modal{z-index:1000;padding:18px}
#modal .modalbox{width:min(1500px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);padding:14px 20px 20px}
#modal .x{position:sticky;top:0;align-self:flex-end;flex:0 0 40px;margin:-4px -8px -36px 0;z-index:20;background:#fff}
#modalbody{min-width:0}
#modalbody>.toolbar{flex-wrap:wrap;justify-content:flex-start;gap:10px}
#modalbody>.tablewrap{width:100%;max-width:100%}
#modalbody .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){#modal{padding:6px}#modal .modalbox{width:100%;max-height:calc(100dvh - 12px);padding:12px;border-radius:12px}#modal .x{margin:-4px -2px -36px 0}}
@media(max-width:760px){#modalbody .cards{grid-template-columns:1fr!important}}

.declaration-total-row td{background:#eaf0ff!important;border-top:2px solid #3567e8!important;color:#152a59;font-weight:800;position:sticky;bottom:0;z-index:1}
#f_tn_total{font-weight:800;background:#eef3ff}

/* Modern monthly rent entry and explicit monthly rent total. */
.card-total-rent{border-top:4px solid #315ee8!important;background:linear-gradient(145deg,#fff 55%,#eff4ff)!important}.card-total-rent .num{color:#2449b5}.rent-entry-form{max-width:1050px;margin:0 auto 4px}.rent-entry-heading{padding:10px 4px 20px;border-bottom:1px solid #e6ebf3}.rent-entry-kicker{display:inline-block;padding:6px 10px;border-radius:99px;background:#eaf0ff;color:#3157c8;font-size:11px;font-weight:800;letter-spacing:.06em}.rent-entry-heading h2{margin:12px 0 5px;font-size:27px;letter-spacing:-.02em}.rent-entry-heading p,.rent-entry-section-title p{margin:0;color:#71809a}.rent-entry-section{padding:19px 20px;margin-top:14px;border:1px solid #e1e7f0;border-radius:16px;background:linear-gradient(140deg,#fff,#fbfcff);box-shadow:0 5px 18px rgba(25,48,86,.045)}.rent-entry-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.rent-entry-step{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:10px;background:#eaf0ff;color:#3157c8;font-size:14px;font-weight:800}.rent-entry-section-title h3{margin:0 0 4px;font-size:16px}.rent-entry-section-title p{font-size:13px}.rent-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.rent-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rent-entry-form .field label{display:block;margin-bottom:7px;font-weight:700;color:#34425a}.rent-entry-form .field input,.rent-entry-form .field select,.rent-entry-form .field textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid #cad4e3;border-radius:10px;background:#fff;color:#182033;font:inherit;outline:none}.rent-entry-form .field input:focus,.rent-entry-form .field select:focus,.rent-entry-form .field textarea:focus{border-color:#5478ee;box-shadow:0 0 0 3px rgba(49,94,232,.13)}.money-input-wrap{display:flex;align-items:center;min-height:56px;border:1px solid #bdc9dc;border-radius:12px;background:#fff;overflow:hidden;transition:.15s}.money-input-wrap:focus-within{border-color:#5478ee;box-shadow:0 0 0 3px rgba(49,94,232,.13)}.money-input-wrap>span{padding:0 0 0 15px;color:#73819a;font-weight:750}.rent-entry-form .money-input-wrap input{border:0;box-shadow:none!important;text-align:right;font-size:20px;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums}.rent-money-field small{display:block;margin-top:6px;color:#71809a;font-size:12px}.rent-remaining{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 16px;border-radius:11px;background:#eff4ff;color:#364765}.rent-remaining strong{font-size:20px;color:#2449b5;font-variant-numeric:tabular-nums}.rent-entry-actions{justify-content:flex-end;padding-top:16px}.rent-entry-actions .btn{min-width:130px;padding:12px 18px}.rent-entry-form .field textarea{min-height:90px}
@media(max-width:760px){.rent-entry-heading h2{font-size:22px}.rent-entry-section{padding:15px 13px}.rent-period-grid,.rent-amount-grid{grid-template-columns:1fr}.rent-entry-form .money-input-wrap input{font-size:18px}.rent-entry-actions .btn{min-width:0}}
