:root{
    --britus-primary:#0D2B4D;
    --britus-secondary:#173B63;
    --britus-light:#F3F5F7;
    --britus-border:#D9E0E7;
    --britus-text:#1D2A35;
    --britus-white:#FFFFFF;
    --britus-success:#198754;
    --britus-danger:#dc3545;
}

body{
    background: linear-gradient(180deg, #f7f9fb 0%, #eef2f6 100%);
    color: var(--britus-text);
    font-family: "Inter", "Segoe UI", Tahoma, Arial, sans-serif;
}

.page-wrap{
    min-height: 100vh;
    padding: 40px 0;
}

.form-card,
.admin-card{
    background: var(--britus-white);
    border: 1px solid var(--britus-border);
    border-radius: 22px;
    box-shadow: 0 15px 40px rgba(13,43,77,.08);
    overflow: hidden;
}

.brand-header{
    background: linear-gradient(135deg, var(--britus-primary), var(--britus-secondary));
    color: #fff;
    padding: 28px;
}

.brand-header img{
    max-height: 70px;
    object-fit: contain;
    background: #fff;
    border-radius: 14px;
    padding: 8px;
}

.brand-title{
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
}

.brand-subtitle{
    opacity: .9;
    margin-top: 6px;
}

.section-card{
    background: #fff;
    border: 1px solid var(--britus-border);
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 20px;
    transition: .25s ease;
}

.section-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(13,43,77,.06);
}

.section-title{
    color: var(--britus-primary);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 18px;
    border-bottom: 2px solid var(--britus-light);
    padding-bottom: 10px;
}

.form-label{
    font-weight: 600;
    margin-bottom: 8px;
}

.form-control,
.form-select{
    border-radius: 12px;
    border: 1px solid var(--britus-border);
    min-height: 48px;
}

.form-control:focus,
.form-select:focus{
    border-color: var(--britus-secondary);
    box-shadow: 0 0 0 .2rem rgba(23,59,99,.12);
}

.btn-britus{
    background: var(--britus-primary);
    color: #fff;
    border-radius: 12px;
    padding: 12px 22px;
    font-weight: 600;
    border: none;
}

.btn-britus:hover{
    background: var(--britus-secondary);
    color: #fff;
}

.btn-outline-britus{
    border: 1px solid var(--britus-primary);
    color: var(--britus-primary);
    border-radius: 12px;
    padding: 10px 18px;
    font-weight: 600;
}

.btn-outline-britus:hover{
    background: var(--britus-primary);
    color: #fff;
}

.table thead th{
    background: var(--britus-primary);
    color: #fff;
    border: none;
    vertical-align: middle;
    white-space: nowrap;
}

.table tbody td{
    vertical-align: middle;
}

.login-box{
    max-width: 420px;
    margin: 60px auto;
}

.badge-soft{
    background: #e9f0f7;
    color: var(--britus-primary);
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 600;
}

.note-text{
    color: #6c757d;
    font-size: .95rem;
}