body {
    background: #f5f7fb;
}

.page-title {
    font-size: 1.5rem;
    font-weight: 700;
}

.card {
    border: none;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #e5e7eb;
}

.table thead th {
    white-space: nowrap;
    background: #f8fafc;
}

.badge-status {
    font-size: .78rem;
}

.form-label {
    font-weight: 600;
    color: #334155;
}

.details-label {
    color: #64748b;
    font-size: .85rem;
    margin-bottom: .1rem;
}

.details-value {
    font-weight: 600;
    color: #0f172a;
}

.white-space-pre {
    white-space: pre-wrap;
}

.login-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e2e8f0 0%, #f8fafc 100%);
}

.login-card {
    width: 100%;
    max-width: 430px;
}

/* TOSMILE website visual identity - matched to supplied styles.css */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--tosmile-blue:#073956;--tosmile-navy:#05283e;--tosmile-deep:#031d30;--tosmile-gold:#d9b46d;--tosmile-text:#edf4f8;--bs-primary:#d9b46d;--bs-primary-rgb:217,180,109;}
body{background:var(--tosmile-deep);color:var(--tosmile-text);font-family:'DM Sans',sans-serif;}
h1,h2,h3,h4,h5,h6,.page-title{font-family:Manrope,sans-serif;color:var(--tosmile-text)}
.tosmile-navbar,.navbar.bg-dark{background:rgba(3,29,48,.98)!important;border-bottom:1px solid rgba(217,180,109,.35);}
.navbar-brand img{width:80px!important;height:45px!important;object-fit:contain;border-radius:5px;mix-blend-mode:lighten;}
.navbar .nav-link{color:#d4e3eb!important;font-weight:600}.navbar .nav-link:hover{color:var(--tosmile-gold)!important}
.card,.modal-content,.dropdown-menu{background:linear-gradient(155deg,#104866,#082d46 75%);border:1px solid rgba(217,180,109,.28);color:var(--tosmile-text);border-radius:16px;box-shadow:0 15px 45px #0002;}
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,.card .card-title{color:var(--tosmile-text)}
.section-title{color:var(--tosmile-gold);border-bottom-color:rgba(217,180,109,.25)}
.form-label,.details-label{color:#c9d8e2}.details-value{color:#f4f7f9}
.form-control,.form-select{background:#05283e;color:#fff;border:1px solid #5a7888;border-radius:8px;min-height:40px}
.form-control:focus,.form-select:focus{background:#082f49;color:#fff;border-color:var(--tosmile-gold);box-shadow:0 0 0 .2rem #d9b46d33}
.form-control::placeholder{color:#9bb0bd}.form-check-input:checked{background-color:#c79c52;border-color:#c79c52}
.btn-primary{background:linear-gradient(135deg,#f2d99d,#c79c52);border-color:#d9b46d;color:#102d40;font-weight:700}.btn-primary:hover{background:#e7c785;border-color:#e7c785;color:#102d40}
.btn-outline-light{border-color:#d9b46d;color:#d9b46d}.btn-outline-light:hover{background:#d9b46d;color:#05283e}
a{color:#e6c98b}a:hover{color:#f2d99d}
.table{--bs-table-bg:transparent;--bs-table-color:#edf4f8;--bs-table-border-color:#476477;--bs-table-striped-bg:#ffffff0a;--bs-table-striped-color:#edf4f8;--bs-table-hover-bg:#ffffff16;--bs-table-hover-color:#fff;color:#edf4f8}
.table thead th{background:#05283e;color:#e6c98b;white-space:nowrap}
.text-muted,.text-secondary{color:#b7c9d4!important}.bg-light{background:#082d46!important}.bg-white{background:#104866!important}.text-dark{color:#edf4f8!important}
.login-body{background:radial-gradient(ellipse at 50% 34%,#10577b 0%,#073956 48%,#031d30 100%);padding:24px;min-height:100vh}
.login-card{max-width:460px}.login-card img{width:220px!important;height:125px!important;object-fit:contain;mix-blend-mode:lighten}.login-card .text-muted{color:#b7c9d4!important}
.alert{border-radius:10px}.pagination .page-link{background:#05283e;border-color:#42667c;color:#e6c98b}
@media(max-width:767px){.navbar-brand img{width:65px!important;height:40px!important}.navbar-brand{font-size:1rem}.container-fluid.py-4{padding:14px!important}.card{border-radius:12px}.table-responsive{overflow-x:auto}}
