:root{
  --a-navy:#0B1D3A;
  --a-navy-light:#123466;
  --a-orange:#F58220;
  --a-orange-dark:#DF6F12;
  --a-ink:#22252A;
  --a-ink-soft:#686868;
  --a-line:#E6E8EB;
  --a-bg-alt:#F7F8FA;
  --a-radius:10px;
  --a-shadow:0 4px 18px rgba(11,29,58,0.08);
}
*{box-sizing:border-box;}
body.admin-body{
  margin:0; background:var(--a-bg-alt); color:var(--a-ink);
  font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a{color:inherit;}
.a-shell{display:flex; min-height:100vh;}
.a-sidebar{
  width:230px; background:var(--a-navy); color:#fff; flex-shrink:0;
  display:flex; flex-direction:column; padding:22px 0;
}
.a-sidebar .a-brand{ display:flex; align-items:center; gap:10px; padding:0 20px 22px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:16px;}
.a-sidebar .a-brand img{ height:32px; border-radius:6px; background:#fff; padding:2px;}
.a-sidebar .a-brand span{ font-family:"Plus Jakarta Sans", sans-serif; font-weight:700; font-size:1rem;}
.a-nav a{ display:block; padding:11px 20px; color:#C6CEDC; text-decoration:none; font-size:.92rem; font-weight:500;}
.a-nav a:hover, .a-nav a.active{ color:#fff; background:rgba(255,255,255,.06); border-left:3px solid var(--a-orange); padding-left:17px;}
.a-sidebar .a-logout{ margin-top:auto; padding:16px 20px 0;}
.a-sidebar .a-logout button{ width:100%; background:transparent; border:1px solid rgba(255,255,255,.25); color:#fff; padding:9px; border-radius:8px; cursor:pointer; font-size:.85rem;}
.a-sidebar .a-logout button:hover{ background:rgba(255,255,255,.08);}

.a-main{ flex:1; padding:28px 34px; max-width:1400px;}
.a-topline{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; flex-wrap:wrap; gap:14px;}
.a-topline h1{ font-family:"Plus Jakarta Sans", sans-serif; font-size:1.5rem; margin:0;}
.a-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--a-orange); color:#fff; border:none; padding:11px 18px; border-radius:8px; font-weight:600; font-size:.92rem; cursor:pointer; text-decoration:none;}
.a-btn:hover{ background:var(--a-orange-dark);}
.a-btn.secondary{ background:#fff; color:var(--a-navy); border:1px solid var(--a-line);}
.a-btn.secondary:hover{ background:var(--a-bg-alt);}
.a-btn.navy{ background:var(--a-navy);}
.a-btn.navy:hover{ background:var(--a-navy-light);}
.a-btn.danger{ background:#fff; color:#C0392B; border:1px solid #F0C6C0;}
.a-btn.danger:hover{ background:#FDF1EF;}
.a-btn.small{ padding:6px 11px; font-size:.78rem; border-radius:6px;}

.a-stats{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-bottom:26px;}
.a-stat{ background:#fff; border:1px solid var(--a-line); border-radius:var(--a-radius); padding:16px; text-align:center;}
.a-stat strong{ display:block; font-family:"Plus Jakarta Sans", sans-serif; font-size:1.6rem; color:var(--a-navy);}
.a-stat span{ font-size:.78rem; color:var(--a-ink-soft);}

.a-card{ background:#fff; border:1px solid var(--a-line); border-radius:var(--a-radius); box-shadow:var(--a-shadow); padding:20px; margin-bottom:20px;}

.a-filters{ display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-bottom:18px;}
.a-filters .fld{ display:flex; flex-direction:column; gap:4px;}
.a-filters label{ font-size:.75rem; color:var(--a-ink-soft); font-weight:600;}
.a-filters input, .a-filters select{ border:1px solid var(--a-line); border-radius:8px; padding:9px 10px; font-size:.88rem; font-family:inherit; min-width:150px;}
.a-filters button{ align-self:end;}

table.a-table{ width:100%; border-collapse:collapse; font-size:.86rem;}
table.a-table th{ text-align:left; padding:10px 12px; color:var(--a-ink-soft); font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; border-bottom:1px solid var(--a-line);}
table.a-table td{ padding:10px 12px; border-bottom:1px solid var(--a-line); vertical-align:middle;}
table.a-table tr:hover{ background:var(--a-bg-alt);}
.a-thumb{ width:56px; height:42px; object-fit:cover; border-radius:6px; border:1px solid var(--a-line); background:var(--a-bg-alt);}
.a-badge{ display:inline-block; padding:3px 9px; border-radius:100px; font-size:.72rem; font-weight:700;}
.a-badge.venta{ background:rgba(245,130,32,.12); color:var(--a-orange-dark);}
.a-badge.alquiler{ background:rgba(11,29,58,.1); color:var(--a-navy);}
.a-badge.publicada{ background:#E4F6EA; color:#1E8449;}
.a-badge.borrador{ background:#F1F2F4; color:#5A6270;}
.a-tags{ display:flex; gap:5px; flex-wrap:wrap;}
.a-tag{ font-size:.68rem; background:var(--a-bg-alt); border:1px solid var(--a-line); padding:2px 7px; border-radius:100px; color:var(--a-ink-soft);}
.a-actions{ display:flex; gap:6px; flex-wrap:wrap;}
.a-empty{ padding:40px; text-align:center; color:var(--a-ink-soft);}

/* Formulario */
.a-form-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:16px;}
.a-form-grid.full{ grid-template-columns:1fr;}
.a-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.a-field label{ font-size:.82rem; font-weight:600; color:var(--a-ink);}
.a-field input, .a-field select, .a-field textarea{
  border:1px solid var(--a-line); border-radius:8px; padding:10px 12px; font-size:.9rem; font-family:inherit; width:100%;
}
.a-field textarea{ min-height:90px; resize:vertical;}
.a-section-title{ font-family:"Plus Jakarta Sans", sans-serif; font-weight:700; font-size:1.05rem; margin:26px 0 14px; padding-bottom:8px; border-bottom:2px solid var(--a-line); color:var(--a-navy);}
.a-section-title:first-child{ margin-top:0;}
.a-checkbox-row{ display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--a-line); border-radius:8px; margin-bottom:8px; background:var(--a-bg-alt);}
.a-checkbox-row input{ width:auto;}
.a-checkbox-row label{ font-size:.88rem; font-weight:500; margin:0;}
.a-features-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.a-hint{ font-size:.78rem; color:var(--a-ink-soft); margin-top:-4px; margin-bottom:12px;}

.a-photos-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; margin-bottom:16px;}
.a-photo{ position:relative; border:1px solid var(--a-line); border-radius:8px; overflow:hidden; background:#fff; cursor:grab;}
.a-photo img{ width:100%; height:110px; object-fit:cover; display:block;}
.a-photo .a-photo-actions{ display:flex; justify-content:space-between; padding:6px; background:#fff; gap:4px;}
.a-photo .a-star{ position:absolute; top:6px; left:6px; background:rgba(11,29,58,.85); color:#F5B942; border-radius:100px; padding:2px 7px; font-size:.72rem; font-weight:700;}
.a-dropzone{
  border:2px dashed var(--a-line); border-radius:var(--a-radius); padding:30px; text-align:center; color:var(--a-ink-soft);
  background:var(--a-bg-alt); cursor:pointer; margin-bottom:16px;
}
.a-dropzone.dragover{ border-color:var(--a-orange); background:#FDECDD;}

.a-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--a-navy);}
.a-login-card{ background:#fff; border-radius:14px; padding:36px; width:100%; max-width:360px; box-shadow:0 20px 60px rgba(0,0,0,.3);}
.a-login-card img{ height:36px; margin-bottom:18px;}
.a-login-card h2{ font-family:"Plus Jakarta Sans", sans-serif; margin:0 0 20px;}
.a-error{ background:#FDECEC; color:#C0392B; padding:10px 12px; border-radius:8px; font-size:.85rem; margin-bottom:14px;}

@media (max-width: 900px){
  .a-shell{ flex-direction:column;}
  .a-sidebar{ width:100%; flex-direction:row; overflow-x:auto; padding:12px;}
  .a-sidebar .a-brand{ display:none;}
  .a-nav{ display:flex;}
  .a-nav a{ white-space:nowrap; border-left:none !important; padding:8px 14px !important;}
  .a-sidebar .a-logout{ margin:0 0 0 auto; padding:0;}
  .a-stats{ grid-template-columns:repeat(2,1fr);}
  .a-form-grid{ grid-template-columns:1fr;}
  .a-main{ padding:18px;}
  table.a-table{ display:block; overflow-x:auto; white-space:nowrap;}
}
