*{margin:0;padding:0;box-sizing:border-box}:root{--harbor-navy: #1F4E79;--harbor-blue: #2D9CDB;--harbor-light-blue: #E3F2FD;--harbor-gray: #F8F9FA;--harbor-dark-gray: #6C757D;--harbor-text: #2C3E50;--harbor-white: #FFFFFF;--harbor-success: #28A745;--harbor-warning: #FFC107;--harbor-danger: #DC3545;--shadow-light: 0 2px 10px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 20px rgba(0, 0, 0, .15);--shadow-heavy: 0 8px 30px rgba(0, 0, 0, .2);--border-radius: 12px;--transition: all .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--harbor-text);background-color:var(--harbor-gray)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem}.container{max-width:1200px;margin:0 auto;padding:0 20px}.container-fluid{width:100%;padding:0 20px}.navbar{background:var(--harbor-white);box-shadow:var(--shadow-light);position:sticky;top:0;z-index:1000;border-bottom:1px solid #E9ECEF}.navbar-content{display:flex;justify-content:space-between;align-items:center;height:70px;max-width:1200px;margin:0 auto;padding:0 20px}.navbar-brand{display:flex;align-items:center;text-decoration:none;color:var(--harbor-text);font-weight:700;font-size:1.5rem}.navbar-logo{width:40px;height:40px;background:linear-gradient(135deg,var(--harbor-navy),var(--harbor-blue));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;margin-right:12px}.navbar-nav{display:flex;align-items:center;gap:20px}.nav-link{text-decoration:none;color:var(--harbor-dark-gray);font-weight:500;transition:var(--transition);padding:8px 16px;border-radius:8px}.nav-link:hover{color:var(--harbor-blue);background-color:var(--harbor-light-blue)}.btn{display:inline-block;padding:12px 24px;border:none;border-radius:var(--border-radius);font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:var(--transition);font-size:1rem;line-height:1.5}.btn-primary{background:linear-gradient(135deg,var(--harbor-blue),var(--harbor-navy));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{background:var(--harbor-white);color:var(--harbor-text);border:2px solid var(--harbor-blue)}.btn-secondary:hover{background:var(--harbor-blue);color:#fff}.btn-outline{background:transparent;color:#fff;border:2px solid white}.btn-outline:hover{background:#fff;color:var(--harbor-blue)}.btn-large{padding:16px 32px;font-size:1.1rem}.hero{background:linear-gradient(135deg,var(--harbor-navy) 0%,var(--harbor-blue) 100%);color:#fff;padding:100px 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><polygon fill="rgba(255,255,255,0.05)" points="0,1000 1000,800 1000,1000"/></svg>');background-size:cover}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto}.hero h1{font-size:3.5rem;margin-bottom:1.5rem;font-weight:700}.hero p{font-size:1.3rem;margin-bottom:2rem;opacity:.9}.search-form{background:#fff;padding:30px;border-radius:20px;box-shadow:var(--shadow-heavy);margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;align-items:end}.form-label{font-weight:600;color:var(--harbor-text);margin-bottom:8px;font-size:.9rem}.form-control{padding:12px 16px;border:2px solid #E9ECEF;border-radius:10px;font-size:1rem;transition:var(--transition);background:#fff}.form-control:focus{outline:none;border-color:var(--harbor-blue);box-shadow:0 0 0 3px #2d9cdb1a}.card{background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-light);overflow:hidden;transition:var(--transition)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.card-body{padding:30px}.card-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--harbor-text)}.card-text{color:var(--harbor-dark-gray);margin-bottom:1.5rem}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:50px}.portal-card{text-align:center;padding:40px 30px;border-radius:20px;transition:var(--transition);position:relative;overflow:hidden}.portal-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);z-index:1}.portal-card>*{position:relative;z-index:2}.portal-card.insurance{background:linear-gradient(135deg,var(--harbor-blue),var(--harbor-navy));color:#fff}.portal-card.tenant{background:linear-gradient(135deg,var(--harbor-success),#20C997);color:#fff}.portal-card.host{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff}.portal-icon{width:80px;height:80px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:2rem}.features{padding:100px 0;background:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:50px;margin-top:60px}.feature-item{text-align:center}.feature-icon{width:80px;height:80px;border-radius:50%;background:var(--harbor-light-blue);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--harbor-blue);font-size:2rem}.section{padding:80px 0}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:2.5rem;margin-bottom:1rem;color:var(--harbor-text)}.section-subtitle{font-size:1.2rem;color:var(--harbor-dark-gray);max-width:600px;margin:0 auto}.cta{background:linear-gradient(135deg,var(--harbor-navy),var(--harbor-blue));color:#fff;padding:80px 0;text-align:center}.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:30px}.footer{background:#2c3e50;color:#fff;padding:60px 0 30px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:40px}.footer-section h4{margin-bottom:20px;color:#fff}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:10px}.footer-section ul li a{color:#bdc3c7;text-decoration:none;transition:var(--transition)}.footer-section ul li a:hover{color:var(--harbor-blue)}.footer-bottom{border-top:1px solid #34495E;padding-top:30px;text-align:center;color:#bdc3c7}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--harbor-light-blue),white);padding:20px}.auth-card{background:#fff;padding:40px;border-radius:20px;box-shadow:var(--shadow-heavy);width:100%;max-width:400px}.auth-header{text-align:center;margin-bottom:30px}.auth-logo{width:60px;height:60px;background:linear-gradient(135deg,var(--harbor-navy),var(--harbor-blue));border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.5rem;margin:0 auto 20px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.error-message{background:#fef2f2;color:var(--harbor-danger);padding:15px;border-radius:10px;border-left:4px solid var(--harbor-danger);margin-bottom:20px}@media (max-width: 768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.1rem}.search-form{grid-template-columns:1fr;padding:20px}.navbar-content{flex-direction:column;height:auto;padding:15px}.navbar-nav{width:100%;justify-content:center;flex-wrap:wrap;margin-top:10px}.container{padding:0 15px}.cta-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}.dashboard-header{flex-direction:column;gap:15px;text-align:center}.property-grid{grid-template-columns:1fr;gap:20px}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-content{margin:20px;max-width:calc(100% - 40px)}.chat-container{grid-template-columns:1fr;height:500px}.chat-sidebar{display:none}.chat-sidebar.mobile-show{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background:#fff}.notification-panel{width:300px;right:-50px}}@media (max-width: 480px){.hero{padding:60px 0}.hero h1{font-size:2rem}.section{padding:60px 0}.portal-card{padding:30px 20px}}
