:root{
    --blue:#2563eb;
    --blue-dark:#1d4ed8;
    --dark:#0f172a;
    --muted:#64748b;
    --bg:#f4f7fb;
    --card:#ffffff;
    --line:#e5e7eb;
    --green:#16a34a;
    --red:#dc2626;
    --orange:#f59e0b;
    --purple:#7c3aed;
    --cyan:#0891b2;
}

*{
    box-sizing:border-box;
}

body{
    background:var(--bg);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    color:var(--dark);
    font-size:15px;
}

/* Login */
.login-bg{
    background:linear-gradient(135deg,#eef2ff,#f8fafc);
}

.login-card{
    background:#fff;
    border-radius:24px;
    padding:34px;
    box-shadow:0 20px 60px rgba(15,23,42,.12);
}

/* Branding */
.brand-dot{
    width:54px;
    height:54px;
    border-radius:16px;
    background:linear-gradient(135deg,#2563eb,#06b6d4);
    color:white;
    display:grid;
    place-items:center;
    font-weight:800;
    margin-bottom:18px;
}

.logo{
    font-weight:900;
    font-size:21px;
    letter-spacing:-.3px;
}

.year-pill{
    background:#eff6ff;
    color:#1d4ed8;
    border-radius:12px;
    padding:10px 13px;
    font-weight:700;
}

/* Layout */
.layout{
    display:flex;
    min-height:100vh;
}

.sidebar{
    width:260px;
    background:#fff;
    border-right:1px solid var(--line);
    padding:18px;
    position:fixed;
    inset:0 auto 0 0;
    overflow:auto;
}

.main{
    margin-left:260px;
    flex:1;
    padding:26px;
}

/* Navigation */
.nav-title{
    font-size:11px;
    color:var(--muted);
    font-weight:800;
    margin:22px 0 8px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.nav-link{
    display:flex;
    gap:10px;
    align-items:center;
    color:#334155;
    text-decoration:none;
    padding:11px 13px;
    border-radius:13px;
    font-weight:650;
    margin:3px 0;
    transition:.2s ease;
}

.nav-link:hover,
.nav-link.active{
    background:#eff6ff;
    color:#1d4ed8;
}

/* Topbar */
.topbar{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:22px;
}

.topbar h1{
    font-size:28px;
    font-weight:800;
    letter-spacing:-.5px;
    margin-bottom:4px;
}

.muted{
    color:var(--muted);
}

/* Cards */
.cardx{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:0 8px 28px rgba(15,23,42,.06);
}

.cardx h5{
    font-weight:800;
    margin-bottom:16px;
}

/* Metrics */
.metric{
    font-size:34px;
    font-weight:900;
    color:#0f172a;
    letter-spacing:-.8px;
}

/* Forms */
.form-control,
.form-select{
    border-radius:11px;
    border:1px solid #dbe3ef;
    padding:10px 12px;
}

.form-control:focus,
.form-select:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

label{
    font-weight:650;
    font-size:13px;
    color:#334155;
    margin-bottom:4px;
}

/* Buttons */
.btn{
    border-radius:11px;
    font-weight:650;
}

.btn-primary{
    background:#2563eb;
    border-color:#2563eb;
}

.btn-primary:hover{
    background:#1d4ed8;
    border-color:#1d4ed8;
}

.btn-round{
    border-radius:12px;
}

/* Tables */
.table{
    margin-bottom:0;
}

.table th{
    background:#f8fafc;
    color:#334155;
    font-size:13px;
    font-weight:800;
    border-bottom:1px solid #e5e7eb;
}

.table td,
.table th{
    vertical-align:middle;
    padding:12px 10px;
}

.table td{
    border-color:#f1f5f9;
}

.table-hover tbody tr:hover{
    background:#f8fafc;
}

/* Seat Bar */
.seatbar{
    height:8px;
    background:#e5e7eb;
    border-radius:20px;
    overflow:hidden;
}

.seatbar>span{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#2563eb,#06b6d4);
}

/* Alerts */
.alert-soft{
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    border-radius:16px;
    padding:12px;
}

/* Old Priority Badges */
.status-badge{
    border-radius:999px;
    padding:5px 10px;
    font-size:12px;
    font-weight:800;
}

.Hot{
    background:#fee2e2;
    color:#991b1b;
}

.Warm{
    background:#fef3c7;
    color:#92400e;
}

.Cold{
    background:#e0f2fe;
    color:#075985;
}

/* Lead Status Colours */
.status-mark{
    padding:4px 10px;
    border-radius:20px;
    font-size:12px;
    font-weight:700;
    display:inline-block;
}

.status-Admitted{
    background:#16a34a;
    color:#fff;
}

.status-Called{
    background:#2563eb;
    color:#fff;
}

.status-Interested{
    background:#f59e0b;
    color:#fff;
}

.status-NotInterested{
    background:#6b7280;
    color:#fff;
}

.status-Followup{
    background:#7c3aed;
    color:#fff;
}

.status-Visited{
    background:#0891b2;
    color:#fff;
}

.status-Closed{
    background:#dc2626;
    color:#fff;
}

/* Footer */
.footer{
    margin-top:30px;
    padding:16px 20px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    font-size:13px;
    color:#64748b;
}

/* Mobile */
.mobile-menu{
    display:none;
}

@media(max-width:900px){
    .sidebar{
        display:none;
    }

    .main{
        margin-left:0;
        padding:14px;
    }

    .mobile-menu{
        display:flex;
        position:sticky;
        bottom:0;
        background:#fff;
        border-top:1px solid var(--line);
        justify-content:space-around;
        padding:8px;
        z-index:99;
    }

    .topbar{
        display:block;
    }

    .topbar h1{
        font-size:23px;
    }

    .cardx{
        border-radius:16px;
        padding:15px;
    }

    .table-responsive{
        font-size:13px;
    }

    .footer{
        display:block;
        text-align:center;
    }
}
```
