body {
    font-family: 'Roboto', sans-serif;
    background: #f5f7fa;
    color: #333;
}

a {
    transition: .3s;
}

.section {
    padding: 80px 0;
}

.section-title {
    font-size: 40px;
    font-weight: 700;
    color: #0C4B8E;
    margin-bottom: 20px;
}

.section-subtitle {
    color: #666;
    margin-bottom: 50px;
}

.btn-primary {

    background: #0C4B8E;
    border-color: #0C4B8E;
    padding: 12px 30px;

}

.btn-primary:hover {

    background: #08386A;

}

.card {

    border: none;

    box-shadow: 0 5px 25px rgba(0, 0, 0, .08);

}

.footer {

    margin-top: 80px;

    background: #08386A;

    color: #fff;

    padding: 60px 0 30px;

}

.footer a {

    color: #ddd;

}

.footer a:hover {

    color: #fff;

    text-decoration: none;

}




/* =============================
TOP BAR
============================= */

.topbar {

    background: #0C4B8E;

    color: #fff;

    font-size: 14px;

    padding: 10px 0;

}

.topbar a {

    color: #fff;

    text-decoration: none;

}

.topbar a:hover {

    color: #ffd54f;

}

.topbar i {

    margin-right: 5px;

}

/* =============================
NAVBAR
============================= */

.navbar {

    padding: 18px 0;

    transition: .3s;

}

.logo {

    width: 65px;

}

.logo-title {

    font-size: 22px;

    font-weight: 700;

    color: #0C4B8E;

    line-height: 1;

}

.navbar-brand small {

    display: block;

    font-size: 13px;

    color: #666;

}

.navbar-nav .nav-link {

    font-weight: 500;

    margin-left: 10px;

    color: #222 !important;

}

.navbar-nav .nav-link:hover {

    color: #0C4B8E !important;

}

.dropdown-menu {

    border: 0;

    border-radius: 8px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, .15);

}

.dropdown-item {

    padding: 12px 20px;

}

.dropdown-item:hover {

    background: #0C4B8E;

    color: #fff;

}


/* HERO */

.hero {

    position: relative;
    padding: 140px 0;
    background: url('../images/hero.jpg') center center;
    background-size: cover;
    color: #fff;

}

.hero .overlay {

    position: absolute;
    inset: 0;
    background: rgba(7, 49, 94, .82);

}

.hero .container {

    position: relative;
    z-index: 2;

}

.hero h1 {

    font-size: 58px;
    font-weight: 700;

}

.hero h1 small {

    font-size: 26px;
    color: #ffd54f;

}

.hero p {

    font-size: 20px;
    opacity: .95;
    margin: 30px 0;

}

.hero-tag {

    display: inline-block;
    padding: 8px 20px;
    background: #ffc107;
    color: #000;
    border-radius: 30px;
    font-weight: 600;
    margin-bottom: 25px;

}

/* HERO CARD */

.hero-card {

    background: #fff;
    color: #333;
    padding: 35px;
    border-radius: 10px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .2);

}

/* SERVICES */

.service-card {

    background: #fff;
    border-radius: 10px;
    padding: 35px;
    text-align: center;
    transition: .3s;
    box-shadow: 0 5px 25px rgba(0, 0, 0, .08);

}

.service-card:hover {

    transform: translateY(-8px);

}

.service-card .icon {

    width: 90px;
    height: 90px;
    margin: auto;
    border-radius: 50%;
    background: #eef5fc;
    color: #0C4B8E;
    font-size: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;

}

.service-card h3 {

    color: #0C4B8E;
    margin: 20px 0;

}

/* ABOUT */

.about-home {

    padding: 100px 0;

}

/* STEPS */

.step {

    width: 70px;
    height: 70px;
    margin: auto;
    background: #0C4B8E;
    color: #fff;
    border-radius: 50%;
    font-size: 28px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;

}

/* STATS */

.stats {

    background: #0C4B8E;
    color: #fff;
    padding: 80px 0;

}

.stats h2 {

    font-size: 46px;
    font-weight: 700;

}


.page-header {

    background: #0C4B8E;
    color: #fff;
    padding: 70px 0;
    margin-bottom: 60px;

}

.page-header h1 {

    font-size: 46px;
    font-weight: 700;

}

.page-header p {

    margin-top: 10px;
    opacity: .9;

}


.service-box {

    background: #fff;

    padding: 35px;

    border-radius: 10px;

    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);

    transition: .3s;

    height: 100%;

}

.service-box:hover {

    transform: translateY(-6px);

}

.service-icon {

    width: 90px;

    height: 90px;

    background: #eef5fc;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: auto;

}

.service-icon i {

    color: #0C4B8E;

    font-size: 36px;

}


.navbar .nav-item.active .nav-link {
    color: #0C4B8E !important;
    font-weight: 700;
    position: relative;
}

.navbar .nav-item.active .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 3px;
    background: #C8A447;
    border-radius: 3px;
}

.category-title {

    margin-bottom: 35px;

    padding-bottom: 12px;

    border-bottom: 3px solid #0C4B8E;

    color: #0C4B8E;

    font-weight: 700;

}

.service-code {

    background: #eef4ff;

    color: #0C4B8E;

    padding: 6px 12px;

    border-radius: 30px;

    font-size: 13px;

    font-weight: 600;

}

.service-box {

    background: #fff;

    border-radius: 10px;

    padding: 30px;

    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);

    transition: .3s;

}

.service-box:hover {

    transform: translateY(-5px);

    box-shadow: 0 15px 35px rgba(0, 0, 0, .12);

}

.service-icon {

    width: 90px;

    height: 90px;

    margin: auto;

    border-radius: 50%;

    background: #eef4ff;

    display: flex;

    justify-content: center;

    align-items: center;

}

.service-icon i {

    font-size: 36px;

    color: #0C4B8E;

}

.requirements {

    padding-left: 18px;

}

.requirements li {

    margin-bottom: 6px;

}

#serviceSearch {

    border-radius: 40px;

}

#categoryFilter {

    border-radius: 40px;

}


.timeline {

    margin-top: 25px;

}

.timeline-item {

    display: flex;

    align-items: center;

    margin-bottom: 20px;

}

.timeline-item span {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    background: #0C4B8E;

    color: #fff;

    display: flex;

    justify-content: center;

    align-items: center;

    margin-right: 15px;

    font-weight: bold;

}

.table-borderless th {

    width: 130px;

    color: #666;

}

.sticky-top {

    z-index: 10;

}




.application-steps {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 50px;

}

.application-steps .step {

    width: 70px;

    height: 70px;

    border-radius: 50%;

    background: #ddd;

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;

    font-weight: bold;

}

.application-steps .step.active {

    background: #0C4B8E;

    color: #fff;

}

.application-steps .step span {

    position: absolute;

    top: 80px;

    font-size: 13px;

    width: 100px;

    left: -15px;

    text-align: center;

}

.application-steps .line {

    height: 4px;

    background: #ddd;

    flex: 1;

    margin: 0 10px;

}
/* Portal account, admin, and payment screens */
.brand-mark {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    background: #0C4B8E;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    letter-spacing: 0;
    box-shadow: inset 0 -6px 0 rgba(255, 193, 7, .35);
}

.auth-section {
    padding: 70px 0;
    min-height: 68vh;
    background: linear-gradient(180deg, #eef5fc 0, #f5f7fa 45%, #f5f7fa 100%);
}

.portal-card {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 8px 28px rgba(12, 75, 142, .08);
}

.compact-header {
    margin-bottom: 0;
    padding: 48px 0;
}

.stat-card {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    padding: 24px;
    min-height: 112px;
    box-shadow: 0 8px 28px rgba(12, 75, 142, .08);
}

.stat-card span {
    display: block;
    color: #0C4B8E;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}

.stat-card small {
    display: block;
    margin-top: 10px;
    color: #5f6b7a;
    font-weight: 500;
}

.badge-lg {
    font-size: 14px;
    padding: 9px 12px;
}

.track-form {
    gap: 8px;
}

.timeline.wide .timeline-item {
    align-items: flex-start;
    padding-bottom: 6px;
}

.timeline-item.done span {
    background: #198754;
}

.application-steps .step {
    flex: 0 0 64px;
}

.table td,
.table th {
    vertical-align: middle;
}

@media (max-width: 991px) {
    .navbar .nav-item.active .nav-link::after {
        display: none;
    }

    .hero {
        padding: 90px 0;
    }

    .hero h1 {
        font-size: 42px;
    }

    .portal-card {
        padding: 22px;
    }

    .application-steps {
        overflow-x: auto;
        padding-bottom: 24px;
    }
}

/* Navbar alignment fixes */
.navbar > .container {
    display: flex;
    align-items: center;
}

.navbar-brand {
    flex: 0 0 auto;
    max-width: 360px;
    margin-right: 24px;
    white-space: nowrap;
}

.navbar-brand .ml-3 {
    min-width: 0;
}

.navbar-collapse {
    align-items: center;
}

.navbar-nav {
    align-items: center;
}

.navbar-nav .nav-link {
    margin-left: 0;
    padding: 10px 10px !important;
    white-space: nowrap;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.nav-actions .btn {
    margin-right: 0 !important;
    padding: 9px 16px;
    line-height: 1.2;
}

.dropdown-menu-lg {
    min-width: 260px;
}

@media (max-width: 1199px) {
    .navbar-brand {
        max-width: 310px;
        margin-right: 14px;
    }

    .logo-title {
        font-size: 19px;
    }

    .navbar-brand small {
        font-size: 12px;
    }

    .navbar-nav .nav-link {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 14px;
    }

    .nav-actions .btn {
        padding: 8px 12px;
    }
}

@media (max-width: 991px) {
    .navbar {
        padding: 12px 0;
    }

    .navbar > .container {
        flex-wrap: wrap;
    }

    .navbar-brand {
        max-width: calc(100% - 64px);
        margin-right: 0;
    }

    .brand-mark {
        width: 48px;
        height: 48px;
    }

    .navbar-collapse {
        flex-basis: 100%;
        margin-top: 14px;
    }

    .navbar-nav {
        align-items: stretch;
    }

    .navbar-nav .nav-link {
        padding: 11px 0 !important;
        border-bottom: 1px solid #eef2f6;
    }

    .nav-actions {
        align-items: stretch;
        gap: 10px;
    }

    .nav-actions .btn {
        flex: 1 1 0;
    }
}

@media (max-width: 420px) {
    .logo-title {
        font-size: 16px;
    }

    .navbar-brand small {
        font-size: 11px;
        white-space: normal;
        line-height: 1.25;
    }
}

/* Modern Delta State / Nigeria visual refresh */
:root {
    --delta-blue: #0b5fa5;
    --delta-blue-dark: #073b73;
    --nigeria-green: #008751;
    --nigeria-green-dark: #006b40;
    --delta-gold: #f2b705;
    --ink: #102033;
    --muted: #667085;
    --surface: #ffffff;
    --soft: #f3f8f5;
    --line: #dfe8e3;
}

body {
    background: #f6faf8;
    color: var(--ink);
}

.topbar {
    background: var(--nigeria-green);
    font-size: 13px;
}

.navbar {
    padding: 12px 0;
    border-bottom: 1px solid rgba(0, 135, 81, .12);
}

.brand-mark {
    background: linear-gradient(135deg, var(--nigeria-green), var(--delta-blue));
    border-radius: 12px;
    box-shadow: inset 0 -7px 0 rgba(242, 183, 5, .34), 0 10px 24px rgba(0, 135, 81, .18);
}

.logo-title,
.section-title,
.category-title,
.service-card h3,
.stat-card span {
    color: var(--nigeria-green);
}

.navbar-nav .nav-link {
    color: #25364b !important;
    border-radius: 8px;
}

.navbar-nav .nav-link:hover,
.navbar .nav-item.active .nav-link {
    color: var(--nigeria-green) !important;
    background: rgba(0, 135, 81, .08);
}

.navbar .nav-item.active .nav-link::after {
    background: var(--delta-gold);
    bottom: -12px;
}

.btn-primary {
    background: linear-gradient(135deg, var(--nigeria-green), var(--delta-blue));
    border: 0;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(0, 135, 81, .18);
}

.btn-primary:hover {
    background: linear-gradient(135deg, var(--nigeria-green-dark), var(--delta-blue-dark));
    transform: translateY(-1px);
}

.btn-outline-primary {
    color: var(--nigeria-green);
    border-color: var(--nigeria-green);
    border-radius: 8px;
}

.btn-outline-primary:hover {
    background: var(--nigeria-green);
    border-color: var(--nigeria-green);
}

.hero {
    background-position: center;
}

.hero .overlay {
    background: linear-gradient(120deg, rgba(0, 71, 44, .92), rgba(7, 59, 115, .84));
}

.hero-tag {
    background: var(--delta-gold);
    border-radius: 8px;
}

.hero-card,
.portal-card,
.service-card,
.service-box,
.stat-card,
.card {
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(16, 32, 51, .08);
}

.service-card:hover,
.service-box:hover,
.portal-card:hover {
    box-shadow: 0 24px 60px rgba(0, 135, 81, .13);
}

.service-card .icon,
.service-icon {
    background: linear-gradient(135deg, rgba(0, 135, 81, .12), rgba(11, 95, 165, .12));
    color: var(--nigeria-green);
}

.page-header {
    background: linear-gradient(135deg, var(--nigeria-green), var(--delta-blue));
}

.admin-hero {
    background: linear-gradient(135deg, #06452d, #0b5fa5);
}

.admin-tabs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.admin-tabs a {
    color: var(--ink);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 14px;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 600;
}

.admin-tabs a.active,
.admin-tabs a:hover {
    background: var(--nigeria-green);
    color: #fff;
    border-color: var(--nigeria-green);
}

.message-card h5 {
    color: var(--nigeria-green-dark);
}

.reply-box {
    background: #f3f8f5;
    border-left: 4px solid var(--nigeria-green);
    padding: 12px 14px;
    border-radius: 8px;
}

.table thead th {
    background: #f3f8f5;
    color: var(--ink);
    border-top: 0;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.form-control {
    border-color: #d6e3dd;
    border-radius: 8px;
}

.form-control:focus {
    border-color: var(--nigeria-green);
    box-shadow: 0 0 0 .2rem rgba(0, 135, 81, .14);
}

.footer {
    background: #063f2a;
}

.stats {
    background: linear-gradient(135deg, var(--nigeria-green), var(--delta-blue));
}

/* Formal government visual correction */
:root {
    --gov-green: #006b3f;
    --gov-green-dark: #004f2f;
    --delta-blue: #005eb8;
    --delta-blue-dark: #003f7d;
    --gov-gold: #b68a00;
    --gov-ink: #172033;
    --gov-muted: #5d6675;
    --gov-line: #d8dee8;
    --gov-bg: #f4f6f8;
    --gov-surface: #ffffff;
}

body {
    background: var(--gov-bg);
    color: var(--gov-ink);
    font-size: 15px;
}

.topbar {
    background: var(--gov-green-dark);
    border-bottom: 3px solid var(--gov-gold);
    font-weight: 500;
}

.navbar {
    background: #fff !important;
    padding: 10px 0;
    border-bottom: 1px solid var(--gov-line);
    box-shadow: none !important;
}

.brand-mark {
    background: var(--gov-green);
    border: 2px solid var(--gov-gold);
    border-radius: 4px;
    box-shadow: none;
    font-size: 18px;
}

.logo-title {
    color: var(--gov-green-dark);
    letter-spacing: .02em;
}

.navbar-brand small {
    color: var(--gov-muted);
}

.navbar-nav .nav-link {
    color: var(--gov-ink) !important;
    border-radius: 4px;
    font-weight: 600;
    text-transform: none;
}

.navbar-nav .nav-link:hover,
.navbar .nav-item.active .nav-link {
    background: #eef6f1;
    color: var(--gov-green-dark) !important;
}

.navbar .nav-item.active .nav-link::after {
    background: var(--gov-gold);
    bottom: -11px;
}

.dropdown-menu {
    border: 1px solid var(--gov-line);
    border-radius: 4px;
    box-shadow: 0 14px 30px rgba(23, 32, 51, .12);
}

.dropdown-item:hover {
    background: var(--gov-green);
    color: #fff;
}

.btn,
.form-control,
.portal-card,
.service-card,
.service-box,
.stat-card,
.card,
.hero-card,
.admin-tabs a,
.reply-box {
    border-radius: 4px !important;
}

.btn-primary {
    background: var(--gov-green);
    border: 1px solid var(--gov-green);
    box-shadow: none;
    font-weight: 700;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--gov-green-dark);
    border-color: var(--gov-green-dark);
    transform: none;
}

.btn-outline-primary {
    color: var(--gov-green-dark);
    border-color: var(--gov-green);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--gov-green);
    border-color: var(--gov-green);
    color: #fff;
}

.hero .overlay {
    background: rgba(0, 47, 88, .88);
}

.hero-tag {
    background: #fff;
    color: var(--gov-green-dark);
    border-left: 5px solid var(--gov-gold);
    border-radius: 2px;
}

.page-header,
.admin-hero,
.stats {
    background: var(--delta-blue-dark);
    border-bottom: 5px solid var(--gov-gold);
}

.page-header h1,
.hero h1,
.section-title,
.category-title {
    letter-spacing: 0;
}

.section-title,
.category-title,
.service-card h3,
.stat-card span {
    color: var(--gov-green-dark);
}

.portal-card,
.service-card,
.service-box,
.stat-card,
.card,
.hero-card {
    border: 1px solid var(--gov-line);
    box-shadow: 0 8px 24px rgba(23, 32, 51, .07);
}

.portal-card:hover,
.service-card:hover,
.service-box:hover {
    transform: none;
    box-shadow: 0 10px 28px rgba(23, 32, 51, .09);
}

.service-card .icon,
.service-icon {
    background: #eef6f1;
    color: var(--gov-green-dark);
    border: 1px solid #cfe0d7;
}

.service-code {
    background: #eef6f1;
    color: var(--gov-green-dark);
    border-radius: 4px;
}

.badge-info {
    background: var(--delta-blue);
}

.badge-success {
    background: var(--gov-green);
}

.badge-warning {
    background: var(--gov-gold);
    color: #1d1d1d;
}

.admin-tabs {
    border-bottom: 1px solid var(--gov-line);
    gap: 0;
}

.admin-tabs a {
    border: 1px solid var(--gov-line);
    border-bottom: 0;
    background: #fff;
    color: var(--gov-ink);
    margin-right: 6px;
}

.admin-tabs a.active,
.admin-tabs a:hover {
    background: var(--gov-green-dark);
    border-color: var(--gov-green-dark);
    color: #fff;
}

.table thead th {
    background: #eef2f6;
    color: var(--gov-ink);
    border-bottom: 2px solid var(--gov-line);
}

.form-control:focus {
    border-color: var(--gov-green);
    box-shadow: 0 0 0 .16rem rgba(0, 107, 63, .18);
}

.reply-box {
    background: #f7f9fb;
    border-left: 4px solid var(--gov-green);
}

.footer {
    background: #102033;
    border-top: 5px solid var(--gov-gold);
}

.footer h5 {
    color: #fff;
}

.footer a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Government portal reference-style layout */
:root {
    --portal-blue: #2f6f9f;
    --portal-blue-dark: #245a82;
    --portal-masthead: #eaf2fb;
    --portal-breadcrumb: #f4f4f4;
    --portal-green: #006b3f;
    --portal-orange: #f58220;
    --portal-text: #20242a;
    --portal-muted: #6c7077;
    --portal-border: #e1e4e8;
    --portal-notice: #fbf9df;
}

body {
    background: #fff;
    color: var(--portal-text);
    font-family: 'Roboto', Arial, sans-serif;
}

.gov-contact-strip {
    background: #ffffff;
    border-bottom: 1px solid #dfe5ea;
    color: #38434f;
    font-size: 13px;
    padding: 7px 0;
}

.gov-contact-strip a {
    color: #38434f;
}

.gov-masthead {
    background: var(--portal-masthead);
    border-bottom: 1px solid #d7e4ef;
    padding: 22px 0;
}

.gov-brand {
    display: flex;
    align-items: center;
    color: var(--portal-text);
    text-decoration: none;
}

.gov-brand:hover {
    color: var(--portal-text);
    text-decoration: none;
}

.gov-brand img {
    width: 112px;
    height: 112px;
    object-fit: contain;
    margin-right: 18px;
}

.gov-brand strong {
    display: block;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.1;
}

.gov-brand small {
    display: block;
    margin-top: 5px;
    color: #4d5b67;
    font-size: 15px;
}

.gov-auth-links {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 23px;
}

.gov-auth-links a {
    color: #1f252b;
    text-decoration: none;
}

.gov-auth-links a:hover {
    color: var(--portal-blue-dark);
}

.gov-nav {
    background: #fff !important;
    border-bottom: 1px solid var(--portal-border);
    box-shadow: none !important;
    padding: 0;
}

.gov-nav .navbar-nav .nav-link {
    color: #26323d !important;
    font-weight: 500;
    padding: 15px 16px !important;
    border-radius: 0;
}

.gov-nav .navbar-nav .nav-link:hover,
.gov-nav .navbar-nav .active .nav-link {
    background: #f4f8fb;
    color: var(--portal-blue-dark) !important;
}

.gov-nav .navbar .nav-item.active .nav-link::after,
.gov-nav .nav-item.active .nav-link::after,
.navbar .nav-item.active .nav-link::after {
    display: none;
}

.gov-nav .btn-primary {
    padding: 9px 18px;
}

.page-header,
.compact-header,
.admin-hero {
    background: #fff !important;
    color: var(--portal-text) !important;
    border-bottom: 1px solid var(--portal-border) !important;
    padding: 52px 0 28px !important;
    margin-bottom: 0 !important;
}

.page-header::before,
.compact-header::before,
.admin-hero::before {
    content: "Home / Portal";
    display: block;
    background: var(--portal-breadcrumb);
    color: #6f7378;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
    padding: 16px calc((100vw - 1140px) / 2);
    margin: -52px 0 48px;
    font-size: 15px;
}

.page-header h1,
.compact-header h1,
.admin-hero h1 {
    color: var(--portal-text);
    font-size: 44px;
    font-weight: 400;
    line-height: 1.22;
    max-width: 860px;
    margin-bottom: 22px;
}

.page-header h1::after,
.compact-header h1::after,
.admin-hero h1::after {
    content: "";
    display: block;
    height: 1px;
    background: var(--portal-border);
    margin-top: 26px;
    width: 100%;
}

.page-header p,
.compact-header p,
.admin-hero p {
    color: var(--portal-muted);
    font-size: 17px;
    opacity: 1;
}

.auth-section {
    background: #fff;
    padding: 56px 0 76px;
}

.portal-card,
.hero-card,
.card,
.service-card,
.service-box,
.stat-card {
    border: 1px solid var(--portal-border);
    border-radius: 3px !important;
    box-shadow: none !important;
}

.portal-card {
    padding: 34px;
}

.portal-card h2,
.portal-card h3 {
    font-weight: 400;
    color: var(--portal-text);
}

.portal-card > p.text-muted:first-of-type,
.auth-section .portal-card p.text-muted {
    background: var(--portal-notice);
    border-left: 7px solid var(--portal-orange);
    color: #292d33 !important;
    font-size: 20px;
    line-height: 1.65;
    padding: 24px 30px;
    margin: 24px 0 26px;
}

.alert-success {
    background: #dff1e5;
    border-color: #c8e7d1;
    color: #155d32;
    border-radius: 3px;
    font-size: 18px;
}

.alert-warning,
.alert-info {
    border-radius: 3px;
}

.btn-primary {
    background: var(--portal-blue);
    border-color: var(--portal-blue);
    border-radius: 3px !important;
    box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--portal-blue-dark);
    border-color: var(--portal-blue-dark);
}

.btn-outline-primary {
    color: var(--portal-blue-dark);
    border-color: var(--portal-blue);
    border-radius: 3px !important;
}

.btn-outline-primary:hover {
    background: var(--portal-blue);
    border-color: var(--portal-blue);
}

.form-control {
    border-radius: 3px !important;
    border-color: #cfd6dd;
    min-height: 44px;
}

.form-control:focus {
    border-color: var(--portal-blue);
    box-shadow: 0 0 0 .12rem rgba(47, 111, 159, .18);
}

.section-title,
.category-title,
.service-card h3,
.stat-card span {
    color: var(--portal-blue-dark);
}

.service-code {
    background: #eef5fa;
    color: var(--portal-blue-dark);
    border-radius: 3px;
}

.table thead th {
    background: #f4f4f4;
    color: #333;
    border-bottom: 1px solid #d8dce0;
    text-transform: none;
    letter-spacing: 0;
}

.admin-tabs {
    background: #f4f4f4;
    border: 1px solid var(--portal-border);
    padding: 8px;
}

.admin-tabs a {
    border: 0;
    background: transparent;
    border-radius: 3px !important;
    color: #394550;
}

.admin-tabs a.active,
.admin-tabs a:hover {
    background: var(--portal-blue);
    color: #fff;
}

.footer {
    background: #26323d;
    border-top: 4px solid var(--portal-blue);
}

@media (max-width: 767px) {
    .gov-masthead {
        padding: 18px 0;
    }

    .gov-brand img {
        width: 88px;
        height: 88px;
        margin-right: 12px;
    }

    .gov-brand strong {
        font-size: 19px;
    }

    .gov-brand small {
        font-size: 12px;
    }

    .gov-auth-links {
        font-size: 18px;
        margin-top: 14px;
    }

    .gov-masthead .container {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .page-header::before,
    .compact-header::before,
    .admin-hero::before {
        padding-left: 15px;
        padding-right: 15px;
    }

    .page-header h1,
    .compact-header h1,
    .admin-hero h1 {
        font-size: 34px;
    }
}

/* Refined official header */
.official-header {
    background: #fff;
    border-bottom: 1px solid #d7dde4;
}

.official-topline {
    background: #f6f8fa;
    border-bottom: 1px solid #e0e5ea;
    color: #52606d;
    font-size: 13px;
    padding: 7px 0;
}

.official-topline a {
    color: #435161;
    text-decoration: none;
    margin-left: 18px;
}

.official-topline a:hover {
    color: #005eb8;
}

.official-topline .divider {
    color: #adb5bd;
    margin: 0 10px;
}

.official-main {
    background: #fff;
    padding: 18px 0;
}

.official-brand {
    display: flex;
    align-items: center;
    color: #172033;
    text-decoration: none;
    min-width: 0;
}

.official-brand:hover {
    color: #172033;
    text-decoration: none;
}

.official-crest {
    width: 74px;
    height: 74px;
    flex: 0 0 74px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4f8;
    border: 1px solid #d9e2ea;
    margin-right: 16px;
}

.official-crest img {
    width: 62px;
    height: 62px;
    object-fit: contain;
}

.official-title strong {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.18;
    color: #12324a;
}

.official-title small {
    display: block;
    margin-top: 5px;
    color: #5d6772;
    font-size: 15px;
}

.official-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}

.official-action-link,
.official-signin {
    color: #23313f;
    text-decoration: none;
    font-weight: 600;
}

.official-action-link:hover,
.official-signin:hover {
    color: #005eb8;
    text-decoration: none;
}

.official-signin {
    border: 1px solid #cbd5df;
    padding: 9px 14px;
    background: #f8fafc;
}

.official-nav {
    background: #004f7c !important;
    border-top: 4px solid #006b3f;
    border-bottom: 3px solid #b68a00;
    padding: 0;
}

.official-nav .navbar-nav .nav-link {
    color: #fff !important;
    padding: 14px 17px !important;
    font-weight: 600;
    border-radius: 0;
}

.official-nav .navbar-nav .nav-link:hover,
.official-nav .navbar-nav .active .nav-link {
    background: rgba(255, 255, 255, .14);
    color: #fff !important;
}

.official-nav .dropdown-menu {
    margin-top: 0;
    border-radius: 0;
    border: 1px solid #ccd4dc;
    box-shadow: 0 10px 26px rgba(18, 50, 74, .16);
}

.official-register {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .7);
    padding: 8px 14px;
    font-weight: 700;
    text-decoration: none;
}

.official-register:hover {
    background: #fff;
    color: #004f7c;
    text-decoration: none;
}

/* Hide previous header systems if cached CSS still applies */
.gov-header .gov-contact-strip,
.gov-header .gov-masthead,
.gov-header .gov-nav,
.topbar:not(.official-topline) {
    display: none;
}

@media (max-width: 991px) {
    .official-main .container {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .official-actions {
        margin-top: 14px;
        flex-wrap: wrap;
        white-space: normal;
    }

    .official-nav .navbar-toggler {
        margin: 10px 0;
        border-color: rgba(255,255,255,.5);
    }

    .official-register {
        display: inline-block;
        margin: 10px 0 14px;
    }
}

@media (max-width: 575px) {
    .official-topline-right,
    .official-topline-left {
        display: block;
        width: 100%;
    }

    .official-topline a {
        margin-left: 0;
        margin-right: 12px;
    }

    .official-crest {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

    .official-crest img {
        width: 48px;
        height: 48px;
    }

    .official-title strong {
        font-size: 19px;
    }

    .official-title small {
        font-size: 13px;
    }
}

/* Clean header and compact alert correction */
.site-header {
    background: #fff;
    border-top: 4px solid #006b3f;
    box-shadow: 0 2px 10px rgba(16, 32, 51, .06);
    position: relative;
    z-index: 1000;
}

.site-header-main {
    background: #fff;
    border-bottom: 1px solid #e4e8ed;
}

.site-header-inner {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    color: #172033;
    text-decoration: none;
    min-width: 0;
}

.site-brand:hover {
    color: #172033;
    text-decoration: none;
}

.site-brand-logo {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 14px;
}

.site-brand-logo img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.site-brand-text strong {
    display: block;
    color: #12324a;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.15;
}

.site-brand-text small {
    display: block;
    margin-top: 4px;
    color: #66717d;
    font-size: 14px;
}

.site-quick-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.site-quick-actions a {
    height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2c3b49;
    background: #f7f9fb;
    border: 1px solid #e0e6ec;
    padding: 0 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.site-quick-actions a i,
.site-nav .nav-link i,
.dropdown-item i,
.create-account-link i {
    color: #006b3f;
    width: 16px;
    text-align: center;
}

.site-quick-actions a:hover,
.site-quick-actions .account-link {
    background: #eef6f2;
    border-color: #c7ddd2;
    color: #004f2f;
}

.site-nav {
    background: #fff !important;
    padding: 0;
    border: 0;
    box-shadow: none !important;
}

.site-nav .navbar-nav .nav-link {
    color: #263440 !important;
    padding: 13px 14px !important;
    font-weight: 600;
    border-bottom: 3px solid transparent;
    border-radius: 0;
}

.site-nav .navbar-nav .nav-link:hover,
.site-nav .navbar-nav .active .nav-link {
    background: #f6faf8;
    color: #005eb8 !important;
    border-bottom-color: #006b3f;
}

.site-nav .navbar-nav .active .nav-link i,
.site-nav .navbar-nav .nav-link:hover i {
    color: #005eb8;
}

.site-nav .dropdown-menu {
    border: 1px solid #d8e0e7;
    border-radius: 0;
    box-shadow: 0 12px 28px rgba(16, 32, 51, .12);
    margin-top: 0;
}

.site-nav .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.site-nav .dropdown-item:hover,
.site-nav .dropdown-item:hover i {
    background: #f4f8fb;
    color: #005eb8;
}

.create-account-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #006b3f;
    color: #fff;
    padding: 9px 14px;
    text-decoration: none;
    font-weight: 700;
}

.create-account-link i {
    color: #fff;
}

.create-account-link:hover {
    background: #004f2f;
    color: #fff;
    text-decoration: none;
}

/* remove previous header systems completely */
.gov-header,
.official-header,
.topbar,
.gov-contact-strip,
.gov-masthead,
.gov-nav,
.official-topline,
.official-main,
.official-nav {
    display: none !important;
}

/* compact notice boxes: official, readable, not dominant */
.portal-card > p.text-muted:first-of-type,
.auth-section .portal-card p.text-muted {
    background: #fffbea;
    border-left: 5px solid #f58220;
    color: #2f343a !important;
    font-size: 15px;
    line-height: 1.55;
    padding: 14px 16px;
    margin: 14px 0 20px;
}

.auth-section {
    padding: 42px 0 64px;
}

.portal-card {
    padding: 26px;
}

.page-header::before,
.compact-header::before,
.admin-hero::before {
    padding-top: 12px;
    padding-bottom: 12px;
    margin-bottom: 34px;
}

.page-header h1,
.compact-header h1,
.admin-hero h1 {
    font-size: 38px;
}

@media (max-width: 991px) {
    .site-header-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 14px 0;
        gap: 12px;
    }

    .site-quick-actions {
        flex-wrap: wrap;
        white-space: normal;
    }

    .site-nav .navbar-toggler {
        margin: 8px 0;
    }

    .create-account-link {
        margin: 10px 0 14px;
    }
}

@media (max-width: 575px) {
    .site-brand-logo {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }

    .site-brand-logo img {
        width: 46px;
        height: 46px;
    }

    .site-brand-text strong {
        font-size: 18px;
    }

    .site-brand-text small {
        font-size: 12px;
    }

    .site-quick-actions a span {
        display: none;
    }
}

/* Restore first navbar style, cleaned up */
.site-header,
.gov-header,
.official-header,
.site-nav,
.site-header-main,
.official-main,
.official-nav,
.gov-nav,
.gov-masthead,
.gov-contact-strip,
.official-topline {
    display: none !important;
}

.topbar {
    display: block !important;
    background: #0C4B8E !important;
    color: #fff !important;
    border: 0 !important;
    padding: 9px 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.topbar a,
.topbar span {
    color: #fff !important;
}

.topbar i {
    color: #C8A447 !important;
    margin-right: 6px;
}

.main-navbar,
.navbar.main-navbar {
    display: flex !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #e6ebf0 !important;
    box-shadow: 0 4px 16px rgba(12, 75, 142, .08) !important;
    padding: 15px 0 !important;
}

.main-navbar .navbar-brand {
    max-width: 430px;
    margin-right: 28px;
    color: #111;
}

.main-navbar .logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.main-navbar .logo-title {
    color: #0C4B8E !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}

.main-navbar .navbar-brand small {
    color: #596573 !important;
    font-size: 13px;
    line-height: 1.25;
}

.main-navbar .navbar-nav {
    align-items: center;
}

.main-navbar .navbar-nav .nav-link {
    color: #202b36 !important;
    font-weight: 600;
    padding: 11px 10px !important;
    margin: 0 2px;
    border-radius: 0 !important;
    border-bottom: 3px solid transparent;
    background: transparent !important;
}

.main-navbar .navbar-nav .nav-link:hover,
.main-navbar .navbar-nav .active .nav-link {
    color: #0C4B8E !important;
    border-bottom-color: #C8A447;
}

.main-navbar .navbar-nav .nav-link i {
    display: none !important;
}

.main-navbar .dropdown-menu {
    border: 0 !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .14) !important;
    margin-top: 12px;
}

.main-navbar .dropdown-item {
    color: #24313d !important;
    padding: 11px 18px !important;
}

.main-navbar .dropdown-item:hover {
    background: #0C4B8E !important;
    color: #fff !important;
}

.main-navbar .dropdown-item i {
    display: none !important;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.nav-actions .btn {
    border-radius: 4px !important;
    padding: 9px 15px !important;
    font-weight: 700;
    box-shadow: none !important;
}

.nav-actions .btn i {
    margin-right: 6px;
}

.btn-primary {
    background: #0C4B8E !important;
    border-color: #0C4B8E !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background: #08386A !important;
    border-color: #08386A !important;
}

.btn-outline-primary {
    color: #0C4B8E !important;
    border-color: #0C4B8E !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: #0C4B8E !important;
    color: #fff !important;
}

/* remove the random green accent from the header */
.official-header,
.site-header {
    border-top: 0 !important;
}

@media (max-width: 991px) {
    .main-navbar,
    .navbar.main-navbar {
        padding: 12px 0 !important;
    }

    .main-navbar .navbar-brand {
        max-width: calc(100% - 58px);
        margin-right: 0;
    }

    .main-navbar .logo {
        width: 52px;
        height: 52px;
    }

    .main-navbar .logo-title {
        font-size: 18px;
    }

    .main-navbar .navbar-brand small {
        font-size: 12px;
    }

    .main-navbar .navbar-collapse {
        margin-top: 12px;
        border-top: 1px solid #edf1f5;
        padding-top: 8px;
    }

    .main-navbar .navbar-nav {
        align-items: stretch;
    }

    .main-navbar .navbar-nav .nav-link {
        padding: 12px 0 !important;
        border-bottom: 1px solid #edf1f5;
    }

    .nav-actions {
        align-items: stretch;
    }

    .nav-actions .btn {
        flex: 1 1 0;
        text-align: center;
    }
}

/* Compact page headers: context, not focal point */
.page-header,
.compact-header,
.admin-hero {
    background: #fff !important;
    color: #1f2933 !important;
    border-bottom: 1px solid #e6ebf0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.page-header::before,
.compact-header::before,
.admin-hero::before {
    content: "Home / Portal";
    display: block;
    background: #f6f7f9;
    color: #6b7280;
    border-top: 1px solid #edf0f2;
    border-bottom: 1px solid #edf0f2;
    padding: 10px calc((100vw - 1140px) / 2);
    margin: 0 0 0;
    font-size: 14px;
    line-height: 1.4;
}

.page-header .container,
.compact-header .container,
.admin-hero .container {
    padding-top: 28px !important;
    padding-bottom: 24px !important;
}

.page-header h1,
.compact-header h1,
.admin-hero h1 {
    color: #1f2933 !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
    max-width: 900px;
}

.page-header h1::after,
.compact-header h1::after,
.admin-hero h1::after {
    display: none !important;
}

.page-header p,
.compact-header p,
.admin-hero p {
    color: #667085 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    max-width: 880px;
}

.page-header .service-code {
    display: inline-block;
    margin-bottom: 12px;
}

.section {
    padding: 46px 0 !important;
}

.section.pt-4 {
    padding-top: 34px !important;
}

.portal-card.table-responsive {
    padding: 22px !important;
}

.table th,
.table td {
    padding-top: 14px;
    padding-bottom: 14px;
}

@media (max-width: 767px) {
    .page-header::before,
    .compact-header::before,
    .admin-hero::before {
        padding-left: 15px;
        padding-right: 15px;
    }

    .page-header .container,
    .compact-header .container,
    .admin-hero .container {
        padding-top: 22px !important;
        padding-bottom: 20px !important;
    }

    .page-header h1,
    .compact-header h1,
    .admin-hero h1 {
        font-size: 28px !important;
    }
}

/* Mobile polish: topbar, collapsed nav, page spacing, and tables */
@media (max-width: 767px) {
    .topbar {
        padding: 7px 0 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .topbar .row,
    .topbar .col-lg-6 {
        display: block;
        text-align: left !important;
    }

    .topbar .col-lg-6:first-child span {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 3px;
    }

    .topbar .col-lg-6:last-child {
        display: flex;
        gap: 10px;
        align-items: center;
        overflow: hidden;
    }

    .topbar .col-lg-6:last-child a {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .topbar .mx-2 {
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex: 0 0 auto;
    }

    .topbar i {
        margin-right: 4px !important;
    }

    .main-navbar .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .main-navbar .navbar-brand {
        max-width: calc(100% - 70px) !important;
    }

    .main-navbar .brand-copy {
        min-width: 0;
    }

    .main-navbar .logo-title {
        font-size: 17px !important;
        white-space: nowrap;
    }

    .main-navbar .navbar-brand small {
        display: block;
        max-width: 245px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .main-navbar .navbar-toggler {
        width: 48px;
        height: 44px;
        padding: 0;
        border-color: #d8dee6;
        border-radius: 4px;
    }

    .main-navbar .navbar-collapse {
        margin-top: 12px;
        padding-top: 0;
        border-top: 1px solid #e7edf3;
    }

    .main-navbar .navbar-nav .nav-link {
        font-size: 15px !important;
        padding: 13px 4px !important;
        margin: 0;
        border-bottom: 1px solid #e9eef3 !important;
    }

    .main-navbar .navbar-nav .active .nav-link {
        border-bottom-color: #C8A447 !important;
    }

    .main-navbar .dropdown-menu {
        box-shadow: none !important;
        margin-top: 0;
        border: 1px solid #e7edf3 !important;
    }

    .nav-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 12px !important;
        white-space: normal;
    }

    .nav-actions .btn {
        width: 100%;
        padding: 10px 8px !important;
        font-size: 15px;
    }

    .page-header::before,
    .compact-header::before,
    .admin-hero::before {
        font-size: 14px;
        padding: 12px 16px !important;
    }

    .page-header .container,
    .compact-header .container,
    .admin-hero .container {
        padding: 22px 22px 20px !important;
    }

    .page-header h1,
    .compact-header h1,
    .admin-hero h1 {
        font-size: 31px !important;
        line-height: 1.15 !important;
    }

    .page-header p,
    .compact-header p,
    .admin-hero p {
        font-size: 17px !important;
    }

    .section,
    .section.pt-4 {
        padding: 28px 0 !important;
    }

    .portal-card.table-responsive {
        padding: 0 !important;
        border: 1px solid #dfe5eb;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table {
        min-width: 720px;
        margin-bottom: 0;
        font-size: 14px;
    }

    .table th,
    .table td {
        padding: 12px 14px !important;
        white-space: normal;
        vertical-align: middle;
    }

    .table td .btn,
    .table .btn {
        padding: 6px 10px !important;
        font-size: 13px;
    }
}

@media (max-width: 420px) {
    .topbar {
        font-size: 11px !important;
    }

    .main-navbar .logo {
        width: 46px !important;
        height: 46px !important;
    }

    .main-navbar .logo-title {
        font-size: 16px !important;
    }

    .main-navbar .navbar-brand small {
        max-width: 210px;
        font-size: 11px !important;
    }

    .page-header h1,
    .compact-header h1,
    .admin-hero h1 {
        font-size: 28px !important;
    }
}

/* Home mobile repair: one-line topbar, hero spacing, cleaner section rhythm */
.topbar .container {
    overflow: hidden;
}

.topbar-scroll {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    white-space: nowrap;
}

.topbar-item {
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.topbar-item i {
    color: #C8A447 !important;
    margin-right: 0 !important;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.hero-actions .btn {
    margin-right: 0 !important;
}

@media (max-width: 767px) {
    .topbar {
        padding: 5px 0 !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }

    .topbar .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .topbar-scroll {
        justify-content: flex-start;
        gap: 18px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 2px 0;
    }

    .topbar-scroll::-webkit-scrollbar {
        display: none;
    }

    .topbar-item {
        flex: 0 0 auto;
        max-width: none;
    }

    .hero {
        padding: 36px 0 42px !important;
    }

    .hero .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .hero-tag {
        font-size: 12px;
        padding: 8px 12px;
        margin-bottom: 18px;
    }

    .hero h1 {
        font-size: 34px !important;
        line-height: 1.12;
        margin-bottom: 10px;
    }

    .hero h1 small {
        font-size: 19px !important;
    }

    .hero p {
        font-size: 15px !important;
        line-height: 1.6;
        margin: 20px 0 0 !important;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 22px !important;
        margin-bottom: 18px;
    }

    .hero-actions .btn {
        width: 100%;
        justify-content: center;
        padding: 12px 14px !important;
        font-size: 16px;
    }

    .hero-card {
        margin-top: 14px;
        padding: 20px !important;
    }

    .hero-card h4 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .hero-card p {
        color: #4a5562;
        font-size: 14px !important;
        margin: 0 0 14px !important;
    }

    .section-title {
        font-size: 27px !important;
        margin-bottom: 8px;
    }

    .section .text-center.mb-5 {
        margin-bottom: 24px !important;
    }

    .service-card {
        padding: 22px !important;
        margin-bottom: 4px;
    }

    .service-card .icon {
        width: 66px;
        height: 66px;
        font-size: 24px;
        margin-bottom: 16px;
    }

    .service-card h4 {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .service-card h3 {
        font-size: 19px;
        margin: 10px 0 16px;
    }

    .about-home {
        padding: 34px 0 !important;
    }

    .about-home img {
        margin-bottom: 18px;
        width: 100%;
    }

    .about-home h2,
    .section h2 {
        font-size: 25px;
        line-height: 1.25;
    }

    .step {
        width: 48px;
        height: 48px;
        font-size: 18px;
        margin-bottom: 10px;
    }

    .section.bg-light .row.text-center .col {
        flex: 0 0 33.333%;
        max-width: 33.333%;
        margin-bottom: 18px;
    }

    .section.bg-light h5 {
        font-size: 12px;
        line-height: 1.25;
    }

    .stats {
        padding: 34px 0 !important;
    }

    .stats h2 {
        font-size: 32px !important;
        margin-bottom: 4px;
    }

    .stats p {
        margin-bottom: 18px;
    }
}

/* Desktop topbar alignment */
@media (min-width: 768px) {
    .topbar-scroll {
        justify-content: space-between !important;
        width: 100%;
    }

    .topbar-scroll .topbar-item:first-child {
        margin-right: auto;
    }

    .topbar-scroll .topbar-item:nth-child(2) {
        margin-left: auto;
    }
}

/* Dashboard action buttons */
.dashboard-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.dashboard-section-head h3 {
    margin: 0;
}

.dashboard-actions {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.dashboard-actions .btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px !important;
    line-height: 1.2;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .dashboard-section-head {
        display: block;
        margin-bottom: 16px;
    }

    .dashboard-section-head h3 {
        margin-bottom: 14px;
    }

    .dashboard-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        width: 100%;
    }

    .dashboard-actions .btn {
        width: 100%;
        min-height: 48px;
        padding: 10px 8px !important;
        font-size: 15px;
        text-align: center;
    }
}

@media (max-width: 380px) {
    .dashboard-actions {
        grid-template-columns: 1fr;
    }
}
