/* ===== Layout ===== */
body { background: #f4f6fb; font-family: 'Segoe UI', system-ui, sans-serif; }
.wrapper { min-height: 100vh; }

/* ===== Sidebar ===== */
#sidebar {
    width: 240px;
    min-height: 100vh;
    background: linear-gradient(160deg, #1a237e 0%, #0d47a1 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    transition: width .25s ease;
    flex-shrink: 0;
}
#sidebar.collapsed { width: 0; overflow: hidden; }
.sidebar-header {
    padding: 1.25rem 1rem;
    font-size: 1.1rem;
    font-weight: 700;
    border-bottom: 1px solid rgba(255,255,255,.1);
    white-space: nowrap;
}
.sidebar-menu { padding: .5rem 0; flex: 1; }
.sidebar-menu a {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem 1.2rem;
    color: rgba(255,255,255,.8);
    text-decoration: none;
    font-size: .9rem;
    transition: background .15s, color .15s;
    white-space: nowrap;
}
.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: rgba(255,255,255,.15);
    color: #fff;
    border-left: 3px solid #64b5f6;
    padding-left: calc(1.2rem - 3px);
}
.sidebar-footer {
    padding: 1rem;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: .82rem;
}
.user-info { color: rgba(255,255,255,.75); }

/* ===== Main content ===== */
#content { min-width: 0; overflow-x: hidden; }
.navbar { border-bottom: 1px solid #e8ecf0 !important; }

/* ===== Cards ===== */
.card { border-radius: 12px; }
.stat-card { border-radius: 14px; }
.stat-icon {
    width: 56px; height: 56px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.bg-primary-soft  { background: rgba(13,110,253,.12); }
.bg-success-soft  { background: rgba(25,135,84,.12); }
.bg-danger-soft   { background: rgba(220,53,69,.12); }
.bg-info-soft     { background: rgba(13,202,240,.12); }
.bg-warning-soft  { background: rgba(255,193,7,.15); }

/* ===== Auth page ===== */
.auth-body { background: linear-gradient(135deg, #1a237e 0%, #1565c0 60%, #0288d1 100%); }
.auth-card { border-radius: 18px; border: none; }

/* ===== Table ===== */
.table th { font-size: .82rem; font-weight: 600; letter-spacing: .02em; }
.table td { vertical-align: middle; font-size: .88rem; }

/* ===== House card ===== */
.house-card { transition: box-shadow .2s; }
.house-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.1) !important; }

/* ===== Btn xs ===== */
.btn-xs { font-size: .75rem; padding: .15rem .45rem; }

/* ===== Responsive ===== */
@media (max-width: 767px) {
    #sidebar { width: 0; overflow: hidden; position: fixed; z-index: 999; height: 100vh; }
    #sidebar.mobile-open { width: 240px; }
    #content { width: 100%; }
}
