:root{
    --navy:#0C1E39;
    --navy-2:#132B4C;
    --navy-3:#1D3B63;
    --gold:#CD9F3A;
    --gold-light:#DFBB69;
    --ivory:#F0E1C1;
    --paper:#F6F5F2;
    --white:#FFFFFF;
    --graphite:#4E5258;
    --muted:#727985;
    --line:#E4DED3;
    --success:#1E6B4E;
    --danger:#982E3B;
    --warning:#8A6314;
    --info:#285D85;
    --shadow:0 16px 40px rgba(12,30,57,.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--paper)}
a{color:inherit}
button,input,select,textarea{font:inherit}
button:disabled{opacity:.5;cursor:not-allowed}
.admin-grid{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.sidebar{
    position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px;
    color:#fff;background:linear-gradient(180deg,#08172B,var(--navy));
    border-right:4px solid var(--gold);z-index:40
}
.sidebar-brand{display:flex;align-items:center;gap:13px;padding:4px 7px 25px;text-decoration:none}
.sidebar-mark{
    width:54px;height:54px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:15px;
    color:var(--gold);font:700 23px Georgia,serif
}
.sidebar-brand strong{display:block;color:#fff;font:500 28px Georgia,serif;line-height:1}
.sidebar-brand strong span{color:var(--gold)}
.sidebar-brand small{display:block;margin-top:7px;color:var(--gold-light);font-size:8px;font-weight:800;letter-spacing:3px}
.sidebar-nav{display:grid;gap:5px}
.sidebar-nav a{
    display:flex;align-items:center;gap:12px;min-height:46px;padding:0 13px;border-radius:11px;
    color:rgba(255,255,255,.78);text-decoration:none;font-size:14px;font-weight:700
}
.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:rgba(255,255,255,.09)}
.sidebar-nav a.active{box-shadow:inset 3px 0 0 var(--gold)}
.nav-icon{width:25px;color:var(--gold-light);font-size:18px;text-align:center}
.sidebar-bottom{margin-top:auto;display:grid;gap:4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.sidebar-bottom a{padding:9px 12px;color:rgba(255,255,255,.65);font-size:12px;text-decoration:none}
.admin-main{min-width:0;display:flex;flex-direction:column}
.admin-topbar{
    min-height:78px;display:flex;align-items:center;gap:18px;padding:13px clamp(20px,4vw,48px);
    border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px)
}
.admin-topbar>div:nth-child(2){display:grid;gap:3px}
.admin-topbar strong{font-size:16px}
.topbar-kicker{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.topbar-account{margin-left:auto;display:grid;text-align:right}
.topbar-account span{font-size:13px;font-weight:800}
.topbar-account small{margin-top:3px;color:var(--muted);font-size:11px}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);cursor:pointer}
.admin-content{width:100%;max-width:1480px;margin:0 auto;padding:34px clamp(20px,4vw,52px) 60px}
.admin-footer{margin-top:auto;padding:18px 30px;color:var(--muted);font-size:11px;text-align:center}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.eyebrow{margin:0 0 8px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase}
h1{margin:0;font:500 clamp(36px,4vw,52px) Georgia,"Times New Roman",serif;line-height:1.05}
h2{margin:0;font:500 25px Georgia,"Times New Roman",serif}
.page-subtitle{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.card{
    padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)
}
.card-head,.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.card-head p,.section-title p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.card-head>a{color:var(--gold);font-size:12px;font-weight:800}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.stat-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.stat-card>span{display:block;color:var(--muted);font-size:13px}
.stat-card>strong{display:block;margin:12px 0 10px;color:var(--gold);font:500 42px Georgia,serif}
.stat-card>a{font-size:11px;font-weight:800}
.dashboard-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.localities-layout{grid-template-columns:.65fr 1.35fr}
.simple-list{display:grid}
.simple-list>a{
    display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;
    border-bottom:1px solid #eee9df;text-decoration:none
}
.simple-list>a:last-child{border-bottom:0}
.simple-list strong,.simple-list small{display:block}
.simple-list strong{font-size:13px}
.simple-list small{margin-top:5px;color:var(--muted);font-size:11px}
.badge{
    display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;
    color:var(--navy);background:#F2E8D2;font-size:10px;font-weight:800;text-transform:uppercase
}
.status-publicada{color:#176347;background:#E6F4EE}
.status-reservada{color:#725313;background:#FFF3D4}
.status-vendida,.status-arrendada{color:#fff;background:var(--navy)}
.status-archivada,.status-rechazada{color:#6d7075;background:#ECEDEF}
.empty-state{display:grid;place-items:center;padding:55px 20px;text-align:center}
.empty-state.compact{padding:34px 15px}
.empty-state strong{font:500 24px Georgia,serif}
.empty-state p{max-width:520px;margin:9px 0 19px;color:var(--muted);font-size:13px;line-height:1.6}
.btn{
    display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;
    border-radius:10px;color:#fff;background:var(--navy);text-decoration:none;font-size:12px;font-weight:800;cursor:pointer
}
.btn:hover{background:var(--navy-2)}
.btn-gold{color:var(--navy);background:var(--gold)}
.btn-gold:hover{background:var(--gold-light)}
.btn-light{color:var(--navy);background:#F0EFEA;border:1px solid var(--line)}
.button-row{display:flex;flex-wrap:wrap;gap:10px}
.notice{margin-bottom:18px;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.5}
.notice.success{color:var(--success);background:#E9F5EF;border:1px solid #B9DECD}
.notice.error{color:var(--danger);background:#FBEAEC;border:1px solid #EDC3C8}
.notice.warning{color:var(--warning);background:#FFF5DB;border:1px solid #ECD598}
.notice.info{color:var(--info);background:#EAF2F8;border:1px solid #C6DAEA}
.notice a{font-weight:800}
.filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.filters .grow{flex:1 1 260px}
.filters label{min-width:180px}
.record-form{display:grid;gap:18px}
.compact-form{gap:14px}
.form-section{padding:26px}
.form-grid{display:grid;gap:16px}
.form-grid.one{grid-template-columns:1fr}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.span-2{grid-column:span 2}
label{display:grid;gap:7px;color:var(--navy);font-size:12px;font-weight:800}
label>span{line-height:1.35}
input,select,textarea{
    width:100%;min-height:44px;padding:11px 12px;border:1px solid #CFCFCB;border-radius:9px;
    color:var(--navy);background:#fff
}
textarea{min-height:110px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(205,159,58,.2);border-color:var(--gold)}
.check-label{display:flex;align-items:center;grid-template-columns:auto 1fr;gap:10px;min-height:44px}
.check-label input{width:18px;min-height:18px;margin:0}
.sticky-actions{
    position:sticky;bottom:14px;z-index:12;display:flex;justify-content:flex-end;gap:10px;padding:14px;
    border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 14px 40px rgba(12,30,57,.13);
    backdrop-filter:blur(10px)
}
.table-card{padding:0;overflow:hidden}
.table-card>.card-head,.table-card>.notice{margin:22px 22px 0}
.table-responsive{width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;min-width:840px}
th,td{padding:15px 17px;border-bottom:1px solid #EEEAE3;text-align:left;vertical-align:middle}
th{color:var(--muted);background:#FAF9F7;font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
td{font-size:12px}
td strong,td small{display:block}
td small{margin-top:5px;color:var(--muted);font-size:10px}
tbody tr:hover{background:#FCFBF8}
.actions{text-align:right;white-space:nowrap}
.icon-btn,.text-button{color:var(--navy);font-size:11px;font-weight:800}
.text-button{padding:0;border:0;background:none;text-decoration:underline;cursor:pointer}
.visibility{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase}
.visibility.online{color:var(--success);background:#E5F3EC}
.visibility.offline{color:#74787D;background:#EBECEE}
.pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding:20px}
.pagination a{color:var(--gold);font-size:12px;font-weight:800}
.pagination span{color:var(--muted);font-size:11px}
.detail-card h2{margin-bottom:16px}
.message-box{padding:18px;border-radius:12px;background:#F8F5ED;color:var(--graphite);font-size:14px;line-height:1.7}
.details-list{display:grid;gap:0;margin:24px 0 0}
.details-list>div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid #EEEAE3}
.details-list dt{color:var(--muted);font-size:11px;font-weight:800}
.details-list dd{margin:0;font-size:12px}
.sidebar-overlay{display:none}
@media(max-width:1120px){
    .form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
    .admin-grid{grid-template-columns:1fr}
    .sidebar{
        position:fixed;left:0;top:0;width:270px;transform:translateX(-105%);transition:transform .2s ease;
        box-shadow:20px 0 60px rgba(0,0,0,.25)
    }
    .sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-overlay{position:fixed;inset:0;z-index:30;background:rgba(4,12,24,.55)}
    .sidebar-open .sidebar-overlay{display:block}
    .menu-toggle{display:inline-grid;place-items:center}
    .dashboard-columns,.localities-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
    .admin-content{padding:25px 14px 50px}
    .page-head{align-items:flex-start;flex-direction:column}
    .stats-grid{grid-template-columns:1fr 1fr}
    .form-grid.two,.form-grid.four{grid-template-columns:1fr}
    .span-2{grid-column:auto}
    .filters{align-items:stretch}
    .filters label{min-width:100%}
    .filters .btn{flex:1}
    .topbar-account{display:none}
    .sticky-actions{bottom:8px}
}
@media(max-width:420px){
    .stats-grid{grid-template-columns:1fr}
    .card,.form-section{padding:19px}
    .table-card{padding:0}
}


/* Fase 3 — Galería de propiedades */
.gallery-section{scroll-margin-top:95px}
.gallery-counter{
    display:inline-flex;align-items:center;justify-content:center;min-width:70px;height:34px;padding:0 12px;
    border-radius:999px;color:var(--navy);background:#F3E9D5;font-size:11px;font-weight:800
}
.image-upload-box{
    display:flex;align-items:stretch;gap:14px;margin-bottom:22px;padding:16px;border:1px dashed #D4B56F;
    border-radius:14px;background:#FFFCF5
}
.upload-dropzone{
    position:relative;flex:1;display:flex;align-items:center;gap:14px;min-height:84px;padding:16px;
    border:1px solid #E5D8BB;border-radius:11px;background:#fff;cursor:pointer
}
.upload-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-dropzone .upload-icon{
    width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:12px;
    color:var(--gold);background:#F8F0DF;font-size:29px;font-weight:400
}
.upload-dropzone strong,.upload-dropzone small{display:block}
.upload-dropzone strong{font-size:13px}
.upload-dropzone small{margin-top:5px;color:var(--muted);font-size:10px;font-weight:400;line-height:1.5}
.gallery-empty{border:1px dashed var(--line);border-radius:13px;background:#FCFBF8}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}
.gallery-preview{position:relative;aspect-ratio:4/3;overflow:hidden;background:#F4F2EC}
.gallery-preview img{width:100%;height:100%;display:block;object-fit:cover}
.cover-badge,.order-badge{
    position:absolute;top:10px;display:inline-flex;align-items:center;justify-content:center;min-height:26px;
    padding:0 9px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase
}
.cover-badge{left:10px;color:var(--navy);background:var(--gold)}
.order-badge{right:10px;color:#fff;background:rgba(12,30,57,.82)}
.gallery-meta{padding:13px 13px 9px}
.gallery-meta strong,.gallery-meta small{display:block}
.gallery-meta strong{overflow:hidden;color:var(--navy);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.gallery-meta small{margin-top:5px;color:var(--muted);font-size:9px}
.gallery-actions{
    display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:10px 13px 13px;border-top:1px solid #F0ECE4
}
.gallery-actions form{display:inline-flex;margin:0}
.gallery-order-actions{display:flex;gap:5px;margin-left:auto}
.mini-btn,.square-btn{
    min-height:31px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--navy);
    background:#F8F7F3;font-size:9px;font-weight:800;cursor:pointer
}
.mini-btn:hover,.square-btn:hover{border-color:var(--gold);background:#FFF9EC}
.mini-btn.danger{color:var(--danger);background:#FFF5F6}
.square-btn{width:32px;padding:0;font-size:14px}
.property-cell{display:flex;align-items:center;gap:12px;min-width:245px}
.property-thumb{
    width:68px;height:51px;display:block;flex:0 0 68px;object-fit:cover;border:1px solid var(--line);
    border-radius:8px;background:#F5F2EA
}
.property-thumb.placeholder{
    display:grid;place-items:center;color:var(--gold);font:700 17px Georgia,serif
}
@media(max-width:1120px){
    .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .image-upload-box{flex-direction:column}
    .gallery-grid{grid-template-columns:1fr}
    .gallery-actions{align-items:flex-start}
}


/* Fase 3.1 — Chile completo y fotografías en el mismo formulario */
.catalog-ok{
    display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border-radius:999px;
    color:var(--success);background:#E5F4EC;border:1px solid #B9DECD;font-size:11px;font-weight:800
}
.location-stats{grid-template-columns:repeat(2,minmax(0,260px))}
.stat-card small{display:block;color:var(--muted);font-size:10px}
.photo-inline-section{border-color:#DCC38D;background:linear-gradient(180deg,#fff,#FFFCF5)}
.inline-dropzone{min-height:105px}
.inline-dropzone>span:last-child{display:block}
.selected-files{
    margin-top:10px;padding:10px 12px;border-radius:9px;color:var(--muted);
    background:#F5F2EB;font-size:11px
}
.section-link{color:var(--gold);font-size:11px;font-weight:800}
@media(max-width:680px){
    .location-stats{grid-template-columns:1fr 1fr}
}


/* Parche UF diaria */
.span-4{grid-column:span 4}
.uf-rate-card{
    display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;
    border:1px solid #DCC38D;border-radius:13px;background:linear-gradient(135deg,#FFF9EA,#FFFDF8)
}
.uf-rate-card>div{display:grid;gap:4px}
.uf-rate-kicker{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.uf-rate-card strong{font:500 27px Georgia,"Times New Roman",serif;color:var(--navy)}
.uf-rate-card small{color:var(--muted);font-size:10px;line-height:1.45}
.uf-rate-card.stale{border-color:#DFC16D;background:#FFF6D9}
.uf-rate-card.error{border-color:#EDC3C8;background:#FFF3F4}
.input-calculated{color:var(--navy);background:#F4F1E9;font-weight:800}
.field-help{display:block;color:var(--muted);font-size:9px;font-weight:400;line-height:1.45}
.calculated-price-field{align-content:start}
@media(max-width:1120px){
    .span-4{grid-column:span 2}
}
@media(max-width:680px){
    .span-4{grid-column:auto}
    .uf-rate-card{align-items:flex-start;flex-direction:column}
}


/* Parche formato chileno de Precio CLP */
.clp-input-group{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:stretch;
}
.clp-prefix{
    display:grid;
    place-items:center;
    min-height:44px;
    border:1px solid #CFCFCB;
    border-right:0;
    border-radius:9px 0 0 9px;
    color:var(--navy);
    background:#F4F1E9;
    font-weight:800;
}
.clp-input-group input{
    border-radius:0 9px 9px 0;
}
.clp-input-group input:focus{
    position:relative;
    z-index:1;
}
