:root {
    --roadlez-primary: #176b73;
    --roadlez-primary-dark: #103f46;
    --roadlez-primary-light: #2c8991;
    --roadlez-accent: #e9a23b;
    --roadlez-accent-dark: #c9801f;
    --roadlez-asphalt: #171a1d;
    --roadlez-graphite: #23272b;
    --roadlez-surface: #f4f5f3;
    --roadlez-ink: #25282a;
    --bs-primary: #176b73;
    --bs-primary-rgb: 23, 107, 115;
    --bs-link-color: #176b73;
    --bs-link-hover-color: #103f46;
    --roadlez-hex-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M43.39 11.416Q50 7.6 56.61 11.416L80.11 24.984Q86.72 28.8 86.72 36.432V63.568Q86.72 71.2 80.11 75.016L56.61 88.584Q50 92.4 43.39 88.584L19.89 75.016Q13.28 71.2 13.28 63.568V36.432Q13.28 28.8 19.89 24.984Z'/%3E%3C/svg%3E");
}

body {
    letter-spacing: -.005em;
}

.app-authenticated {
    --primary: 23, 107, 115;
    --app-nav-background: #17282b;
    --app-nav-bg: #17282b;
    --app-nav-link-color: rgba(255, 255, 255, .72);
    --app-nav-link-hover-color: #fff;
    --app-nav-link-active-color: #fff;
    --app-nav-title-color: rgba(255, 255, 255, .38);
    --app-nav-item-hover-bg: rgba(255, 255, 255, .065);
    --app-nav-item-active-bg: rgba(233, 162, 59, .13);
    --app-nav-border-color: rgba(255, 255, 255, .08);
    --app-nav-active-indicator: #e9a23b;
}

.app-authenticated .app-sidebar {
    background:
        radial-gradient(circle at 20% 5%, rgba(44, 137, 145, .26), transparent 14rem),
        linear-gradient(180deg, #173b40, #142528 72%);
    border-right: 0;
    box-shadow: .5rem 0 2rem rgba(17, 24, 39, .08);
}

.app-authenticated .app-sidebar .roadlez-logo {
    min-height: var(--app-header-height);
    padding: 0 1.25rem;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .075);
}

.app-authenticated .app-header .roadlez-logo {
    color: #fff;
    background:
        radial-gradient(circle at 20% 20%, rgba(44, 137, 145, .32), transparent 11rem),
        #173b40;
    border-right: 0;
}

.app-authenticated .app-header .roadlez-logo:hover {
    color: #fff;
}

.app-authenticated .app-sidebar .app-menu-filter-container {
    padding-top: .85rem;
}

.app-authenticated .app-sidebar .form-control {
    color: #fff;
    background: rgba(255, 255, 255, .065);
    border-color: rgba(255, 255, 255, .09);
}

.app-authenticated .app-sidebar .form-control::placeholder {
    color: rgba(255, 255, 255, .38);
}

.app-authenticated .app-sidebar .nav-footer {
    color: rgba(255, 255, 255, .55);
    border-top-color: rgba(255, 255, 255, .075);
}

.roadlez-logo,
.app-header .app-logo {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: inherit;
    text-decoration: none;
}

.roadlez-brand-image {
    /* Lockup horizontal: símbolo + wordmark */
    width: auto !important;
    max-width: 12rem !important;
    height: 2.8rem !important;
    object-fit: contain;
    object-position: left center;
}

.roadlez-brand-symbol {
    display: none;
    width: 2.4rem !important;
    min-width: 2.4rem !important;
    height: 2.4rem !important;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
}

.set-nav-minified:not(.set-nav-collapsed) .app-header .roadlez-logo {
    padding-inline: .7rem;
    justify-content: center;
}

.set-nav-minified:not(.set-nav-collapsed) .app-header .roadlez-brand-image,
.set-nav-minified:not(.set-nav-collapsed) .app-header .roadlez-admin-label {
    display: none;
}

.set-nav-minified:not(.set-nav-collapsed) .app-header .roadlez-brand-symbol {
    display: block;
}

.roadlez-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border-radius: .65rem;
    background: linear-gradient(135deg, var(--roadlez-primary), var(--roadlez-primary-light));
    color: #fff;
    box-shadow: 0 .3rem 1rem rgba(23, 107, 115, .28);
}

.roadlez-wordmark {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.roadlez-admin-label {
    margin-left: auto;
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .16em;
    opacity: .55;
}

.profile-initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--roadlez-primary), var(--roadlez-primary-light));
    font-weight: 700;
}

.profile-menu-button {
    min-height: 3.25rem;
    color: var(--bs-body-color);
    background: transparent;
    border: 0;
    border-radius: .75rem;
}

.profile-menu-button:hover,
.profile-menu-button.show {
    background: rgba(var(--primary), .08);
}

.profile-dropdown {
    right: 0;
    left: auto;
    margin-top: .35rem !important;
    animation: none !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
}

.user-name {
    max-width: 12rem;
}

.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.page-title {
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: -.035em;
}

.nav-menu .nav-disabled {
    opacity: .48;
    pointer-events: none;
}

.nav-menu > li:not(.nav-title) > a {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    column-gap: .75rem;
    align-items: center;
}

.nav-menu > li:not(.nav-title) > a > .sa-icon,
.nav-menu > li:not(.nav-title) > a > i {
    grid-column: 1;
    width: 1.25rem !important;
    min-width: 1.25rem;
    margin: 0 !important;
    text-align: center;
}

.nav-menu > li:not(.nav-title) > a > .nav-link-text {
    grid-column: 2;
    min-width: 0;
}

.nav-menu > li:not(.nav-title) > a > .badge-end {
    grid-column: 3;
    margin-left: 0;
}

.card {
    border-color: color-mix(in srgb, var(--bs-border-color) 72%, transparent);
    box-shadow: 0 .2rem 1rem rgba(17, 24, 39, .045);
}

.card-header {
    border-bottom-color: color-mix(in srgb, var(--bs-border-color) 72%, transparent);
}

.kpi-card {
    position: relative;
    overflow: hidden;
    border: 0;
}

.kpi-card::after {
    content: "";
    position: absolute;
    inset: auto -1.5rem -2.5rem auto;
    width: 6rem;
    height: 6rem;
    -webkit-mask-image: var(--roadlez-hex-mask);
    mask-image: var(--roadlez-hex-mask);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background: currentColor;
    opacity: .045;
}

.kpi-card .kpi-value {
    font-size: 1.85rem;
    font-weight: 750;
    letter-spacing: -.04em;
}

.kpi-card .kpi-label {
    color: var(--bs-secondary-color);
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.auth-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 20%, rgba(23, 107, 115, .26), transparent 28rem),
        radial-gradient(circle at 90% 85%, rgba(233, 162, 59, .13), transparent 30rem),
        #102427;
}

.auth-shell {
    min-height: 100vh;
    padding: 2rem 1rem;
}

.auth-card {
    width: min(100%, 430px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 1.25rem;
    box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .35);
}

.auth-brand .roadlez-mark {
    width: 3rem;
    height: 3rem;
    font-size: 1.25rem;
}

.btn-roadlez {
    color: #fff;
    background: linear-gradient(135deg, var(--roadlez-primary), var(--roadlez-primary-light));
    border: 0;
    box-shadow: 0 .45rem 1rem rgba(23, 107, 115, .22);
}

.btn-roadlez:hover,
.btn-roadlez:focus {
    color: #fff;
    background: linear-gradient(135deg, var(--roadlez-primary-dark), var(--roadlez-primary));
}

/* SmartAdmin authentication material */
.auth-navbar {
    z-index: 1000;
    background: linear-gradient(180deg, rgba(5, 9, 32, .38), transparent);
}

.auth-logo-symbol,
.auth-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .2);
    backdrop-filter: blur(12px);
}

.auth-brand-image {
    width: auto;
    height: 2.8rem;
    object-fit: contain;
    object-position: left center;
}

.auth-card-brand {
    width: min(100%, 16rem);
    height: auto;
    object-fit: contain;
}

.auth-logo-symbol {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
}

.auth-card-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    box-shadow: 0 .5rem 1.5rem rgba(233, 162, 59, .22);
}

.auth-smartadmin {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: #103f46;
}

.auth-smartadmin .auth-content {
    z-index: 2;
    padding-top: 6rem;
    padding-bottom: 3rem;
}

.auth-smartadmin #net {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.auth-smartadmin .login-card {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .13);
    box-shadow: 0 2rem 6rem rgba(0, 0, 0, .32);
    backdrop-filter: blur(16px) saturate(125%);
    -webkit-backdrop-filter: blur(16px) saturate(125%);
}

.auth-input-wrap {
    position: relative;
}

.auth-input-wrap .form-control {
    min-height: 3.45rem;
    padding-right: 3.25rem;
}

.auth-input-wrap .form-control::placeholder {
    color: rgba(255, 255, 255, .35);
}

.auth-input-wrap .form-control:focus {
    color: #fff;
    background-color: rgba(15, 23, 42, .5) !important;
    border-color: rgba(255, 255, 255, .55) !important;
    box-shadow: 0 0 0 .2rem rgba(233, 162, 59, .18);
}

.auth-input-wrap .form-control:-webkit-autofill,
.auth-input-wrap .form-control:-webkit-autofill:hover,
.auth-input-wrap .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    box-shadow: 0 0 0 1000px rgba(15, 23, 42, .88) inset;
    transition: background-color 9999s ease-out;
}

.auth-input-icon {
    position: absolute;
    z-index: 5;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .65);
    pointer-events: none;
}

.auth-submit {
    --bs-btn-bg: #176b73;
    --bs-btn-border-color: #2c8991;
    --bs-btn-hover-bg: #103f46;
    --bs-btn-hover-border-color: #e9a23b;
    --bs-btn-active-bg: #103f46;
    border-color: rgba(255, 255, 255, .25);
    background: linear-gradient(135deg, #176b73, #2c8991) !important;
    box-shadow: 0 .65rem 1.6rem rgba(23, 107, 115, .3);
}

/* Roadlez dashboard material */
.dashboard-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    min-height: 10.5rem;
    padding: 2rem 2.25rem;
    border-radius: 1.1rem;
    background:
        radial-gradient(circle at 78% 20%, rgba(233, 162, 59, .28), transparent 12rem),
        linear-gradient(125deg, #103f46 0%, #176b73 55%, #2c8991 100%);
    box-shadow: 0 1rem 2.5rem rgba(23, 107, 115, .2);
}

.dashboard-hero::after {
    content: "";
    position: absolute;
    width: 20rem;
    height: 20rem;
    right: -7rem;
    bottom: -13rem;
    background: rgba(255, 255, 255, .09);
    -webkit-mask-image: var(--roadlez-hex-mask);
    mask-image: var(--roadlez-hex-mask);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transform: rotate(28deg);
}

.dashboard-hero::before {
    content: "";
    position: absolute;
    width: 15rem;
    height: 15rem;
    right: -4.5rem;
    bottom: -11.75rem;
    background: inherit;
    -webkit-mask-image: var(--roadlez-hex-mask);
    mask-image: var(--roadlez-hex-mask);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transform: rotate(28deg);
    z-index: 1;
}

.dashboard-eyebrow {
    color: rgba(255, 255, 255, .68);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.dashboard-hero-icon {
    position: relative;
    z-index: 1;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 1.5rem;
    color: #fff;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .2);
    backdrop-filter: blur(10px);
    font-size: 2.25rem;
    transform: rotate(-5deg);
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 9.5rem;
    padding: 1.15rem;
    border-radius: .9rem;
    color: #fff;
    box-shadow: 0 .7rem 1.7rem rgba(17, 24, 39, .12);
    transition: transform .18s ease, box-shadow .18s ease;
}

.metric-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1rem 2rem rgba(17, 24, 39, .17);
}

.metric-card::after {
    content: "";
    position: absolute;
    width: 6rem;
    height: 6rem;
    right: -2rem;
    bottom: -2rem;
    background: rgba(255, 255, 255, .1);
    -webkit-mask-image: var(--roadlez-hex-mask);
    mask-image: var(--roadlez-hex-mask);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.metric-card::before {
    content: "";
    position: absolute;
    width: 3.6rem;
    height: 3.6rem;
    right: -.8rem;
    bottom: -.8rem;
    background: inherit;
    -webkit-mask-image: var(--roadlez-hex-mask);
    mask-image: var(--roadlez-hex-mask);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    z-index: 1;
}

.metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    margin-bottom: .75rem;
    border-radius: .65rem;
    background: rgba(255, 255, 255, .16);
}

.metric-value {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.04em;
}

.metric-label {
    margin-top: .45rem;
    color: rgba(255, 255, 255, .78);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.metric-purple { background: linear-gradient(135deg, #103f46, #176b73); }
.metric-teal { background: linear-gradient(135deg, #176b73, #2c8991); }
.metric-blue { background: linear-gradient(135deg, #245f65, #3d949b); }
.metric-pink { background: linear-gradient(135deg, #a36c1d, #e9a23b); }
.metric-amber { background: linear-gradient(135deg, #c9801f, #f2b553); }
.metric-red { background: linear-gradient(135deg, #9f413b, #c84c44); }

.roadlez-panel {
    overflow: hidden;
    border: 0;
    border-radius: .95rem;
    box-shadow: 0 .45rem 1.6rem rgba(17, 24, 39, .075);
}

.roadlez-panel .card-header {
    padding: 1.15rem 1.25rem;
    background: var(--bs-body-bg);
}

.panel-title {
    font-size: .95rem;
    font-weight: 700;
}

.panel-subtitle {
    margin-top: .2rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
}

.quick-action {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-height: 5rem;
    padding: .85rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .8rem;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

a.quick-action:hover {
    color: var(--bs-body-color);
    border-color: transparent;
    transform: translateY(-2px);
}

.quick-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    border-radius: .75rem;
    font-size: 1.05rem;
}

.quick-action strong,
.quick-action small {
    display: block;
}

.quick-action small {
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
}

.quick-action-purple .quick-action-icon { color: #176b73; background: rgba(23, 107, 115, .12); }
.quick-action-purple:hover { background: rgba(23, 107, 115, .055); }
.quick-action-pink .quick-action-icon { color: #c84c44; background: rgba(200, 76, 68, .12); }
.quick-action-pink:hover { background: rgba(200, 76, 68, .055); }
.quick-action-blue .quick-action-icon { color: #a36c1d; background: rgba(233, 162, 59, .14); }
.quick-action-blue:hover { background: rgba(233, 162, 59, .06); }
.quick-action-muted { opacity: .62; }

.status-row {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.status-row strong,
.status-row small {
    display: block;
}

.status-row small {
    color: var(--bs-secondary-color);
    font-size: .7rem;
}

.status-dot {
    width: .65rem;
    height: .65rem;
    flex: 0 0 .65rem;
    border-radius: 50%;
    box-shadow: 0 0 0 .3rem color-mix(in srgb, currentColor 12%, transparent);
}

/* Give the existing CRUD views the same SmartAdmin panel language. */
.content-wrapper > .card,
.content-wrapper > .row .card {
    border-radius: .85rem;
}

.content-wrapper .table {
    --bs-table-hover-bg: rgba(124, 77, 202, .045);
}

.content-wrapper .table thead th {
    color: var(--bs-secondary-color);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}

/* Unified SmartTables-inspired record grids */
.records-grid {
    overflow: hidden;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 .65rem 2rem rgba(23, 26, 29, .075);
}

.records-grid-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.3rem 1.4rem;
    background: var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-border-color);
}

.records-grid-heading {
    display: flex;
    align-items: center;
    gap: .9rem;
    min-width: 0;
}

.records-grid-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    color: var(--roadlez-primary);
    background: rgba(23, 107, 115, .11);
    border-radius: .8rem;
    font-size: 1.15rem;
}

.records-grid-icon-danger { color: #c84c44; background: rgba(200, 76, 68, .11); }
.records-grid-icon-accent { color: #a36c1d; background: rgba(233, 162, 59, .15); }

.records-grid-heading h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 750;
}

.records-grid-heading p {
    margin: .18rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .73rem;
}

.records-count {
    flex: 0 0 auto;
    padding: .45rem .7rem;
    color: var(--roadlez-primary-dark);
    background: rgba(23, 107, 115, .09);
    border-radius: .65rem;
    font-size: .68rem;
    font-weight: 650;
}

.records-count strong { font-size: .85rem; }

.records-toolbar {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .85rem 1.4rem;
    background: color-mix(in srgb, var(--bs-body-bg) 96%, var(--roadlez-primary));
    border-bottom: 1px solid var(--bs-border-color);
}

.records-search {
    position: relative;
    flex: 1 1 24rem;
    max-width: 34rem;
}

.records-search > i {
    position: absolute;
    top: 50%;
    left: .85rem;
    z-index: 2;
    color: var(--bs-secondary-color);
    transform: translateY(-50%);
}

.records-search .form-control {
    min-height: 2.6rem;
    padding-left: 2.55rem;
    border-radius: .65rem;
}

.records-filter {
    width: auto;
    min-width: 10.5rem;
    min-height: 2.6rem;
    border-radius: .65rem;
}

.records-filter-button,
.records-clear-button {
    min-height: 2.6rem;
    border-radius: .65rem;
}

.records-toolbar-label,
.records-toolbar-note {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--bs-secondary-color);
    font-size: .72rem;
}

.records-toolbar-label { margin-right: auto; font-weight: 700; }
.records-toolbar-note { margin-left: auto; }

.records-table-wrap {
    min-height: 10rem;
}

.records-table {
    vertical-align: middle;
}

.records-table > thead > tr > th {
    padding: .75rem 1rem;
    color: var(--bs-secondary-color);
    background: color-mix(in srgb, var(--bs-body-bg) 97%, var(--roadlez-primary));
    border-bottom-width: 1px;
    white-space: nowrap;
}

.records-table > tbody > tr {
    transition: background-color .15s ease;
}

.records-table > tbody > tr:hover {
    background: rgba(23, 107, 115, .035);
}

.records-table > tbody > tr > td {
    padding: .85rem 1rem;
    border-color: color-mix(in srgb, var(--bs-border-color) 72%, transparent);
}

.record-identity {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 13rem;
}

.record-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    color: #fff;
    background: linear-gradient(135deg, var(--roadlez-primary), var(--roadlez-primary-light));
    border-radius: .7rem;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 .3rem .8rem rgba(23, 107, 115, .16);
}

.record-avatar-accent {
    color: var(--roadlez-asphalt);
    background: linear-gradient(135deg, var(--roadlez-accent), #f2b553);
    box-shadow: 0 .3rem .8rem rgba(233, 162, 59, .18);
}

.record-identity strong,
.record-identity small,
.record-primary strong,
.record-primary small,
.record-date small {
    display: block;
}

.record-identity strong,
.record-primary strong {
    font-size: .77rem;
    font-weight: 750;
}

.record-identity small,
.record-primary small {
    max-width: 22rem;
    margin-top: .16rem;
    overflow: hidden;
    color: var(--bs-secondary-color);
    font-size: .65rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-badge,
.record-status {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .55rem;
    border-radius: .55rem;
    font-size: .64rem;
    font-weight: 750;
    white-space: nowrap;
}

.badge-admin { color: #7e2e29; background: #f9eae8; }
.badge-warning { color: #7a4b09; background: #fff4e3; }
.badge-neutral { color: #596164; background: #eef1f0; }
.badge-info { color: var(--roadlez-primary-dark); background: #e8f2f2; }
.badge-success { color: #285f45; background: #e8f3ed; }

.record-status { color: var(--bs-secondary-color); background: rgba(116, 122, 126, .1); }
.record-status > i { width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; }
.record-status.is-active { color: #2f7654; background: #e8f3ed; }
.record-status.is-inactive { color: #8a4d49; background: #f6ecea; }
.record-status.is-pending { color: #986417; background: #fff4e3; }
.record-status.is-reviewed { color: #1e7178; background: #e8f2f2; }

.record-checks { display: flex; gap: .35rem; }
.record-checks > span { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; color: #a6adaf; background: #f1f3f2; border-radius: .5rem; }
.record-checks > span.is-confirmed { color: var(--roadlez-primary); background: #e8f2f2; }

.record-date { color: var(--bs-body-color); font-size: .7rem; white-space: nowrap; }
.record-date small { margin-top: .1rem; color: var(--bs-secondary-color); font-size: .6rem; }
.record-muted { color: var(--bs-secondary-color); font-size: .68rem; }
.record-code { color: var(--roadlez-primary-dark); background: #eef4f3; border-radius: .4rem; padding: .25rem .4rem; font-size: .63rem; }
.record-location { display: inline-flex; align-items: center; gap: .35rem; color: var(--roadlez-primary); font-size: .68rem; text-decoration: none; white-space: nowrap; }

.records-actions-column { width: 1%; text-align: right; white-space: nowrap; }
.record-action-button { display: inline-flex; align-items: center; gap: .4rem; min-height: 2rem; padding: .35rem .55rem; color: var(--roadlez-primary); background: #e8f2f2; border: 0; border-radius: .55rem; font-size: .64rem; font-weight: 750; }
.record-action-button:hover { color: #fff; background: var(--roadlez-primary); }
.record-action-danger { color: #a5413a; background: #f9eae8; }
.record-action-danger:hover { color: #fff; background: #c84c44; }

.records-empty { padding: 3.25rem 1rem; text-align: center; }
.records-empty > span { display: inline-grid; place-items: center; width: 3.6rem; height: 3.6rem; color: var(--roadlez-primary); background: #e8f2f2; border-radius: 1rem; font-size: 1.4rem; }
.records-empty h3 { margin: .8rem 0 .25rem; font-size: .9rem; }
.records-empty p { margin: 0; color: var(--bs-secondary-color); font-size: .7rem; }

.records-grid-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4rem;
    padding: .8rem 1.4rem;
    color: var(--bs-secondary-color);
    background: color-mix(in srgb, var(--bs-body-bg) 97%, var(--roadlez-primary));
    border-top: 1px solid var(--bs-border-color);
    font-size: .67rem;
}

.records-grid-footer .page-link {
    min-width: 2rem;
    border-radius: .45rem !important;
    text-align: center;
}

.records-grid-footer .pagination { gap: .25rem; }

@media (max-width: 767.98px) {
    .records-grid-header,
    .records-toolbar,
    .records-grid-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .records-count { align-self: flex-start; }
    .records-search { flex-basis: auto; width: 100%; max-width: none; }
    .records-filter { width: 100%; }
    .records-toolbar-label { margin-right: 0; }
    .records-toolbar-note { margin-left: 0; }
    .records-grid-footer .pagination { flex-wrap: wrap; }
}

/* Record detail pages */
.detail-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }
.detail-page-heading span { color:var(--roadlez-primary); font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.detail-page-heading h1 { margin:.15rem 0; font-size:1.55rem; }
.detail-page-heading p { margin:0; color:var(--bs-secondary-color); font-size:.72rem; }
.detail-profile-card,.detail-panel,.moderation-action-card { overflow:hidden; border:1px solid var(--bs-border-color); border-radius:1rem; box-shadow:0 .7rem 1.8rem rgba(25,38,43,.06); }
.detail-profile-cover { height:7rem; background:linear-gradient(125deg,var(--roadlez-primary-dark),var(--roadlez-primary),var(--roadlez-accent)); }
.detail-profile-card .card-body { padding:0 2rem 2rem; }
.detail-profile-avatar { display:grid; place-items:center; width:6.4rem; height:6.4rem; margin:-3.2rem auto .9rem; border:5px solid var(--bs-body-bg); border-radius:1.25rem; object-fit:cover; box-shadow:0 .6rem 1.3rem rgba(19,51,55,.18); }
.detail-profile-initials { color:#fff; background:linear-gradient(135deg,var(--roadlez-primary),var(--roadlez-primary-light)); font-size:1.5rem; font-weight:850; }
.detail-profile-card h2 { margin:0; font-size:1rem; }.detail-profile-card p { margin:.25rem 0 0; color:var(--bs-secondary-color); font-size:.7rem; }
.detail-badges { display:flex; justify-content:center; gap:.45rem; margin-top:1rem; }
.detail-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.detail-stat-grid>div { display:grid; grid-template-columns:2.5rem 1fr; grid-template-rows:auto auto; padding:1rem; background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:.9rem; box-shadow:0 .45rem 1.2rem rgba(25,38,43,.045); }
.detail-stat-grid i { grid-row:1/3; align-self:center; color:var(--roadlez-primary); font-size:1.2rem; }.detail-stat-grid strong { font-size:1.25rem; line-height:1; }.detail-stat-grid span { margin-top:.25rem; color:var(--bs-secondary-color); font-size:.63rem; }.detail-stat-grid .is-alert i { color:#c84c44; }
.detail-panel>header,.moderation-action-card>header { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; background:color-mix(in srgb,var(--bs-body-bg) 97%,var(--roadlez-primary)); border-bottom:1px solid var(--bs-border-color); }
.detail-panel>header>span:first-child { display:grid; place-items:center; width:2.35rem; height:2.35rem; flex:0 0 auto; color:var(--roadlez-primary); background:#e8f2f2; border-radius:.7rem; }.detail-panel>header>span.is-danger { color:#b94a43; background:#f9eae8; }
.detail-panel header h2,.moderation-action-card header h2 { margin:0; font-size:.82rem; }.detail-panel header p,.moderation-action-card header p { margin:.15rem 0 0; color:var(--bs-secondary-color); font-size:.64rem; }.detail-panel>header>.record-status { margin-left:auto; }
.detail-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.detail-info-grid>div { min-height:5rem; padding:1rem 1.25rem; border-right:1px solid var(--bs-border-color); border-bottom:1px solid var(--bs-border-color); }.detail-info-grid>div:nth-child(2n) { border-right:0; }.detail-info-grid>div:nth-last-child(-n+2) { border-bottom:0; }.detail-info-grid>.detail-info-wide { grid-column:1/-1; border-right:0; }
.detail-info-grid small,.detail-info-grid strong,.detail-info-grid em { display:block; }.detail-info-grid small { margin-bottom:.35rem; color:var(--bs-secondary-color); font-size:.61rem; text-transform:uppercase; letter-spacing:.05em; }.detail-info-grid strong { font-size:.72rem; font-weight:700; }.detail-info-grid em { margin-top:.3rem; font-size:.61rem; font-style:normal; }.detail-info-grid em.is-ok { color:#2f7654; }.detail-info-grid em.is-no { color:#a24d47; }.detail-info-grid a { color:var(--roadlez-primary); }
.detail-info-grid > .detail-info-divider { border-bottom:1px solid var(--bs-border-color); }
.reported-content { display:grid; grid-template-columns:minmax(12rem,35%) 1fr; gap:1.25rem; padding:1.25rem; }.reported-content>img { width:100%; max-height:18rem; border-radius:.8rem; object-fit:cover; }.reported-content>div>span { color:var(--roadlez-primary); font-size:.65rem; font-weight:800; text-transform:uppercase; }.reported-content p { margin:.7rem 0 0; white-space:pre-line; font-size:.76rem; line-height:1.65; }
.moderation-action-card { position:sticky; top:5rem; }.moderation-action-card>header { color:#fff; background:linear-gradient(125deg,#873c37,#c84c44); }.moderation-action-card>header>i { font-size:1.15rem; }.moderation-action-card header p { color:rgba(255,255,255,.72); }.moderation-action-card form { padding:1.25rem; }.moderation-resolved { display:flex; align-items:center; flex-direction:column; gap:.4rem; padding:2.5rem 1rem; color:#2f7654; text-align:center; }.moderation-resolved i { font-size:2rem; }.moderation-resolved span { color:var(--bs-secondary-color); font-size:.68rem; }

@media (max-width:767.98px) { .detail-page-heading { align-items:stretch; flex-direction:column; }.detail-stat-grid,.detail-info-grid { grid-template-columns:1fr; }.detail-info-grid>div,.detail-info-grid>div:nth-child(2n),.detail-info-grid>div:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid var(--bs-border-color); }.detail-info-grid>div:last-child { border-bottom:0; }.reported-content { grid-template-columns:1fr; }.moderation-action-card { position:static; } }

.catalog-import-card { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem 1.4rem; border:0; border-radius:1rem; background:linear-gradient(125deg,var(--roadlez-primary-dark),var(--roadlez-primary)); color:#fff; box-shadow:0 .8rem 1.8rem rgba(23,107,115,.18); }
.catalog-import-copy { display:flex; align-items:center; gap:1rem; }.catalog-import-copy>span { display:grid; width:3rem; height:3rem; place-items:center; flex:0 0 auto; border-radius:.8rem; background:rgba(255,255,255,.14); font-size:1.15rem; }.catalog-import-copy small { color:var(--roadlez-accent); font-size:.6rem; font-weight:800; letter-spacing:.12em; }.catalog-import-copy h2 { margin:.1rem 0; color:#fff; font-size:1rem; }.catalog-import-copy p { margin:0; color:rgba(255,255,255,.72); font-size:.67rem; }
.catalog-import-form { display:flex; gap:.6rem; min-width:min(100%,28rem); }.catalog-import-form .form-control { min-height:2.65rem; border:0; border-radius:.65rem; }.catalog-import-form .btn { display:inline-flex; align-items:center; justify-content:center; min-width:8.5rem; flex:0 0 auto; padding-inline:1.15rem; white-space:nowrap; background:var(--roadlez-accent); border-color:var(--roadlez-accent); color:var(--roadlez-asphalt); font-weight:750; }.catalog-row-actions { display:flex; justify-content:flex-end; gap:.35rem; }.catalog-row-actions form { margin:0; }
@media (max-width:991.98px) { .catalog-import-card { align-items:stretch; flex-direction:column; }.catalog-import-form { width:100%; min-width:0; } }
@media (max-width:575.98px) { .catalog-import-form { flex-direction:column; }.catalog-import-form .btn { width:100%; } }

@media (max-width: 575.98px) {
    .content-wrapper {
        padding-inline: 1rem;
    }

    .page-title {
        font-size: 1.35rem;
    }

    .auth-navbar .container {
        padding-inline: 1.25rem;
    }

    .auth-smartadmin .login-card {
        padding: 1.5rem !important;
    }

    .dashboard-hero {
        min-height: auto;
        padding: 1.5rem;
    }
}

/* System errors */
.system-error-icon { color:#a5413a !important; background:#f9eae8 !important; }
.error-level { display:inline-flex; align-items:center; gap:.38rem; padding:.35rem .55rem; border-radius:.55rem; font-size:.64rem; font-weight:750; white-space:nowrap; }
.error-level i { width:.42rem; height:.42rem; border-radius:50%; background:currentColor; }
.error-level.is-warning { color:#986417; background:#fff4e3; }
.error-level.is-error { color:#a5413a; background:#f9eae8; }
.error-level.is-fatal { color:#fff; background:#792d29; }
.system-error-message { max-width:50rem; }
.system-error-message strong,.system-error-message small { display:block; }
.system-error-message strong { overflow:hidden; font-size:.72rem; font-weight:650; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.system-error-message small { margin-top:.2rem; color:var(--bs-secondary-color); font-size:.6rem; }
.system-error-detail-row:hover { background:transparent !important; }
.system-error-detail { padding:1.2rem 1.4rem; background:color-mix(in srgb,var(--bs-body-bg) 94%,#a5413a); border-bottom:1px solid var(--bs-border-color); }
.system-error-detail h3 { margin:0 0 .45rem; color:#a5413a; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.system-error-detail h3:not(:first-child) { margin-top:1rem; }
.system-error-detail pre { max-height:22rem; margin:0; padding:1rem; overflow:auto; color:var(--bs-body-color); background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:.65rem; font-size:.66rem; line-height:1.55; white-space:pre-wrap; word-break:break-word; }
