/* Modern theme */
:root{
	--bg:#f6f9fb;
	--card:#ffffff;
	--muted:#6b7280;
	--primaryA:#3a7bd5;
	--primaryB:#00d2ff;
    --footer:#fff;
}
@font-face {
    font-family: 'WixMadeforText';
    src: url('/static/media/WixMadeforTextApp-ExtraBold_3671583625.3ce3867ed6d028d46279.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
body{ font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background:var(--bg); color:#0f172a; }
.brand-logo{ width:42px; height:42px; border-radius:8px; background:linear-gradient(135deg,var(--primaryA),var(--primaryB)); box-shadow:0 6px 18px rgba(58,123,213,0.18); }
.card{ border-radius:12px; background:var(--card); box-shadow:0 6px 18px rgba(15,23,42,0.04); }
.notif-ring{ display:inline-block; width:18px; height:18px; border-radius:50%; background:linear-gradient(135deg,#ffdd57,#ff6b6b); box-shadow:0 0 0 4px rgba(255,107,107,0.10); }
.btn-primary{ background: linear-gradient(90deg,var(--primaryA),var(--primaryB)); border:0; color:#fff; }
.btn-primary:focus, .btn-primary:active{ box-shadow:0 8px 20px rgba(58,123,213,0.18); }
.btn-outline-secondary{ border-color:rgba(15,23,42,0.06); }

/* Icon button (used for Register) */
.icon-btn{ display:inline-flex; align-items:center; justify-content:center; height:36px; padding:0 10px; border-radius:10px; background:linear-gradient(90deg,var(--primaryB),var(--primaryA)); color:#fff; text-decoration:none; box-shadow:0 6px 18px rgba(58,123,213,0.12); }
.icon-btn svg{ color:#fff; }

/* admin action icons */
.admin-action-btn{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:8px; background:transparent; color:#374151; text-decoration:none; margin-left:6px; }
.admin-action-btn svg{ stroke:currentColor; }
.admin-action-btn:hover{ background:rgba(15,23,42,0.04); transform:translateY(-1px); }
.admin-action-btn.text-danger svg{ color:#d9534f; }

/* Page utilities */
.page-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }

/* Public Data Widget */
.public-data-widget{ display:flex; align-items:center; }
.weather-location-info{ display:flex; flex-direction:column; gap:0.5rem; background:var(--card); padding:0.75rem 1rem; border-radius:12px; box-shadow:0 4px 12px rgba(15,23,42,0.06); }
.location-display{ display:flex; align-items:center; gap:0.5rem; font-size:0.875rem; color:#374151; }
.location-display svg{ color:var(--primaryA); flex-shrink:0; }
.weather-display{ display:flex; align-items:center; gap:0.75rem; }
.weather-icon-small{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; }
.weather-icon-small img{ width:40px; height:40px; object-fit:contain; }
.weather-icon-small svg{ color:#fbbf24; }
.weather-temp{ display:flex; flex-direction:column; line-height:1.2; }
.temp-value{ font-size:1.25rem; font-weight:700; color:#0f172a; }
.weather-condition{ font-size:0.75rem; color:var(--muted); text-transform:capitalize; }

.apt-card{ transition: transform 0.2s; }
.apt-card:hover{ transform: translateY(-4px); }
.apt-card img{ 
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.apt-card .card-body{ padding: 1.25rem; }
.apt-details{ font-weight: 600; color: #1a2b4b; }
.apt-details .text-label{ 
    font-weight: normal;
    color: var(--muted);
    font-size: 0.875rem;
}
.status-badge{
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0.35rem 0.75rem;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
/* Status-specific colors */
.status-new {
    background: #ffc107;  /* deep yellow */
    color: #000;
}
.status-active {
    background: #198754;  /* deep green */
    color: #fff;
}
.status-sold {
    background: #dc3545;  /* deep red */
    color: #fff;
}
.footer{ border-top:1px solid rgba(15,23,42,0.04); }
.navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1050 !important;
}
.footer {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  z-index: 1040 !important;
  border-radius: 16px 16px 0 0;
}
body {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
.navbar {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1050;
}
.footer {
  position: fixed !important;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 1040;
  border-radius: 16px 16px 0 0;
}
body {
  padding-top: 64px;
  padding-bottom: 64px;
}

/* Theme: Default */
body.theme-default {
	--bg: #f6f9fb;
	--card: #ffffff;
	--muted: #6b7280;
	--primaryA: #3a7bd5;
	--primaryB: #00d2ff;
	color: #0f172a;
	background: var(--bg);
}
/* Theme: Blue */
/* Use WixMadeforText as a display font where applied in markup; default body uses Inter */
body.theme-blue {
	--bg: #e3f0ff;
	--card: #f8fbff;
	--muted: #3a7bd5;
	--primaryA: #0056b3;
	--primaryB: #3a7bd5;
	color: #0a2540;
	background: var(--bg);
}
/* Theme: Dark */
body.theme-dark {
	--bg: #181c24;
	--card: #232a36;
	--muted: #b0b8c1;
	--primaryA: #22223b;
	--primaryB: #4a4e69;
	color: #f8f9fa;
	background: var(--bg);
}
/* Theme: Dark Gray */
body.theme-darkgray {
  --bg: #23272f;
  --card: #2c313a;
  --muted: #a0a4ab;
  --primaryA: #444950;
  --primaryB: #6c757d;
  color: #e9ecef;
  background: var(--bg);
}

/* --- Java Stonic Design for Investor/Admin Pages --- */
.investor-dashboard, .admin-dashboard {
  background: linear-gradient(120deg, #f6f9fb 60%, #e3f0ff 100%);
  min-height: 100vh;
  padding: 2rem 0;
}

.dashboard-card {
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 32px rgba(58,123,213,0.10);
  transition: box-shadow 0.2s, transform 0.2s;
  padding: 2rem 1.5rem;
  margin-bottom: 2rem;
}
.dashboard-card:hover {
  box-shadow: 0 16px 48px rgba(58,123,213,0.18);
  transform: translateY(-2px) scale(1.01);
}

.dashboard-title {
  font-family: 'WixMadeforText', Inter, Arial, sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: var(--primaryA);
  margin-bottom: 1rem;
}

.dashboard-section {
  margin-bottom: 2rem;
}

.dashboard-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #f8fbff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(58,123,213,0.06);
}
.dashboard-table th, .dashboard-table td {
  padding: 1rem 1.25rem;
  text-align: left;
  font-size: 1rem;
}
.dashboard-table th {
  background: linear-gradient(90deg, var(--primaryA), var(--primaryB));
  color: #fff;
  font-weight: 700;
}
.dashboard-table tr {
  border-bottom: 1px solid #e3f0ff;
}
.dashboard-table tr:last-child {
  border-bottom: none;
}

.dashboard-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--primaryB), var(--primaryA));
  color: #fff;
  font-weight: 600;
  border: none;
  box-shadow: 0 2px 8px rgba(58,123,213,0.10);
  transition: background 0.2s, box-shadow 0.2s;
}
.dashboard-action-btn:hover {
  background: linear-gradient(90deg, var(--primaryA), var(--primaryB));
  box-shadow: 0 4px 16px rgba(58,123,213,0.18);
}

/* Cards for quick stats */
.quick-stats {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
}
.quick-stat-card {
  flex: 1;
  background: linear-gradient(120deg, var(--primaryA) 60%, var(--primaryB) 100%);
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(58,123,213,0.12);
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.quick-stat-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.quick-stat-value {
  font-size: 2rem;
  font-weight: 800;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .quick-stats {
    flex-direction: column;
    gap: 1rem;
  }
  .dashboard-card {
    padding: 1rem 0.5rem;
  }
  .dashboard-title {
    font-size: 1.4rem;
  }
  .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .card {
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(58,123,213,0.10);
  }
  .apt-card img {
    height: 120px;
  }
  .apt-card .card-body {
    padding: 1rem;
  }
  .navbar {
    padding: 0.5rem 1rem;
  }
  .footer {
    font-size: 0.95rem;
    padding: 1rem 0.5rem;
    border-radius: 16px 16px 0 0;
    background: var(--footer);
  }
  .btn, .btn-primary, .btn-outline-primary {
    font-size: 1.1rem;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
  }
  .form-control {
    font-size: 1.1rem;
    border-radius: 10px;
  }
  .page-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
