*{box-sizing:border-box}
:root{
  --sidebar:#071225;
  --sidebar-2:#0A1933;
  --blue:#367CDD;
  --blue-2:#2F6FD1;
  --blue-dark:#1947AB;
  --bg:#F5F7FA;
  --surface:#FFFFFF;
  --text:#101828;
  --muted:#667085;
  --line:#E5EAF2;
  --shadow:0 18px 48px rgba(16,24,40,.075);
  --shadow-soft:0 1px 2px rgba(16,24,40,.04),0 10px 28px rgba(16,24,40,.05);
}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:258px;background:linear-gradient(180deg,#08152D 0%,#050B17 100%);color:white;padding:22px 18px 16px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.07);z-index:10}
.brand-block{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.085)}
.brand-logo{display:block;width:88px;height:auto;margin:0 0 18px;object-fit:contain}
.brand-name{font-size:18px;line-height:1.05;font-weight:800;letter-spacing:-.025em;color:#fff}
.brand-subtitle{margin-top:9px;max-width:185px;color:#8FA3C4;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;line-height:1.35}
.sidebar-nav{display:flex;flex-direction:column;gap:7px;margin-top:26px}.nav-item{display:flex;align-items:center;gap:12px;color:#C8D5EA;text-decoration:none;padding:11px 12px;border-radius:12px;font-size:14px;font-weight:750;letter-spacing:-.01em;transition:.15s ease;position:relative}.nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#8CB8FF;opacity:.95}.nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-item:hover{background:rgba(255,255,255,.055);color:#fff}.nav-item.active{background:linear-gradient(135deg,rgba(54,124,221,.28),rgba(25,71,171,.22));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.nav-item.active:before{content:"";position:absolute;left:-18px;top:10px;bottom:10px;width:3px;border-radius:999px;background:var(--blue)}.nav-item.active .nav-icon{color:#fff}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.085)}.version-box{display:flex;align-items:center;justify-content:space-between;color:#9BAAC3;font-size:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:9px 11px;margin-bottom:10px}.version-box strong{color:#fff}.logout-btn{background:rgba(54,124,221,.16);color:#E8F0FF;border:1px solid rgba(54,124,221,.24);border-radius:10px;padding:10px 12px;width:100%;cursor:pointer;font-weight:800;text-align:center;transition:.15s ease}.logout-btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.content{margin-left:258px;padding:34px 38px;min-height:100vh}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.top h1{margin:0 0 7px;font-size:30px;line-height:1.1;letter-spacing:-.04em;color:#0B1220}.top p{margin:0;color:var(--muted);font-size:15px}.top-actions{display:flex;gap:10px;align-items:center}.button,button[type=submit]{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:white;border:0;border-radius:10px;padding:11px 15px;text-decoration:none;font-weight:850;cursor:pointer;box-shadow:0 10px 22px rgba(54,124,221,.17);transition:.15s ease}.button:hover,button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(54,124,221,.22)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}.card{padding:22px;min-height:126px}.card .card-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#EEF5FF;color:var(--blue-dark);font-size:18px;margin-bottom:14px}.card span{display:block;color:#58677E;margin-bottom:8px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.card strong{display:block;font-size:36px;line-height:1;font-weight:900;letter-spacing:-.05em;color:#0B1220}.panel{padding:24px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel h2{margin:0;font-size:19px;letter-spacing:-.025em}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 13px;border-bottom:1px solid #EEF2F6;vertical-align:top}th{font-size:12px;color:#667085;text-transform:uppercase;letter-spacing:.05em}td{font-size:14px}tbody tr:hover{background:#F8FAFC}code{background:#f2f4f7;border-radius:6px;padding:3px 6px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px}.form-grid h2{grid-column:1/-1;margin:10px 0 0}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:850}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #CCD4E0;border-radius:10px;padding:12px;font:inherit;background:#fff}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(54,124,221,.14);border-color:var(--blue)}.full{grid-column:1/-1}.check{flex-direction:row!important;align-items:center;font-weight:500!important}.checkbox-list{border:1px solid #eaecf0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.alert{background:#fef3f2;color:#b42318;border:1px solid #fecdca;border-radius:12px;padding:12px;margin-bottom:16px}.badge{display:inline-block;background:#EEF5FF;color:#1849a9;border:1px solid #C7D7FE;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.form-grid small{color:#667085}.login-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#050B17,#08152D)}.login-card{width:min(440px,92vw);background:white;border-radius:22px;padding:34px;box-shadow:0 26px 70px rgba(0,0,0,.26)}.login-card h1{margin:0 0 8px;font-size:28px;letter-spacing:-.04em}.login-card p{color:#667085;margin:0 0 24px}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card label{font-weight:850;display:flex;flex-direction:column;gap:6px}.login-card input{padding:13px;border:1px solid #d0d5dd;border-radius:12px;font:inherit}@media(max-width:1000px){.cards{grid-template-columns:1fr}.content{padding:26px}}@media(max-width:800px){.sidebar{position:static;width:auto}.content{margin-left:0;padding:20px}.form-grid{grid-template-columns:1fr}.top{flex-direction:column}.sidebar-footer{margin-top:18px}}
.upload-field small{font-weight:600;color:#667085}.upload-field input[type=file]{padding:10px;background:#F8FAFC;border-style:dashed}.logo-preview{width:120px;height:64px;object-fit:contain;border:1px solid #E5EAF2;border-radius:10px;background:#fff;padding:8px;margin-top:4px}.builder-cell{display:flex;align-items:center;gap:12px}.table-logo{width:42px;height:42px;border-radius:10px;object-fit:contain;background:#F8FAFC;border:1px solid #E5EAF2;padding:5px;display:inline-flex;align-items:center;justify-content:center}.table-logo.placeholder{font-size:18px;color:#667085}

.button.secondary{background:#fff;color:#1947AB;border:1px solid #C7D7FE;box-shadow:none}.button.secondary:hover{background:#EEF5FF;box-shadow:none}.alert.success{background:#ecfdf3;color:#027a48;border-color:#abefc6}.badge.inactive{background:#F2F4F7;color:#475467;border-color:#D0D5DD}.count-pill{display:inline-flex;min-width:34px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#F8FAFC;border:1px solid #E5EAF2;font-weight:850;color:#344054}.actions-col{width:180px}.row-actions{display:flex;gap:8px;align-items:center}.row-actions form{margin:0}.action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border-radius:9px;border:1px solid #D0D5DD;background:#fff;color:#1947AB;font-size:12px;font-weight:850;text-decoration:none;cursor:pointer}.action-btn:hover{background:#EEF5FF;border-color:#C7D7FE}.action-btn.danger{color:#B42318;border-color:#FECDCA;background:#FFFBFA}.action-btn.danger:hover{background:#FEF3F2}.action-btn.disabled,.action-btn:disabled{opacity:.45;cursor:not-allowed}.empty-state{padding:30px 13px;color:#667085;text-align:center}

/* v0.3.1 - listas premium e logos de construtoras */
.list-panel{padding:0;overflow:hidden}.builder-list{width:100%}.builder-list-head,.builder-row{display:grid;grid-template-columns:minmax(260px,1.65fr) 150px 120px minmax(260px,1.35fr) 160px 165px;align-items:center;column-gap:18px}.builder-list-head{padding:18px 24px;border-bottom:1px solid #EEF2F6;color:#667085;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.builder-row{min-height:76px;padding:15px 24px;border-bottom:1px solid #EEF2F6}.builder-row:last-child{border-bottom:0}.builder-row:hover{background:#F8FAFC}.builder-main{display:flex;align-items:center;gap:14px;min-width:0}.builder-logo{width:48px;height:48px;border-radius:14px;background:#F8FAFC;border:1px solid #E5EAF2;display:flex;align-items:center;justify-content:center;flex:0 0 48px;overflow:hidden}.table-logo-img{width:100%;height:100%;object-fit:contain;padding:6px;background:#fff}.table-logo-initials{font-size:13px;font-weight:900;color:#1947AB;letter-spacing:.02em}.builder-info{min-width:0}.builder-info strong{display:block;font-size:14px;color:#0B1220;line-height:1.2}.builder-info small{display:block;color:#667085;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-cell{min-width:0}.site-cell a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1947AB;text-decoration:none}.site-cell a:hover{text-decoration:underline}.date-cell{color:#344054;font-size:13px;white-space:nowrap}.row-actions{justify-content:flex-end}.muted{color:#98A2B3}@media(max-width:1200px){.builder-list-head,.builder-row{grid-template-columns:minmax(240px,1.5fr) 120px 110px minmax(180px,1fr) 140px 145px;column-gap:12px}.content{padding-left:28px;padding-right:28px}}@media(max-width:900px){.builder-list-head{display:none}.builder-row{grid-template-columns:1fr;gap:12px;align-items:start}.row-actions{justify-content:flex-start}.date-cell:before{content:'Atualizado: ';color:#667085;font-weight:800}.site-cell:before{content:'Site: ';color:#667085;font-weight:800}.builder-row>div:nth-child(2):before{content:'Empreendimentos: ';color:#667085;font-weight:800}.builder-row>div:nth-child(3):before{content:'Status: ';color:#667085;font-weight:800}}

.current-logo-box{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;max-width:360px}
.current-logo-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.preview-logo{width:56px;height:56px;flex:0 0 56px}
.preview-logo .table-logo-img{width:100%;height:100%;object-fit:contain;display:block}
.preview-logo .table-logo-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#e8f0ff;color:#1947ab;font-weight:900}
/* v0.3.3 - cadastro imobiliário mais operacional */
.sidebar-nav{overflow:auto;padding-right:2px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:999px}.compact-form{margin-bottom:18px}.repeat-block{display:flex;flex-direction:column;gap:10px}.repeat-row{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr .7fr .7fr 2fr;gap:10px;align-items:center;background:#F8FAFC;border:1px solid #E5EAF2;border-radius:14px;padding:12px}.repeat-row input{min-width:0}.feature-list{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.form-grid textarea[name="map_embed"],.form-grid textarea[name="street_view_embed"]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.ref-list{margin-top:18px}@media(max-width:1100px){.repeat-row{grid-template-columns:1fr 1fr}.feature-list{grid-template-columns:1fr 1fr}}@media(max-width:720px){.repeat-row,.feature-list{grid-template-columns:1fr}}


/* v0.3.4 - formulários auxiliares em 4 colunas */
.ref-form{display:grid;grid-template-columns:2fr .8fr 1.2fr 180px;gap:14px;align-items:end;margin-bottom:18px;padding:22px 24px}
.ref-form label{display:flex;flex-direction:column;gap:7px;font-weight:850}
.ref-form input,.ref-form select{height:48px;border:1px solid #CCD4E0;border-radius:10px;padding:12px;font:inherit;background:#fff}
.ref-form input:focus,.ref-form select:focus{outline:3px solid rgba(54,124,221,.14);border-color:var(--blue)}
.ref-submit{display:flex;align-items:end}.ref-submit button{width:100%;height:48px;padding:0 16px;border-radius:10px}
@media(max-width:1100px){.ref-form{grid-template-columns:1fr 1fr}.ref-submit{align-items:stretch}.ref-submit button{width:auto;min-width:160px}}
@media(max-width:720px){.ref-form{grid-template-columns:1fr}.ref-submit button{width:100%}}

.nav-group-title{padding:12px 16px 6px;color:#8ea3c7;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}


/* v0.3.9 - menu e bairros padronizados */
.nav-group-title{
  margin:14px 0 4px;
  padding:10px 12px 4px;
  color:#8FA3C4;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
}

.bairros-form{
  display:grid;
  grid-template-columns: 2fr 2fr 1fr 180px;
  gap:14px;
  align-items:end;
  margin-bottom:18px;
  padding:22px 24px;
}

.bairros-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:850;
}

.bairros-form input,
.bairros-form select{
  height:48px;
  border:1px solid #CCD4E0;
  border-radius:10px;
  padding:12px;
  font:inherit;
  background:#fff;
}

.bairros-form input:focus,
.bairros-form select:focus{
  outline:3px solid rgba(54,124,221,.14);
  border-color:var(--blue);
}

.bairros-form .form-action{
  display:flex;
  align-items:end;
}

.bairros-form .form-action button{
  width:100%;
  height:48px;
  border-radius:10px;
  padding:0 18px;
  white-space:nowrap;
}

@media(max-width:980px){
  .bairros-form{grid-template-columns:1fr 1fr}
  .bairros-form .form-action button{width:auto;min-width:160px}
}
@media(max-width:720px){
  .bairros-form{grid-template-columns:1fr}
  .bairros-form .form-action button{width:100%}
}


/* v0.3.10 - tabelas/listagens com alinhamento consistente */
.list-panel{
  overflow:hidden;
}

.list-panel table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}

.list-panel thead th{
  height:46px;
  vertical-align:middle;
  padding:0 14px;
}

.list-panel tbody td{
  height:70px;
  vertical-align:middle;
  padding:14px;
}

.list-panel tbody tr{
  border-top:1px solid var(--line);
}

.list-panel tbody tr:first-child{
  border-top:1px solid var(--line);
}

.list-panel td strong{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  line-height:1.2;
}

.list-panel .badge,
.list-panel .count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  line-height:1;
}

.list-panel td form{
  margin:0;
  display:flex;
  align-items:center;
}

.list-panel td:last-child{
  text-align:left;
}

.action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  line-height:1;
}

/* tabela específica de bairros */
.list-panel table th:nth-child(1),
.list-panel table td:nth-child(1){width:28%}
.list-panel table th:nth-child(2),
.list-panel table td:nth-child(2){width:32%}
.list-panel table th:nth-child(3),
.list-panel table td:nth-child(3){width:18%}
.list-panel table th:nth-child(4),
.list-panel table td:nth-child(4){width:22%}


/* v0.3.11 - ações de edição/exclusão */
.actions-cell{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.actions-cell form{
  margin:0;
}
.actions-cell .action-btn{
  text-decoration:none;
}


/* v0.3.12 - correção definitiva das ações em tabelas */
.list-panel td.actions-cell{
  display:table-cell !important;
  vertical-align:middle !important;
  text-align:left !important;
  padding:14px !important;
}

.row-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  min-height:36px;
}

.row-actions form{
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
}

.row-actions .action-btn,
.row-actions button.action-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 14px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  margin:0 !important;
}

.list-panel tbody td{
  vertical-align:middle !important;
}

.list-panel tbody tr{
  height:68px;
}


/* v0.3.13 - padrão de formulários e CRUD completo */
input,
select,
textarea{
  font-weight:400 !important;
}

input::placeholder,
textarea::placeholder{
  font-weight:400 !important;
  color:#667085;
}

label,
.form-grid label,
.ref-form label,
.bairros-form label,
.features-form label{
  font-weight:850;
}

.current-logo-box{
  display:inline-flex;
  align-items:center;
  gap:14px;
  width:auto;
  min-width:260px;
  padding:12px 14px;
  background:#F8FAFC;
  border:1px solid #E5EAF2;
  border-radius:12px;
  margin-top:10px;
}

.current-logo-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#667085;
  font-weight:850;
}

.preview-logo,
.current-logo-box .builder-logo{
  width:72px;
  height:48px;
  border-radius:10px;
  background:#fff;
  border:1px solid #E5EAF2;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.preview-logo img,
.current-logo-box img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.features-form{
  display:grid;
  grid-template-columns:2fr 2fr 1fr;
  gap:14px;
  align-items:end;
  margin-bottom:18px;
  padding:22px 24px;
}

.features-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.features-form input,
.features-form select,
.features-form textarea{
  border:1px solid #CCD4E0;
  border-radius:10px;
  padding:12px;
  font:inherit;
  background:#fff;
  min-height:48px;
}

.features-form textarea{
  min-height:92px;
}

.features-form .full{
  grid-column:1 / -1;
}

.features-form button[type=submit]{
  width:180px;
  height:48px;
}

.features-form > button[type=submit]{
  grid-column:1 / 2;
}

@media(max-width:980px){
  .features-form{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .features-form{grid-template-columns:1fr}
  .features-form button[type=submit]{width:100%}
}


/* v0.3.14 - instalações: 3 campos + ação na mesma linha, descrição abaixo */
.features-form{
  display:grid !important;
  grid-template-columns: 2fr 2fr 1fr auto !important;
  gap:14px !important;
  align-items:end !important;
  margin-bottom:18px !important;
  padding:22px 24px !important;
}

.features-form label{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  font-weight:850 !important;
}

.features-form input,
.features-form select{
  height:48px !important;
  min-height:48px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
}

.features-form textarea{
  min-height:96px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
}

.features-form .full{
  grid-column:1 / -1 !important;
}

.features-form .form-action{
  display:flex !important;
  align-items:end !important;
}

.features-form .form-action button,
.features-form > button[type=submit]{
  width:auto !important;
  min-width:150px !important;
  height:48px !important;
  padding:0 18px !important;
  white-space:nowrap !important;
  line-height:1 !important;
  grid-column:auto !important;
}

@media(max-width:980px){
  .features-form{grid-template-columns:1fr 1fr !important}
}
@media(max-width:720px){
  .features-form{grid-template-columns:1fr !important}
  .features-form .form-action button{width:100% !important}
}


/* v0.3.15 - instalações alinhadas de verdade */
.features-form{
  display:block !important;
  margin-bottom:18px !important;
  padding:22px 24px !important;
}

.features-main-row{
  display:grid !important;
  grid-template-columns: 2fr 2fr 1fr 150px !important;
  gap:14px !important;
  align-items:end !important;
}

.features-main-row label{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  font-weight:850 !important;
  margin:0 !important;
}

.features-main-row input,
.features-main-row select{
  height:48px !important;
  min-height:48px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
  width:100% !important;
}

.features-main-row input[type="file"]{
  display:flex !important;
  align-items:center !important;
  padding:10px 12px !important;
}

.features-main-row .form-action{
  display:flex !important;
  align-items:end !important;
  height:100% !important;
}

.features-main-row .form-action button{
  width:100% !important;
  min-width:0 !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 14px !important;
  white-space:nowrap !important;
  line-height:1 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.features-help{
  display:block !important;
  margin:7px 0 14px calc(50% + 7px) !important;
  color:#51617A !important;
  font-size:12px !important;
  line-height:1.2 !important;
}

.features-form .full{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  font-weight:850 !important;
  margin:0 !important;
}

.features-form .full textarea{
  width:100% !important;
  min-height:96px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
  resize:vertical !important;
}

@media(max-width:1100px){
  .features-main-row{grid-template-columns:1fr 1fr !important}
  .features-help{margin-left:0 !important}
}
@media(max-width:720px){
  .features-main-row{grid-template-columns:1fr !important}
}


/* v0.3.16 - instalações: ordem correta e alinhamento limpo */
.features-form{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:22px 24px !important;
  margin-bottom:18px !important;
}

.features-main-row{
  display:grid !important;
  grid-template-columns: 2fr 2fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
}

.features-main-row label,
.features-form .full{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  font-weight:850 !important;
  margin:0 !important;
}

.features-main-row input,
.features-main-row select{
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
}

.features-main-row input[type="file"]{
  padding:10px 12px !important;
}

.field-help{
  display:block !important;
  color:#51617A !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:400 !important;
  margin-top:0 !important;
}

.features-form .full textarea{
  width:100% !important;
  min-height:96px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
  resize:vertical !important;
}

.features-form .form-footer{
  display:flex !important;
  justify-content:flex-start !important;
}

.features-form .form-footer button{
  width:auto !important;
  min-width:160px !important;
  height:48px !important;
  padding:0 22px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

@media(max-width:980px){
  .features-main-row{grid-template-columns:1fr 1fr !important}
}
@media(max-width:720px){
  .features-main-row{grid-template-columns:1fr !important}
  .features-form .form-footer button{width:100% !important}
}


/* v0.3.17 - tela de instalações corrigida */
.feature-admin-form{
  display:block !important;
  padding:24px !important;
  margin-bottom:18px !important;
}

.feature-admin-form .feature-row{
  display:grid !important;
  grid-template-columns: 2fr 2fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 0 16px !important;
}

.feature-admin-form label{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  margin:0 !important;
  font-weight:850 !important;
}

.feature-admin-form input,
.feature-admin-form select,
.feature-admin-form textarea{
  width:100% !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  padding:12px !important;
  font:inherit !important;
  font-weight:400 !important;
  background:#fff !important;
}

.feature-admin-form input,
.feature-admin-form select{
  height:48px !important;
  min-height:48px !important;
}

.feature-admin-form input[type="file"]{
  padding:10px 12px !important;
}

.feature-admin-form small{
  font-size:12px !important;
  line-height:1.25 !important;
  color:#51617A !important;
  font-weight:400 !important;
}

.feature-admin-form .feature-description{
  width:100% !important;
  margin:0 0 14px !important;
}

.feature-admin-form .feature-description textarea{
  min-height:110px !important;
  resize:vertical !important;
}

.feature-admin-form .feature-submit{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
}

.feature-admin-form .feature-submit button{
  width:auto !important;
  min-width:160px !important;
  height:48px !important;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

@media(max-width:980px){
  .feature-admin-form .feature-row{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:720px){
  .feature-admin-form .feature-row{
    grid-template-columns:1fr !important;
  }
  .feature-admin-form .feature-submit button{
    width:100% !important;
  }
}


/* v0.3.18 - estabilidade de mídia/upload */
.media-warning{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #F7C948;
  background:#FFF8DB;
  color:#6B4E00;
  border-radius:10px;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
}
.media-warning.compact{
  display:block;
  margin-top:7px;
  font-size:12px;
}


/* v0.3.19 - módulo de mídias */
.media-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.media-summary .card{
  min-height:96px;
}
.danger-card strong{
  color:#B42318;
}
.media-list table{
  table-layout:auto;
}
.media-file-cell{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:220px;
}
.media-thumb{
  width:48px;
  height:48px;
  border-radius:12px;
  background:#F2F5FA;
  border:1px solid #E5EAF2;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  color:#51617A;
  font-size:11px;
  font-weight:850;
}
.media-thumb img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.media-usage{
  margin-bottom:6px;
  line-height:1.2;
}
.media-usage:last-child{
  margin-bottom:0;
}
.badge.danger{
  background:#FEF3F2;
  color:#B42318;
}
.badge.warning{
  background:#FFF8DB;
  color:#7A4E00;
}
.muted{
  color:#667085;
}
.media-list code{
  display:block;
  max-width:280px;
  white-space:normal;
  word-break:break-all;
}
@media(max-width:980px){
  .media-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .media-summary{grid-template-columns:1fr}
}


/* v0.3.20 - mídia limpa + detalhe */
.compact-media-list table{
  table-layout:fixed;
}
.compact-media-list th:nth-child(1),
.compact-media-list td:nth-child(1){width:42%}
.compact-media-list th:nth-child(2),
.compact-media-list td:nth-child(2){width:20%}
.compact-media-list th:nth-child(3),
.compact-media-list td:nth-child(3){width:16%}
.compact-media-list th:nth-child(4),
.compact-media-list td:nth-child(4){width:22%}

.media-detail{
  padding:24px;
}
.media-detail-head{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
}
.media-detail-preview{
  width:96px;
  height:96px;
  border-radius:18px;
  background:#F2F5FA;
  border:1px solid #E5EAF2;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#51617A;
  font-weight:850;
}
.media-detail-preview img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.media-detail h2{
  margin:0 0 10px;
  font-size:22px;
  word-break:break-all;
}
.detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}
.detail-grid div{
  background:#F8FAFC;
  border:1px solid #E5EAF2;
  border-radius:14px;
  padding:14px;
}
.detail-grid span{
  display:block;
  color:#667085;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:850;
  margin-bottom:6px;
}
.detail-grid strong{
  font-weight:700;
}
.usage-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:22px;
}
.usage-card{
  border:1px solid #E5EAF2;
  border-radius:14px;
  padding:14px;
  background:#fff;
}
.usage-card strong,
.usage-card span{
  display:block;
}
.usage-card span{
  color:#667085;
  margin-top:4px;
}
.path-list{
  display:grid;
  gap:10px;
  margin-bottom:20px;
}
.path-list label{
  display:grid;
  gap:6px;
  font-weight:850;
}
.path-list code{
  display:block;
  padding:12px;
  border-radius:10px;
  background:#F2F5FA;
  border:1px solid #E5EAF2;
  white-space:normal;
  word-break:break-all;
  font-weight:400;
}
@media(max-width:980px){
  .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .usage-list{grid-template-columns:1fr}
}
@media(max-width:720px){
  .detail-grid{grid-template-columns:1fr}
}


/* v0.3.21 - status claro de mídia */
.media-missing-alert{
  margin-bottom:18px;
}
.media-detail-preview span{
  font-size:11px;
  letter-spacing:.04em;
  text-align:center;
}


/* v0.3.22 - ordenação por colunas em tabelas */
.sortable-th{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:28px !important;
}
.sortable-th::after{
  content:"↕";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  opacity:.35;
  font-size:12px;
  line-height:1;
}
.sortable-th.sort-asc::after{
  content:"↑";
  opacity:.9;
  color:var(--blue-dark);
}
.sortable-th.sort-desc::after{
  content:"↓";
  opacity:.9;
  color:var(--blue-dark);
}
.sortable-th:hover{
  color:var(--blue-dark);
  background:#F8FAFC;
}


/* v0.3.23 - não exibir imagens quebradas em instalações */
.builder-logo{
  overflow:hidden;
}
.builder-logo img.table-logo-img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.table-logo-initials{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:850;
  color:var(--blue-dark);
  background:#EEF5FF;
}


/* v0.3.24 - dashboard com todos os contadores */
.dashboard-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.dashboard-card{
  text-decoration:none;
  color:inherit;
  transition:.15s ease;
}
.dashboard-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.dashboard-card small{
  display:block;
  color:#667085;
  font-size:12px;
  line-height:1.35;
  margin-top:8px;
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
}
.media-dashboard-card.has-warning{
  border-color:#FDA29B;
  background:#FFFBFA;
}
.media-dashboard-card.has-warning .card-icon{
  background:#FEF3F2;
  color:#B42318;
}
@media(max-width:1180px){
  .dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .dashboard-cards{grid-template-columns:1fr}
}


/* v0.3.25 - compatibilidade com uploads legados */
.table-logo-initials,
.media-thumb span{
  font-weight:850;
}


/* v0.3.26 - plantas dinâmicas e ações em empreendimentos */
.unit-manager{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.unit-rows{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.unit-row{
  display:grid;
  grid-template-columns:1.2fr 1fr .7fr .7fr .7fr .7fr 1.6fr auto;
  gap:10px;
  align-items:center;
  background:#F8FAFC;
  border:1px solid #E5EAF2;
  border-radius:14px;
  padding:12px;
}
.unit-row input{
  min-width:0;
}
.unit-remove{
  background:#fff;
  color:#B42318;
  border:1px solid #FEE4E2;
  border-radius:10px;
  height:42px;
  padding:0 12px;
  font-weight:850;
  cursor:pointer;
}
.unit-remove:hover{
  background:#FEF3F2;
}
.action-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:1180px){
  .unit-row{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  .unit-row{grid-template-columns:1fr}
}


/* v0.3.27 - mídia persistida no banco */
.media-thumb img,
.table-logo-img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}


/* v0.3.28 - listagem de empreendimentos mais compacta */
.developments-list table{
  table-layout:fixed;
  width:100%;
}

.developments-list th:nth-child(1),
.developments-list td:nth-child(1){width:28%}

.developments-list th:nth-child(2),
.developments-list td:nth-child(2){width:14%}

.developments-list th:nth-child(3),
.developments-list td:nth-child(3){width:13%}

.developments-list th:nth-child(4),
.developments-list td:nth-child(4){width:18%}

.developments-list th:nth-child(5),
.developments-list td:nth-child(5){width:12%}

.developments-list th:nth-child(6),
.developments-list td:nth-child(6){width:6%; text-align:center;}

.developments-list th:nth-child(7),
.developments-list td:nth-child(7){width:9%;}

.developments-list tbody td{
  height:68px;
  vertical-align:middle;
}

.developments-list td strong,
.developments-list td small{
  display:block;
}

.developments-list .dev-name-cell strong,
.developments-list .location-city{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.developments-list td small{
  margin-top:4px;
  color:#667085;
  font-size:12px;
  line-height:1.2;
}

.developments-list .badge{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

.developments-list .row-actions{
  justify-content:flex-start;
  gap:6px;
}

.developments-list .action-btn{
  height:34px !important;
  min-height:34px !important;
  padding:0 11px !important;
}

@media(max-width:1100px){
  .developments-list{
    overflow-x:auto;
  }
  .developments-list table{
    min-width:1050px;
  }
}


/* v0.3.29 - listagem de empreendimentos corrigida */
.clean-developments-list{
  overflow:hidden;
}

.clean-developments-list table{
  table-layout:fixed !important;
  width:100% !important;
}

.clean-developments-list th,
.clean-developments-list td{
  vertical-align:middle !important;
}

.clean-developments-list th:nth-child(1),
.clean-developments-list td:nth-child(1){width:30% !important;}

.clean-developments-list th:nth-child(2),
.clean-developments-list td:nth-child(2){width:22% !important;}

.clean-developments-list th:nth-child(3),
.clean-developments-list td:nth-child(3){width:20% !important;}

.clean-developments-list th:nth-child(4),
.clean-developments-list td:nth-child(4){width:12% !important;}

.clean-developments-list th:nth-child(5),
.clean-developments-list td:nth-child(5){width:6% !important; text-align:center !important;}

.clean-developments-list th:nth-child(6),
.clean-developments-list td:nth-child(6){width:10% !important;}

.clean-developments-list tbody td{
  height:74px !important;
  padding:14px 12px !important;
}

.clean-developments-list td strong,
.clean-developments-list td small{
  display:block !important;
  min-width:0 !important;
}

.clean-developments-list td strong{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.2 !important;
}

.clean-developments-list td small{
  margin-top:5px !important;
  color:#667085 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.clean-developments-list .dev-actions-cell{
  padding-right:16px !important;
}

.clean-developments-list .row-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
}

.clean-developments-list .action-btn{
  height:34px !important;
  min-height:34px !important;
  padding:0 11px !important;
  font-size:13px !important;
}

.clean-developments-list .count-pill{
  margin:0 auto !important;
}

.clean-developments-list .badge{
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

@media(max-width:1180px){
  .clean-developments-list{
    overflow-x:auto !important;
  }

  .clean-developments-list table{
    min-width:980px !important;
  }
}


/* v0.3.30 - empreendimentos sem linha secundária */
.clean-developments-list th:nth-child(1),
.clean-developments-list td:nth-child(1){width:26% !important;}

.clean-developments-list th:nth-child(2),
.clean-developments-list td:nth-child(2){width:15% !important;}

.clean-developments-list th:nth-child(3),
.clean-developments-list td:nth-child(3){width:15% !important;}

.clean-developments-list th:nth-child(4),
.clean-developments-list td:nth-child(4){width:22% !important;}

.clean-developments-list th:nth-child(5),
.clean-developments-list td:nth-child(5){width:10% !important;}

.clean-developments-list th:nth-child(6),
.clean-developments-list td:nth-child(6){width:5% !important; text-align:center !important;}

.clean-developments-list th:nth-child(7),
.clean-developments-list td:nth-child(7){width:7% !important;}

.clean-developments-list tbody td{
  height:62px !important;
}

.clean-developments-list td small{
  display:none !important;
}

.clean-developments-list td{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.clean-developments-list .actions-cell,
.clean-developments-list .dev-actions-cell{
  overflow:visible !important;
}

.clean-developments-list .row-actions{
  justify-content:flex-end !important;
}


/* v0.3.33 - ordenação visual de mídias do empreendimento */
.media-sort-section{
  border:1px solid #E5EAF2;
  border-radius:16px;
  padding:16px;
  background:#F8FAFC;
}

.media-sort-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.media-sort-header h3{
  margin:0 0 4px;
  font-size:16px;
}

.media-sort-header p{
  margin:0;
  color:#667085;
  font-size:13px;
}

.upload-inline{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:260px;
  font-weight:850;
}

.upload-inline input{
  font-weight:400 !important;
}

.sortable-media-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:12px;
  min-height:72px;
}

.sortable-media-grid:empty::before{
  content:"Nenhuma imagem cadastrada ainda.";
  color:#667085;
  font-size:13px;
  padding:16px;
  border:1px dashed #CCD4E0;
  border-radius:12px;
  background:#fff;
  grid-column:1 / -1;
}

.sortable-media-item{
  position:relative;
  height:110px;
  border:1px solid #D7DEE9;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  cursor:grab;
}

.sortable-media-item.dragging{
  opacity:.45;
  border-color:var(--blue);
}

.sortable-media-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.drag-handle{
  position:absolute;
  left:8px;
  top:8px;
  width:26px;
  height:26px;
  border-radius:8px;
  background:rgba(15,23,42,.72);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  z-index:2;
}

.media-remove-btn{
  position:absolute;
  right:8px;
  top:8px;
  width:26px;
  height:26px;
  border:0;
  border-radius:8px;
  background:rgba(180,35,24,.9);
  color:#fff;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}

@media(max-width:760px){
  .media-sort-header{
    flex-direction:column;
  }
  .upload-inline{
    width:100%;
    min-width:0;
  }
}


/* v0.3.34 - upload assíncrono das mídias do empreendimento */
.media-uploading{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F8FAFC;
  border-style:dashed;
  cursor:default;
}

.media-uploading .upload-progress{
  font-size:13px;
  font-weight:850;
  color:#51617A;
}

.media-upload-error{
  border-color:#FDA29B;
  background:#FEF3F2;
}

.media-upload-error .upload-progress{
  color:#B42318;
}

button[type="submit"]:disabled{
  opacity:.65;
  cursor:not-allowed;
}

/* v0.3.35 - vínculo automático de mídias */
.sortable-media-grid[data-status="saving"]{outline:2px solid rgba(54,124,221,.25);outline-offset:3px}
.sortable-media-grid[data-status="saved"]{outline:2px solid rgba(34,197,94,.35);outline-offset:3px}
.sortable-media-grid[data-status="error"]{outline:2px solid rgba(180,35,24,.35);outline-offset:3px}


/* v0.3.37 - mídia principal atual + seleção múltipla */
.cover-current-field{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.current-media-preview{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px;
  border:1px solid #E5EAF2;
  background:#F8FAFC;
  border-radius:12px;
  max-width:420px;
}

.current-media-preview img{
  width:78px;
  height:56px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid #E5EAF2;
  background:#fff;
}

.current-media-preview strong,
.current-media-preview small{
  display:block;
}

.current-media-preview small{
  color:#667085;
  margin-top:3px;
}

.media-bulk-form{
  display:block;
}

.media-bulk-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.media-bulk-actions small{
  color:#667085;
}

.media-check-cell{
  width:44px !important;
  text-align:center;
}

.compact-media-list th:nth-child(1),
.compact-media-list td:nth-child(1){width:44px !important;}

.compact-media-list th:nth-child(2),
.compact-media-list td:nth-child(2){width:40% !important;}

.compact-media-list th:nth-child(3),
.compact-media-list td:nth-child(3){width:20% !important;}

.compact-media-list th:nth-child(4),
.compact-media-list td:nth-child(4){width:16% !important;}

.compact-media-list th:nth-child(5),
.compact-media-list td:nth-child(5){width:24% !important;}


/* v0.3.40 - planta com imagem e instalações com ícones */
.unit-row{
  grid-template-columns:1.1fr .9fr .55fr .55fr .55fr .55fr 92px 98px auto !important;
}

.unit-image-box{
  width:82px;
  height:58px;
  border:1px solid #D7DEE9;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#667085;
  font-size:11px;
  text-align:center;
}

.unit-image-box img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.unit-image-upload{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  font-size:12px !important;
  font-weight:850 !important;
}

.unit-image-upload input{
  font-size:11px !important;
  padding:7px !important;
  height:auto !important;
}

.feature-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap:10px !important;
}

.feature-select-card{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  border:1px solid #E5EAF2 !important;
  border-radius:12px !important;
  padding:10px 12px !important;
  background:#fff !important;
  margin:0 !important;
}

.feature-select-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  background:#F2F5FA;
  border:1px solid #E5EAF2;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.feature-select-icon img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.feature-select-icon span{
  font-size:11px;
  font-weight:850;
  color:var(--blue-dark);
}

@media(max-width:1180px){
  .unit-row{grid-template-columns:1fr 1fr 1fr !important}
}
@media(max-width:720px){
  .unit-row{grid-template-columns:1fr !important}
}


/* v0.3.41 - campos de tipos de unidade mais compactos */
.unit-row{
  grid-template-columns: 1.35fr .72fr .48fr .48fr .48fr .48fr 82px 86px 82px !important;
  gap:8px !important;
}

.unit-row input{
  height:42px !important;
  padding:9px 11px !important;
  font-size:14px !important;
}

.unit-row input[name="unit_area"],
.unit-row input[name="unit_bedrooms"],
.unit-row input[name="unit_suites"],
.unit-row input[name="unit_bathrooms"],
.unit-row input[name="unit_parking"]{
  min-width:0 !important;
}

.unit-image-box{
  width:74px !important;
  height:52px !important;
}

.unit-image-upload{
  width:82px !important;
  min-width:82px !important;
}

.unit-image-upload input{
  width:82px !important;
  padding:5px !important;
  font-size:10px !important;
}

.unit-remove{
  width:82px !important;
  padding:0 10px !important;
}

@media(max-width:1320px){
  .unit-row{
    grid-template-columns: 1.2fr .7fr .45fr .45fr .45fr .45fr 74px 82px 78px !important;
    gap:7px !important;
  }
}

@media(max-width:1180px){
  .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }
  .unit-image-upload,
  .unit-image-upload input,
  .unit-remove{
    width:auto !important;
    min-width:0 !important;
  }
}


/* v0.3.42 - ajuste FORÇADO da linha de tipos de unidade */
.unit-manager .unit-row{
  display:grid !important;
  grid-template-columns:
    minmax(190px, 1.35fr)
    96px
    64px
    64px
    74px
    64px
    78px
    82px
    78px !important;
  gap:8px !important;
  align-items:center !important;
}

.unit-manager .unit-row input.unit-field-area{
  width:96px !important;
  max-width:96px !important;
  min-width:96px !important;
}

.unit-manager .unit-row input.unit-field-small{
  width:64px !important;
  max-width:74px !important;
  min-width:58px !important;
  text-align:center !important;
}

.unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
  width:74px !important;
  max-width:74px !important;
}

.unit-manager .unit-row input.unit-field-name{
  width:100% !important;
  min-width:180px !important;
}

.unit-manager .unit-row input{
  height:40px !important;
  padding:8px 9px !important;
  font-size:14px !important;
}

.unit-manager .unit-image-box{
  width:70px !important;
  height:50px !important;
}

.unit-manager .unit-image-upload{
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;
}

.unit-manager .unit-image-upload input{
  width:82px !important;
  max-width:82px !important;
  font-size:10px !important;
  padding:4px !important;
}

.unit-manager .unit-remove{
  width:78px !important;
  min-width:78px !important;
  max-width:78px !important;
  padding:0 8px !important;
}

@media(max-width:1180px){
  .unit-manager .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }
  .unit-manager .unit-row input.unit-field-area,
  .unit-manager .unit-row input.unit-field-small,
  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input,
  .unit-manager .unit-remove{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
}


/* v0.3.43 - dimensionamento definitivo da linha de tipos de unidade */
.unit-manager .unit-row{
  display:grid !important;
  grid-template-columns:
    170px
    92px
    58px
    58px
    68px
    58px
    72px
    86px
    78px !important;
  gap:8px !important;
  align-items:center !important;
  justify-content:start !important;
}

.unit-manager .unit-row input.unit-field-name{
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
}

.unit-manager .unit-row input.unit-field-area{
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}

.unit-manager .unit-row input.unit-field-small{
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  text-align:center !important;
}

.unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
}

.unit-manager .unit-row input{
  height:40px !important;
  padding:8px 9px !important;
  font-size:14px !important;
}

.unit-manager .unit-image-box{
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:50px !important;
}

.unit-manager .unit-image-upload{
  width:86px !important;
  min-width:86px !important;
  max-width:86px !important;
}

.unit-manager .unit-image-upload input{
  width:86px !important;
  min-width:86px !important;
  max-width:86px !important;
  overflow:hidden !important;
  font-size:10px !important;
  padding:4px !important;
}

.unit-manager .unit-remove{
  width:78px !important;
  min-width:78px !important;
  max-width:78px !important;
  padding:0 8px !important;
}

@media(max-width:1180px){
  .unit-manager .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }

  .unit-manager .unit-row input.unit-field-name,
  .unit-manager .unit-row input.unit-field-area,
  .unit-manager .unit-row input.unit-field-small,
  .unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small,
  .unit-manager .unit-image-box,
  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input,
  .unit-manager .unit-remove{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* v0.3.44 - linha de unidade com hierarquia visual correta */
.unit-manager .unit-row{
  display:grid !important;
  grid-template-columns: 240px 92px 66px 66px 66px 66px 92px 92px 44px !important;
  gap:8px !important;
  align-items:center !important;
  justify-content:start !important;
}

.unit-manager .unit-row input.unit-field-name{
  width:240px !important;
  min-width:240px !important;
  max-width:240px !important;
}

.unit-icon-field{
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}

.unit-icon-field span{
  width:28px !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#EEF5FF !important;
  color:var(--blue-dark) !important;
  font-size:11px !important;
  font-weight:850 !important;
  border-right:1px solid #D7E5FF !important;
  flex:0 0 auto !important;
}

.unit-icon-field input{
  border:0 !important;
  border-radius:0 !important;
  height:100% !important;
  min-height:0 !important;
  padding:8px 8px !important;
  text-align:center !important;
  box-shadow:none !important;
}

.unit-icon-field input:focus{
  outline:none !important;
}

.unit-manager .unit-row .unit-icon-field:nth-of-type(1){
  width:92px !important;
}

.unit-manager .unit-row input.unit-field-area{
  width:64px !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-row input.unit-field-small,
.unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
  width:38px !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-image-box{
  width:92px !important;
  height:58px !important;
  min-width:92px !important;
  max-width:92px !important;
}

.unit-manager .unit-image-upload{
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}

.unit-manager .unit-image-upload::before{
  content:"Imagem" !important;
  position:absolute !important;
  pointer-events:none !important;
  font-size:12px !important;
  font-weight:850 !important;
  color:var(--blue-dark) !important;
}

.unit-manager .unit-image-upload input{
  width:92px !important;
  height:40px !important;
  opacity:0 !important;
  cursor:pointer !important;
  padding:0 !important;
}

.unit-manager .unit-remove.icon-only{
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:38px !important;
  padding:0 !important;
  border-radius:10px !important;
  font-size:22px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

@media(max-width:1180px){
  .unit-manager .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }

  .unit-manager .unit-row input.unit-field-name,
  .unit-manager .unit-image-box,
  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input,
  .unit-manager .unit-remove.icon-only{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .unit-manager .unit-remove.icon-only{
    width:100% !important;
  }
}


/* v0.3.45 - linha de unidades sem campos espremidos */
.unit-manager .unit-row{
  display:grid !important;
  grid-template-columns:
    280px
    120px
    88px
    88px
    88px
    88px
    112px
    124px
    46px
    1fr !important;
  gap:10px !important;
  align-items:center !important;
  justify-content:start !important;
  width:100% !important;
}

.unit-manager .unit-row input.unit-field-name{
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
}

.unit-manager .unit-row .unit-icon-field{
  height:42px !important;
}

.unit-manager .unit-row .unit-icon-field span{
  width:34px !important;
  font-size:12px !important;
}

.unit-manager .unit-row input.unit-field-area{
  width:86px !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-row input.unit-field-small,
.unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
  width:54px !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-image-box{
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
  height:64px !important;
}

.unit-manager .unit-image-upload{
  width:124px !important;
  min-width:124px !important;
  max-width:124px !important;
  height:42px !important;
  border:1px solid #CCD4E0 !important;
  border-radius:10px !important;
  background:#fff !important;
  position:relative !important;
}

.unit-manager .unit-image-upload::before{
  content:"Selecionar imagem" !important;
  font-size:12px !important;
}

.unit-manager .unit-image-upload input{
  width:124px !important;
  min-width:124px !important;
  max-width:124px !important;
  height:42px !important;
}

.unit-manager .unit-remove.icon-only{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
}

@media(max-width:1380px){
  .unit-manager .unit-row{
    grid-template-columns:
      240px
      108px
      78px
      78px
      78px
      78px
      96px
      114px
      44px
      1fr !important;
  }

  .unit-manager .unit-row input.unit-field-name{
    width:240px !important;
    min-width:240px !important;
    max-width:240px !important;
  }

  .unit-manager .unit-image-box{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
  }

  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input{
    width:114px !important;
    min-width:114px !important;
    max-width:114px !important;
  }

  .unit-manager .unit-row input.unit-field-small,
  .unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
    width:44px !important;
  }
}

@media(max-width:1180px){
  .unit-manager .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }

  .unit-manager .unit-row input.unit-field-name,
  .unit-manager .unit-image-box,
  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input,
  .unit-manager .unit-remove.icon-only{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* v0.3.46 - tipos de unidade ocupando a linha inteira */
.unit-manager .unit-row{
  display:grid !important;
  grid-template-columns:
    minmax(260px, 2fr)
    minmax(110px, .75fr)
    minmax(82px, .52fr)
    minmax(82px, .52fr)
    minmax(82px, .52fr)
    minmax(82px, .52fr)
    112px
    140px
    46px !important;
  gap:12px !important;
  align-items:center !important;
  justify-content:stretch !important;
  width:100% !important;
}

.unit-manager .unit-row input.unit-field-name{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-row .unit-icon-field{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-row input.unit-field-area,
.unit-manager .unit-row input.unit-field-small,
.unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-image-box{
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
  height:64px !important;
}

.unit-manager .unit-image-upload{
  width:140px !important;
  min-width:140px !important;
  max-width:140px !important;
  height:42px !important;
}

.unit-manager .unit-image-upload input{
  width:140px !important;
  min-width:140px !important;
  max-width:140px !important;
  height:42px !important;
}

.unit-manager .unit-remove.icon-only{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
}

@media(max-width:1380px){
  .unit-manager .unit-row{
    grid-template-columns:
      minmax(220px, 1.6fr)
      minmax(96px, .7fr)
      minmax(72px, .48fr)
      minmax(72px, .48fr)
      minmax(72px, .48fr)
      minmax(72px, .48fr)
      96px
      124px
      44px !important;
    gap:10px !important;
  }

  .unit-manager .unit-image-box{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
  }

  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input{
    width:124px !important;
    min-width:124px !important;
    max-width:124px !important;
  }
}

@media(max-width:1180px){
  .unit-manager .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }

  .unit-manager .unit-row input.unit-field-name,
  .unit-manager .unit-row .unit-icon-field,
  .unit-manager .unit-image-box,
  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input,
  .unit-manager .unit-remove.icon-only{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* v0.3.47 - remove coluna fantasma entre metragem e quartos */
.unit-manager .unit-row{
  display:grid !important;
  grid-template-columns:
    minmax(260px, 2fr)
    120px
    88px
    88px
    88px
    88px
    112px
    140px
    46px !important;
  column-gap:10px !important;
  row-gap:10px !important;
  align-items:center !important;
  justify-content:stretch !important;
  width:100% !important;
}

.unit-manager .unit-row > *{
  min-width:0 !important;
}

.unit-manager .unit-row input.unit-field-name{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-row .unit-icon-field{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-row input.unit-field-area,
.unit-manager .unit-row input.unit-field-small,
.unit-manager .unit-row input[name="unit_bathrooms"].unit-field-small{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

.unit-manager .unit-image-box{
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
}

.unit-manager .unit-image-upload,
.unit-manager .unit-image-upload input{
  width:140px !important;
  min-width:140px !important;
  max-width:140px !important;
}

.unit-manager .unit-remove.icon-only{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
}

@media(max-width:1380px){
  .unit-manager .unit-row{
    grid-template-columns:
      minmax(220px, 1.6fr)
      110px
      78px
      78px
      78px
      78px
      96px
      124px
      44px !important;
    column-gap:8px !important;
  }

  .unit-manager .unit-image-box{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
  }

  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input{
    width:124px !important;
    min-width:124px !important;
    max-width:124px !important;
  }
}

@media(max-width:1180px){
  .unit-manager .unit-row{
    grid-template-columns:1fr 1fr 1fr !important;
  }

  .unit-manager .unit-image-box,
  .unit-manager .unit-image-upload,
  .unit-manager .unit-image-upload input,
  .unit-manager .unit-remove.icon-only{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

/* v0.3.48 - sites conectados/API */
.token-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.token-row input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.token-preview{display:inline-block;padding:6px 8px;border-radius:8px;background:#F2F5FA;border:1px solid #E5EAF2}
.site-dev-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:10px!important}
.site-dev-list .check{border:1px solid #E5EAF2;background:#fff;border-radius:12px;padding:12px}
.api-box{display:grid;gap:8px}.api-box code{display:block;padding:10px 12px;border:1px solid #E5EAF2;background:#F8FAFC;border-radius:10px}

/* v0.3.53 - sites conectados */
.token-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.token-row input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.token-preview{display:inline-block;padding:6px 8px;border-radius:8px;background:#F2F5FA;border:1px solid #E5EAF2}
.site-dev-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:10px!important}
.site-dev-list .check{border:1px solid #E5EAF2;background:#fff;border-radius:12px;padding:12px}
.api-box{display:grid;gap:8px}.api-box code{display:block;padding:10px 12px;border:1px solid #E5EAF2;background:#F8FAFC;border-radius:10px}


/* v0.3.56 - correção da coluna de ações em Sites Conectados */
.sites-list-panel table{
  table-layout: fixed !important;
  width: 100% !important;
}

.sites-list-panel th:nth-child(1),
.sites-list-panel td:nth-child(1){
  width: 28% !important;
}

.sites-list-panel th:nth-child(2),
.sites-list-panel td:nth-child(2){
  width: 30% !important;
}

.sites-list-panel th:nth-child(3),
.sites-list-panel td:nth-child(3){
  width: 18% !important;
}

.sites-list-panel th:nth-child(4),
.sites-list-panel td:nth-child(4){
  width: 10% !important;
  text-align: center !important;
}

.sites-list-panel th:nth-child(5),
.sites-list-panel td:nth-child(5){
  width: 8% !important;
  text-align: center !important;
}

.sites-list-panel th:nth-child(6),
.sites-list-panel td:nth-child(6){
  width: 190px !important;
  min-width: 190px !important;
  max-width: 190px !important;
  text-align: right !important;
}

.sites-actions-cell .row-actions{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.sites-actions-cell .row-actions form{
  margin: 0 !important;
  display: inline-flex !important;
}

.sites-actions-cell .action-btn{
  height: 38px !important;
  min-width: 76px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

@media(max-width: 1180px){
  .sites-list-panel table{
    table-layout: auto !important;
  }

  .sites-list-panel th:nth-child(6),
  .sites-list-panel td:nth-child(6){
    width: 170px !important;
    min-width: 170px !important;
  }
}
