:root {
    --custodya-brand-950: #09183f;
    --custodya-brand-900: #142d72;
    --custodya-brand-800: #2653d4;
    --custodya-brand-700: #4573ea;
    --custodya-brand-100: #e7efff;
    --custodya-green-600: #0fa96b;
    --custodya-green-100: #daf8ea;
    --custodya-slate-900: #0f172a;
    --custodya-slate-700: #334155;
    --custodya-slate-600: #475569;
    --custodya-slate-500: #64748b;
    --custodya-slate-300: #cbd5e1;
    --custodya-slate-200: #e2e8f0;
    --custodya-slate-100: #f8fafc;
    --custodya-white: #ffffff;
    --custodya-shadow-soft: 0 22px 48px rgba(15, 23, 42, 0.08);
    --custodya-shadow-card: 0 18px 36px rgba(15, 23, 42, 0.06);
}

body.custodya-app-shell,
body.custodya-admin-shell,
body.custodya-auth-shell {
    color: var(--custodya-slate-900);
}

body.custodya-app-shell,
body.custodya-admin-shell {
    background:
        radial-gradient(circle at top left, rgba(38, 83, 212, 0.08), transparent 28%),
        linear-gradient(180deg, #f7faff 0%, #f8fafc 48%, #f8fafc 100%);
}

.custodya-app-shell .brand-logo-image,
.custodya-admin-shell .brand-logo-image,
.custodya-auth-shell .auth-brand img {
    display: block;
    width: auto;
    max-width: 100%;
}

.custodya-app-shell .brand-logo-image,
.custodya-admin-shell .brand-logo-image {
    height: 2.15rem;
    border-radius: 0.35rem;
}

.custodya-app-shell .sidebar,
.custodya-admin-shell .sidebar {
    background:
        linear-gradient(180deg, var(--custodya-brand-950) 0%, var(--custodya-brand-900) 42%, var(--custodya-brand-800) 100%) !important;
    background-size: cover !important;
    box-shadow: 18px 0 40px rgba(9, 24, 63, 0.18);
}

.custodya-app-shell .sidebar .sidebar-brand,
.custodya-admin-shell .sidebar .sidebar-brand {
    height: auto;
    min-height: 4.9rem;
    padding: 1.1rem;
}

.custodya-app-shell .sidebar .sidebar-heading,
.custodya-admin-shell .sidebar .sidebar-heading {
    color: rgba(231, 239, 255, 0.58);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.custodya-app-shell .sidebar .nav-item .nav-link,
.custodya-admin-shell .sidebar .nav-item .nav-link {
    margin: 0.15rem 0.75rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.95rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.82);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.custodya-app-shell .sidebar .nav-item .nav-link i,
.custodya-admin-shell .sidebar .nav-item .nav-link i {
    color: rgba(255, 255, 255, 0.72);
    transition: color 0.2s ease;
}

.custodya-app-shell .sidebar .nav-item .nav-link:hover,
.custodya-app-shell .sidebar .nav-item.active .nav-link,
.custodya-admin-shell .sidebar .nav-item .nav-link:hover,
.custodya-admin-shell .sidebar .nav-item.active .nav-link {
    background: rgba(255, 255, 255, 0.12);
    color: var(--custodya-white);
    transform: translateX(1px);
}

.custodya-app-shell .sidebar .nav-item .nav-link:hover i,
.custodya-app-shell .sidebar .nav-item.active .nav-link i,
.custodya-admin-shell .sidebar .nav-item .nav-link:hover i,
.custodya-admin-shell .sidebar .nav-item.active .nav-link i {
    color: var(--custodya-white);
}

.custodya-app-shell .sidebar hr.sidebar-divider,
.custodya-admin-shell .sidebar hr.sidebar-divider {
    border-top-color: rgba(255, 255, 255, 0.12);
}

.custodya-app-shell .topbar,
.custodya-admin-shell .topbar {
    position: relative;
    z-index: 20;
    overflow: visible;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: saturate(180%) blur(10px);
    box-shadow: var(--custodya-shadow-soft) !important;
}

.custodya-app-shell .topbar .nav-link,
.custodya-admin-shell .topbar .nav-link {
    color: var(--custodya-slate-600);
}

.custodya-app-shell .topbar .dropdown-list,
.custodya-admin-shell .topbar .dropdown-menu {
    z-index: 1080;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 1rem;
    box-shadow: var(--custodya-shadow-soft);
}

.custodya-app-shell .topbar .dropdown,
.custodya-admin-shell .topbar .dropdown {
    position: relative;
}

.custodya-app-shell .topbar .dropdown .dropdown-menu,
.custodya-admin-shell .topbar .dropdown .dropdown-menu {
    left: auto;
    right: 0;
    width: min(22rem, calc(100vw - 2rem));
}

.custodya-app-shell .topbar .dropdown-list,
.custodya-admin-shell .topbar .dropdown-list {
    overflow: visible;
}

.custodya-app-shell .container-fluid,
.custodya-admin-shell .container-fluid {
    padding-bottom: 1rem;
}

.custodya-app-shell .card,
.custodya-admin-shell .card,
.custodya-auth-shell .card {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--custodya-shadow-card) !important;
    overflow: hidden;
}

.custodya-app-shell .card-header,
.custodya-admin-shell .card-header,
.custodya-auth-shell .card-header {
    background: rgba(248, 250, 252, 0.85);
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.custodya-app-shell .card-header h6,
.custodya-admin-shell .card-header h6,
.custodya-auth-shell .card-header h6 {
    color: var(--custodya-brand-800) !important;
}

.custodya-app-shell .border-left-primary,
.custodya-admin-shell .border-left-primary {
    border-left: 0.25rem solid var(--custodya-brand-800) !important;
}

.custodya-app-shell .border-left-info,
.custodya-admin-shell .border-left-info {
    border-left: 0.25rem solid var(--custodya-brand-700) !important;
}

.custodya-app-shell .border-left-success,
.custodya-admin-shell .border-left-success {
    border-left: 0.25rem solid var(--custodya-green-600) !important;
}

.custodya-app-shell .text-primary,
.custodya-admin-shell .text-primary,
.custodya-auth-shell .text-primary {
    color: var(--custodya-brand-800) !important;
}

.custodya-app-shell .text-info,
.custodya-admin-shell .text-info {
    color: var(--custodya-brand-700) !important;
}

.custodya-app-shell .btn-primary,
.custodya-admin-shell .btn-primary,
.custodya-auth-shell .btn-primary {
    background: linear-gradient(135deg, #1f47bc 0%, var(--custodya-brand-800) 60%, #4d76ea 100%);
    border-color: var(--custodya-brand-800);
    box-shadow: 0 12px 24px rgba(38, 83, 212, 0.18);
}

.custodya-app-shell .btn-primary:hover,
.custodya-app-shell .btn-primary:focus,
.custodya-admin-shell .btn-primary:hover,
.custodya-admin-shell .btn-primary:focus,
.custodya-auth-shell .btn-primary:hover,
.custodya-auth-shell .btn-primary:focus {
    border-color: #1f47bc;
    background: linear-gradient(135deg, #1b40aa 0%, #2149bf 60%, #3f68df 100%);
}

.custodya-app-shell .btn-outline-primary,
.custodya-admin-shell .btn-outline-primary,
.custodya-auth-shell .btn-outline-primary {
    color: var(--custodya-brand-800);
    border-color: rgba(38, 83, 212, 0.3);
}

.custodya-app-shell .btn-outline-primary:hover,
.custodya-app-shell .btn-outline-primary:focus,
.custodya-admin-shell .btn-outline-primary:hover,
.custodya-admin-shell .btn-outline-primary:focus,
.custodya-auth-shell .btn-outline-primary:hover,
.custodya-auth-shell .btn-outline-primary:focus {
    background: var(--custodya-brand-800);
    border-color: var(--custodya-brand-800);
}

.custodya-app-shell .btn-outline-secondary,
.custodya-admin-shell .btn-outline-secondary {
    color: var(--custodya-slate-600);
    border-color: rgba(148, 163, 184, 0.5);
}

.custodya-app-shell .form-control,
.custodya-app-shell .custom-select,
.custodya-admin-shell .form-control,
.custodya-admin-shell .custom-select,
.custodya-auth-shell .form-control {
    border-radius: 0.95rem;
    border-color: rgba(203, 213, 225, 0.95);
    color: var(--custodya-slate-900);
    box-shadow: none;
}

.custodya-app-shell .form-control:focus,
.custodya-app-shell .custom-select:focus,
.custodya-admin-shell .form-control:focus,
.custodya-admin-shell .custom-select:focus,
.custodya-auth-shell .form-control:focus {
    border-color: rgba(38, 83, 212, 0.45);
    box-shadow: 0 0 0 0.22rem rgba(38, 83, 212, 0.12);
}

.custodya-auth-shell .form-control-user {
    min-height: 3.2rem;
}

.custodya-app-shell .table,
.custodya-admin-shell .table {
    color: var(--custodya-slate-700);
}

.custodya-app-shell .table thead.thead-light th,
.custodya-admin-shell .table thead.thead-light th {
    background: rgba(231, 239, 255, 0.6);
    color: var(--custodya-brand-900);
    border-color: rgba(226, 232, 240, 0.95);
}

.custodya-app-shell .table td,
.custodya-app-shell .table th,
.custodya-admin-shell .table td,
.custodya-admin-shell .table th {
    border-color: rgba(226, 232, 240, 0.85);
    vertical-align: middle;
}

.custodya-app-shell .badge-primary,
.custodya-admin-shell .badge-primary {
    background: var(--custodya-brand-800);
}

.custodya-app-shell .badge-info,
.custodya-admin-shell .badge-info {
    background: #d9e4ff;
    color: var(--custodya-brand-900);
}

.custodya-app-shell .badge-success,
.custodya-admin-shell .badge-success {
    background: var(--custodya-green-100);
    color: #0a7a4e;
}

.custodya-app-shell .sticky-footer,
.custodya-admin-shell .sticky-footer {
    background: transparent !important;
    padding-bottom: 1.25rem;
}

.custodya-app-shell .sticky-footer .container,
.custodya-admin-shell .sticky-footer .container {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--custodya-shadow-card);
}

.custodya-app-shell .sticky-footer .copyright,
.custodya-admin-shell .sticky-footer .copyright {
    padding: 1rem 0;
    color: var(--custodya-slate-500);
}

.custodya-auth-shell.bg-gradient-primary {
    background:
        radial-gradient(circle at top left, rgba(77, 118, 234, 0.18), transparent 28%),
        linear-gradient(180deg, var(--custodya-brand-950) 0%, var(--custodya-brand-900) 48%, var(--custodya-brand-800) 100%) !important;
    background-size: cover;
}

.custodya-auth-shell .auth-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--custodya-brand-800);
    border-radius: 1rem;
    padding: 0.55rem 1rem;
    box-shadow: 0 0.9rem 2rem rgba(9, 24, 63, 0.18);
}

.custodya-auth-shell .auth-brand img {
    height: 2.25rem;
}

@media (max-width: 767.98px) {
    .custodya-app-shell .sidebar .sidebar-brand,
    .custodya-admin-shell .sidebar .sidebar-brand {
        padding: 0.9rem 0.5rem;
    }

    .custodya-app-shell .brand-logo-image,
    .custodya-admin-shell .brand-logo-image {
        width: 100%;
        height: auto;
        max-width: 4.25rem;
        max-height: 1.9rem;
        margin: 0 auto;
    }

    .custodya-app-shell .sidebar .sidebar-heading,
    .custodya-admin-shell .sidebar .sidebar-heading {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        text-align: center;
    }

    .custodya-app-shell .sidebar .nav-item .nav-link,
    .custodya-admin-shell .sidebar .nav-item .nav-link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        margin: 0.15rem auto;
        padding: 0.8rem 0.45rem;
        text-align: center;
    }

    .custodya-app-shell .sidebar .nav-item .nav-link i,
    .custodya-admin-shell .sidebar .nav-item .nav-link i {
        display: block;
        width: auto;
        margin: 0;
        text-align: center;
    }

    .custodya-app-shell .sidebar .nav-item .nav-link span,
    .custodya-admin-shell .sidebar .nav-item .nav-link span {
        display: block;
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .custodya-app-shell .topbar,
    .custodya-admin-shell .topbar {
        border-radius: 1rem;
    }

    .custodya-app-shell .card,
    .custodya-admin-shell .card,
    .custodya-auth-shell .card {
        border-radius: 1rem;
    }
}
