@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap";:root{--primary-gold:#d4af37;--primary-gold-hover:#b5952f;--accent-green:#12c283;--accent-green-hover:#0e9967;--bg-main:#f4f6f8;--bg-card:#fff;--bg-sidebar:#1a1a1a;--text-dark:#2d3748;--text-muted:#718096;--text-light:#f7fafc;--status-success:#12c283;--status-warning:#d4af37;--status-danger:#e53e3e;--status-info:#3182ce;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000001f, 0 1px 2px #0000003d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--transition:all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-dark);-webkit-font-smoothing:antialiased;font-family:Montserrat,sans-serif}.app-container{height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.page-content{flex:1;padding:2rem;overflow-y:auto}.card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);padding:1.5rem}.card:hover{box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary-gold);color:#fff}.btn-primary:hover{background-color:var(--primary-gold-hover);transform:translateY(-1px)}.btn-accent{background-color:var(--accent-green);color:#fff}.btn-accent:hover{background-color:var(--accent-green-hover)}.btn-outline{border:1px solid var(--text-muted);color:var(--text-dark);background-color:#0000}.btn-outline:hover{border-color:var(--primary-gold);color:var(--primary-gold)}h1,h2,h3,h4,h5,h6{color:var(--text-dark);margin-bottom:.5rem;font-weight:600}.page-title{color:var(--text-dark);align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.75rem;display:flex}.table-container{background:var(--bg-card);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #edf2f7;padding:1rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:#f8fafc;font-size:.85rem;font-weight:600}tr:last-child td{border-bottom:none}tr:hover td{background-color:#fbfbfc}.badge{border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:var(--status-success);background-color:#e6fffa}.badge-warning{color:#b5952f;background-color:ivory}.badge-danger{color:var(--status-danger);background-color:#fff5f5}.badge-info{color:var(--status-info);background-color:#ebf8ff}.sidebar{background-color:var(--bg-sidebar);width:250px;color:var(--text-light);box-shadow:var(--shadow-lg);z-index:10;flex-direction:column;display:flex}.sidebar-logo{border-bottom:1px solid #ffffff1a;align-items:center;gap:1rem;padding:1.5rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary-gold) 0%, var(--accent-green) 100%);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 4px 10px #12c2834d}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-text span{color:#fff9;text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.logo-text strong{color:#fff;font-size:1.1rem}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.nav-item{color:#ffffffb3;border-radius:var(--radius-md);transition:var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background-color:#ffffff0d}.nav-item.active{color:var(--primary-gold);border-left:3px solid var(--primary-gold);background-color:#d4af3726}.nav-item.active .nav-icon{color:var(--primary-gold)}.nav-icon{color:#ffffff80;transition:var(--transition);align-items:center;display:flex}.nav-item:hover .nav-icon{color:#fff}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem}.topbar{background-color:var(--bg-card);z-index:5;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex}.search-bar{background-color:var(--bg-main);border-radius:var(--radius-full);width:400px;transition:var(--transition);border:1px solid #0000000d;align-items:center;padding:.5rem 1rem;display:flex}.search-bar:focus-within{border-color:var(--primary-gold);box-shadow:0 0 0 2px #d4af3733}.search-icon{color:var(--text-muted);margin-right:.75rem}.search-input{width:100%;color:var(--text-dark);background:0 0;border:none;outline:none;font-family:inherit;font-size:.9rem}.topbar-actions{align-items:center;gap:1.5rem;display:flex}.icon-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--primary-gold)}.user-profile{cursor:pointer;border-radius:var(--radius-full);transition:var(--transition);align-items:center;gap:.75rem;padding:.25rem;display:flex}.user-profile:hover{background-color:var(--bg-main)}.avatar{width:36px;height:36px;color:var(--text-dark);background-color:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;display:flex}.user-name{font-size:.9rem;font-weight:500}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{border-left:4px solid #0000;align-items:center;gap:1.25rem;display:flex}.stat-card:first-child{border-left-color:var(--primary-gold)}.stat-card:nth-child(2){border-left-color:var(--status-warning)}.stat-card:nth-child(3){border-left-color:var(--status-danger)}.stat-card:nth-child(4){border-left-color:var(--accent-green)}.stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:56px;height:56px;display:flex}.stat-info h3{color:var(--text-dark);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.stat-info p{color:var(--text-muted);font-size:.9rem;font-weight:500}.dashboard-content{grid-template-columns:1fr;gap:1.5rem;display:grid}.card-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.card-header h2{margin:0;font-size:1.25rem}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.3s ease-out slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.close-btn{color:var(--text-muted)}.close-btn:hover{color:var(--status-danger)}.modal-body{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-dark);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-input{border-radius:var(--radius-md);border:1px solid #e2e8f0;width:100%;padding:.75rem;font-family:inherit;font-size:.9rem}.form-select{border-radius:var(--radius-md);background-color:#fff;border:1px solid #e2e8f0;width:100%;padding:.75rem;font-family:inherit;font-size:.9rem}.modal-footer{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.toolbar{justify-content:space-between;gap:1rem;margin-bottom:1.5rem;display:flex}.form-input{border-radius:var(--radius-md);width:100%;transition:var(--transition);border:1px solid #e2e8f0;outline:none;padding:.6rem 1rem;font-family:inherit}.form-input:focus{border-color:var(--primary-gold);box-shadow:0 0 0 2px #d4af3733}.search-box{flex:1;max-width:400px}.properties-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.property-card{border-radius:var(--radius-md);transition:var(--transition);border:1px solid #e2e8f0;overflow:hidden}.property-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-gold)}.property-image{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e0 100%);height:140px;position:relative}.status-tag{border-radius:var(--radius-full);box-shadow:var(--shadow-sm);background:#fff;padding:.25rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:10px;right:10px}.status-success{color:var(--status-success)}.status-info{color:var(--status-info)}.status-warning{color:var(--status-warning)}.property-details{padding:1.25rem}.property-id{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.property-address{align-items:flex-start;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}.property-footer{border-top:1px solid #edf2f7;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.property-price{color:var(--text-dark);font-size:1.2rem;font-weight:700}.property-price small{color:var(--text-muted);font-size:.8rem;font-weight:500}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.detail-page{animation:.3s ease-out fadeIn}.header-left{align-items:center;gap:1rem;display:flex}.btn-icon{border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:flex}.subtitle{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:.25rem;font-size:.9rem;display:flex}.header-actions{gap:.75rem;display:flex}.btn-danger{color:var(--status-danger);border:1px solid var(--status-danger);background-color:#0000}.btn-danger:hover{background-color:var(--status-danger);color:#fff}.detail-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}.detail-card{padding:1.5rem}.card-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.card-header h3{color:var(--text-dark);margin:0;font-size:1.1rem}.info-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.info-item{flex-direction:column;gap:.4rem;display:flex}.info-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.info-value{color:var(--text-dark);align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.text-primary{color:var(--primary-gold)}.mt-4{margin-top:1.5rem}.mt-3{margin-top:1rem}.mb-2{margin-bottom:.5rem}.active-contract{border-radius:var(--radius-md);border-left:4px solid var(--status-success);background-color:#f8fafc;padding:1.25rem}.contract-header{justify-content:space-between;margin-bottom:1rem;display:flex}.text-success{color:var(--status-success);font-size:.85rem;font-weight:600}.contract-parties{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contract-parties div{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.empty-state{text-align:center;color:var(--text-muted);border-radius:var(--radius-md);background-color:#f8fafc;border:1px dashed #cbd5e1;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.mini-list{margin:0;padding:0;list-style:none}.mini-list li{border-bottom:1px solid #edf2f7;justify-content:space-between;padding:.75rem 0;font-size:.9rem;display:flex}.mini-list li:last-child{border-bottom:none}.list-success strong{color:var(--status-success)}.login-container{background-color:var(--bg-sidebar);background-image:radial-gradient(circle at 100% 0,#d4af371a,#0000 40%),radial-gradient(circle at 0 100%,#12c2831a,#0000 40%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-card{width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-top:4px solid var(--primary-gold);padding:3rem 2rem}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo-image{object-fit:cover;border:3px solid var(--primary-gold);border-radius:50%;width:90px;height:90px;margin:0 auto 1.5rem;display:block;box-shadow:0 8px 20px #d4af3766}.login-header h2{color:#fff;margin-bottom:.25rem;font-size:1.4rem}.login-header p{color:#aaa;font-size:.9rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#fff;font-size:.85rem;font-weight:600}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);position:absolute;left:1rem}.input-with-icon .form-input{padding-left:2.75rem}.login-btn{width:100%;margin-top:1rem;padding:.8rem;font-size:1rem}.search-icon-inside{color:var(--text-muted);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-box{flex:1;max-width:400px;position:relative}.form-input.with-icon{padding-left:2.75rem}.tenant-name-col{color:var(--text-dark);align-items:center;gap:.75rem;font-weight:500;display:flex}.avatar-small{background:linear-gradient(135deg, var(--primary-gold) 0%, var(--accent-green) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.contact-info{flex-direction:column;gap:.25rem;display:flex}.contact-info span{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.action-buttons{gap:.5rem;display:flex}.reportes-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.reporte-card{flex-direction:column;display:flex}.reporte-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.reporte-header h3{margin:0;font-size:1.1rem}.reporte-body{flex-grow:1;padding:1.5rem}.reporte-footer{background-color:var(--bg-main);border-top:1px solid #edf2f7;padding:1.25rem 1.5rem}.stat-group{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.85rem;font-weight:500}.stat-value{color:var(--text-dark);font-size:1.5rem;font-weight:700}
