*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100vw;max-width:100vw;margin:0;padding:0;overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:100%}main,.hero,.section{flex:1 0 auto;width:100%;max-width:100%}footer{flex-shrink:0;margin-top:auto;width:100%}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#fff;color:#333;line-height:1.6}:root{--laranja: #f15a29;--azul: #003087;--cinza: #f4f4f4;--texto: #333}header{background:#fff;box-shadow:0 2px 10px #0000001a;padding:15px 0;position:sticky;top:0;z-index:100;width:100%}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%;box-sizing:border-box}nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.logo img{height:70px}.logo-text{font-size:28px;font-weight:700;color:var(--branco)}.logo-text span{color:var(--azul)}.nav-links{display:flex;gap:30px}.nav-links a{text-decoration:none;color:var(--texto);font-weight:500;transition:color .3s}.nav-links a:hover{color:var(--laranja)}.hero{background:linear-gradient(#0009,#0009),url(/FORTALEZAbm.webp) center/cover no-repeat;color:#fff;text-align:center;padding:120px 20px;flex-grow:1;display:flex;align-items:center;justify-content:center;min-height:40vh;width:100%}.hero h1{font-size:3.5rem;margin-bottom:20px;text-shadow:2px 2px 8px rgba(0,0,0,.5)}.hero p{font-size:1.4rem;max-width:800px;margin:0 auto}.section{padding:60px 0;width:100%}h2{text-align:center;font-size:2.5rem;margin-bottom:40px;color:var(--azul)}.search-container{max-width:600px;margin:0 auto 40px;position:relative;width:100%;box-sizing:border-box}.search-box{position:relative;width:100%}#search-input{width:100%;padding:14px 20px 14px 50px;border:2px solid #ddd;border-radius:50px;font-size:1.1rem;line-height:1.5;transition:all .3s ease;background:#fff;color:#333;outline:none;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#search-input:focus{border-color:var(--laranja);box-shadow:0 0 0 4px #f15a2926}#search-input::placeholder{color:#aaa;opacity:1;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:#888;pointer-events:none;z-index:1}@media(max-width:768px){#search-input{padding:14px 15px 14px 45px;font-size:1rem}.search-icon{left:15px;font-size:1.3rem}.search-container{padding:0 15px}}.properties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;padding:0;margin:0;width:100%;max-width:100%;box-sizing:border-box}.property-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #00000014;transition:all .3s ease;display:flex;flex-direction:column;height:100%;width:100%;box-sizing:border-box}.property-card:hover{transform:translateY(-10px);box-shadow:0 12px 30px #00000026}.property-card img{width:100%;height:220px;object-fit:cover;flex-shrink:0}.property-info{padding:20px;flex-grow:1;display:flex;flex-direction:column}.property-info h3{margin-bottom:10px;color:var(--azul);font-size:1.4rem}.price{font-size:1.6rem;font-weight:700;color:var(--laranja);margin:10px 0}.details{display:flex;gap:20px;margin:15px 0;font-size:1rem;color:#555}.sold-badge{background:#e74c3c;color:#fff;padding:6px 14px;border-radius:20px;font-size:.9rem;display:inline-block;margin-bottom:12px;font-weight:700}.btn-details{margin-top:auto;background:var(--laranja);color:#fff;border:none;padding:12px;border-radius:6px;cursor:pointer;font-weight:700;font-size:1rem;width:100%;transition:background .3s}.btn-details:hover{background:#d94a1a}footer{background:var(--azul);color:#fff;padding:60px 0 40px;margin-top:auto;text-align:center;width:100%}.contact-info{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;margin:30px 0}.contact-item{display:flex;align-items:center;gap:12px;font-size:1.1rem}.whatsapp-btn{display:inline-flex;align-items:center;gap:10px;color:#25d366;text-decoration:none;font-weight:700;transition:color .3s}.whatsapp-btn:hover{color:#0fe421;text-decoration:underline}.modal{position:fixed;inset:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.modal-header{background:var(--azul);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.close{background:none;border:none;font-size:32px;color:#fff;cursor:pointer}.modal-body{padding:30px}.modal-footer{padding:20px;border-top:1px solid #eee;text-align:right}@media(max-width:768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.2rem}.nav-links{flex-direction:column;gap:15px;width:100%;text-align:center;margin-top:15px}.nav-links a{margin-left:0}.properties-grid{grid-template-columns:1fr}.contact-info{flex-direction:column;gap:20px}}.admin-layout{min-height:100vh;background:#f8f9fa}.admin-header{background:#1a3c5e;color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;padding:15px 0}.logo{display:flex;align-items:center;gap:12px}.logo-text{font-size:1.5rem;font-weight:700;text-transform:uppercase}.logo-text span{color:#ff6b35}.btn-logout{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer}.btn-logout:hover{background:#c82333}.admin-main{padding:30px 0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.stats{display:flex;gap:25px}.stat-item{text-align:center;background:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 2px 8px #00000014;min-width:100px}.stat-value{font-size:1.8rem;font-weight:700;display:block}.stat-value.sold{color:#28a745}.stat-label{color:#666;font-size:.9rem}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:6px;margin:20px 0;text-align:center}.loading-container{text-align:center;padding:80px 0;color:#666}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-primary{background:#007bff;color:#fff}.btn-large{padding:14px 32px;font-size:1.1rem}.properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:30px}.action-btn{padding:12px 24px;font-size:1.1rem;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.property-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .2s,box-shadow .2s}.property-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.search-box input:focus+.search-icon{color:#3b82f6}.instagram-btn{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;transition:color .3s}.instagram-btn:hover{color:#fff;text-decoration:underline}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
