﻿:root{--bg:#f3f5f8;--card:#fff;--text:#111827;--muted:#6b7280;--primary:#1d4ed8;--primary2:#0f172a;--border:#e5e7eb;--shadow:0 10px 25px rgba(15,23,42,.08);--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)!important;color:var(--text)!important;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif!important;line-height:1.45}body>h1:first-child,body>.page-title:first-child{max-width:1700px;margin:24px auto 10px!important;padding:0 18px}body>nav:first-of-type,body>div:first-child:not(.container):not(.page):not(.card){max-width:1700px;margin:18px auto!important}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container,.page,main{max-width:1700px;margin:0 auto;padding:18px}.card,section,form,table{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}section,form{padding:22px;margin:18px auto;max-width:1700px}h1{font-size:34px;margin:0 0 14px}h2{font-size:22px;margin:0 0 14px}nav{display:flex;flex-wrap:wrap;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}nav a{display:inline-flex;align-items:center;padding:8px 11px;border-radius:10px;color:#1f2937;font-weight:600}nav a:hover{background:#eef2ff;text-decoration:none;color:var(--primary)}label{display:block;margin:12px 0 6px;font-weight:650;color:#374151}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff!important;color:#111827!important;font:inherit}textarea{min-height:110px}button,input[type=submit],.btn{display:inline-flex;width:auto;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--primary2);color:white!important;padding:10px 16px;font-weight:700;cursor:pointer;margin-top:10px}button:hover,input[type=submit]:hover,.btn:hover{filter:brightness(1.08);text-decoration:none}table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;margin:18px auto}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#f8fafc;color:#374151;font-weight:800}tr:last-child td{border-bottom:0}.muted,.small{color:var(--muted)}.alert,.error{max-width:1700px;margin:16px auto;padding:14px 16px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.ok,.success{max-width:1700px;margin:16px auto;padding:14px 16px;border-radius:12px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}@media(max-width:760px){.container,.page,main,section,form,nav{margin-left:10px!important;margin-right:10px!important;padding:14px}h1{font-size:28px}table{font-size:14px;display:block;overflow:auto}}
input::placeholder,textarea::placeholder{color:#555!important;opacity:1}
.property-edit-form .property-edit-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:center;gap:10px 18px;margin:14px 0}.property-edit-form .property-status-options{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin:14px 0}.property-edit-form .property-edit-check{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;font-weight:650;line-height:1.2;min-height:28px}.property-edit-form .property-edit-check input[type=checkbox]{width:16px;min-width:16px;height:16px;margin:0;flex:0 0 16px}.property-edit-form .property-inactive-date{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:650}.property-edit-form .property-inactive-date input[type=date]{width:auto;min-width:155px}.property-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:14px}.property-photo-card{margin:0;border:1px solid var(--border);border-radius:8px;padding:10px;background:#fff}.property-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.property-photo-card figcaption{font-size:13px;margin-top:8px;word-break:break-word}.property-photo-card form{box-shadow:none;border:0;padding:0;margin:8px 0 0}@media(max-width:760px){.property-edit-form .property-edit-options{grid-template-columns:1fr}.property-edit-form .property-status-options{display:grid;grid-template-columns:1fr;align-items:start}}
.money-nowrap,.deposit-cell{white-space:nowrap}.deposit-cell{min-width:170px}.rental-contracts-table{font-size:14px}.rental-contracts-table td,.rental-contracts-table th{vertical-align:top}.rental-contracts-table details{margin:0 0 6px}.rental-contracts-table details form{box-shadow:none;border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:12px}.rental-contracts-table .btn{padding:7px 10px;border-radius:8px;margin:4px 4px 0 0}.alert-inline{display:inline-block;white-space:normal;color:#9a3412;font-weight:700}@media(max-width:760px){.rental-contracts-table{display:block;overflow-x:auto;white-space:normal}.rental-contracts-table .deposit-cell,.rental-contracts-table .money-nowrap{white-space:nowrap}}

/* Tabelas principais de listagem: largura uniforme sem efeito de zoom. */
.responsive-table,
.page > table,
.container > table,
main > table,
:is(.page,.container,main,section,.card) table:has(tr > th:nth-child(6)) {
  width:100%;
  min-width:1200px;
  table-layout:auto;
  font-size:14px;
}
.responsive-table th,
.responsive-table td,
.page > table > tbody > tr > th,
.page > table > tbody > tr > td,
.container > table > tbody > tr > th,
.container > table > tbody > tr > td,
main > table > tbody > tr > th,
main > table > tbody > tr > td {
  padding:12px 14px;
  vertical-align:top;
}
:is(.page,.container,main,section,.card) table:has(tr > th:nth-child(6)) th,
:is(.page,.container,main,section,.card) table:has(tr > th:nth-child(6)) td {
  padding:12px 14px;
  vertical-align:top;
}
.responsive-table .col-id,
.page > table .col-id,
.container > table .col-id,
main > table .col-id {
  width:70px;
  white-space:nowrap;
}
.responsive-table .col-date,
.page > table .col-date,
.container > table .col-date,
main > table .col-date {
  width:118px;
  white-space:nowrap;
}
.responsive-table .col-money,
.page > table .col-money,
.container > table .col-money,
main > table .col-money {
  width:130px;
  white-space:nowrap;
  text-align:right;
}
.responsive-table .col-actions,
.page > table .col-actions,
.container > table .col-actions,
main > table .col-actions {
  width:145px;
}
.responsive-table .col-check,
.page > table .col-check,
.container > table .col-check,
main > table .col-check {
  width:42px;
  text-align:center;
}
.responsive-table .col-check input[type=checkbox],
.page > table .col-check input[type=checkbox],
.container > table .col-check input[type=checkbox],
main > table .col-check input[type=checkbox] {
  width:16px;
  height:16px;
  margin:0;
}
@media(max-width:760px){
  .responsive-table,
  .page > table,
  .container > table,
  main > table,
  :is(.page,.container,main,section,.card) table:has(tr > th:nth-child(6)) {
    display:block;
    overflow-x:auto;
    min-width:960px;
    white-space:normal;
  }
}

/* Largura comum das páginas principais, usando /documents como referência. */
.page-shell,
.page-container,
.main-container,
.content-wrap,
.list-page,
.wide-page {
  width:100%;
  max-width:1700px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:18px;
  padding-right:18px;
}
body > .container,
body > .page,
body > main,
body > section:has(table),
body > form:has(table),
body > .card:has(table),
:is(.container,.page,main) > section:has(table),
:is(.container,.page,main) > form:has(table),
:is(.container,.page,main) > .card:has(table) {
  width:100%;
  max-width:1700px!important;
}
:is(section,form,.card):has(.responsive-table),
:is(section,form,.card):has(table:has(tr > th:nth-child(6))) {
  width:100%;
  max-width:1700px!important;
}
:is(section,form,.card):has(.responsive-table) > div[style*="overflow-x"],
:is(section,form,.card):has(table:has(tr > th:nth-child(6))) > div[style*="overflow-x"] {
  width:100%;
}
@media(max-width:760px){
  .page-shell,
  .page-container,
  .main-container,
  .content-wrap,
  .list-page,
  .wide-page,
  body > .container,
  body > .page,
  body > main,
  body > section:has(table),
  body > form:has(table),
  body > .card:has(table) {
    max-width:none!important;
    margin-left:10px!important;
    margin-right:10px!important;
    padding-left:14px;
    padding-right:14px;
  }
}
