:root {
    --panel-accent: #1768e8;
    --panel-purple: #7557ff;
    --panel-blue: #2f80ed;
    --panel-green: #19a974;
    --panel-amber: #f59e0b;
    --panel-surface: #ffffff;
    --panel-muted: #748096;
    --panel-border: #e8ebf2;
}

body { background: #f5f7fb; }
.panel-wordmark { min-width: 0 !important; width: auto !important; margin-left: 14px !important; font-weight: 800; letter-spacing: -.25px; color: #27304a !important; }
#nsofts_header, #nsofts_sidebar, .card { box-shadow: 0 12px 34px rgba(31, 40, 72, .07); }
#nsofts_sidebar { border: 1px solid rgba(224, 228, 238, .8); }
.nsofts-sidebar-nav__link { border-radius: 12px; margin: 3px 10px; }
.nsofts-sidebar-nav__link.active { background: linear-gradient(135deg, rgba(23,104,232,.14), rgba(117,87,255,.11)); color: var(--panel-accent); }
.nsofts-sidebar-nav__link.active:before { display: none; }
.modern-dashboard { padding-bottom: 32px; }
.dashboard-hero { min-height: 190px; border-radius: 24px; padding: 34px 38px; color: white; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: radial-gradient(circle at 92% 0%, rgba(255,255,255,.2), transparent 32%), linear-gradient(130deg, #191d33 0%, #31284a 56%, #bd2738 120%); box-shadow: 0 22px 52px rgba(32, 25, 58, .22); overflow: hidden; }
.dashboard-hero h1 { color: white; font-size: 34px; margin: 8px 0; font-weight: 750; }
.dashboard-hero p { margin: 0; color: rgba(255,255,255,.74); font-size: 15px; }
.dashboard-kicker { font-size: 11px; letter-spacing: 2.4px; font-weight: 750; color: #ff8d94; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hero-actions .btn { border-radius: 12px; padding: 11px 16px; font-weight: 650; }
.metric-card { height: 100%; min-height: 142px; display: flex; align-items: center; gap: 18px; padding: 24px; border-radius: 20px; background: var(--panel-surface); border: 1px solid var(--panel-border); box-shadow: 0 12px 32px rgba(31, 40, 72, .06); }
.metric-icon { flex: 0 0 54px; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; font-size: 25px; }
.metric-card span { display: block; color: var(--panel-muted); font-size: 13px; font-weight: 600; }
.metric-card strong { display: block; color: #22283a; font-size: 31px; line-height: 1.15; margin: 4px 0; }
.metric-card small { color: #9aa3b5; }
.metric-primary .metric-icon { color: var(--panel-accent); background: rgba(23,104,232,.11); }
.metric-success .metric-icon { color: var(--panel-green); background: rgba(25,169,116,.11); }
.metric-blue .metric-icon { color: var(--panel-blue); background: rgba(47,128,237,.11); }
.metric-amber .metric-icon { color: var(--panel-amber); background: rgba(245,158,11,.12); }
.modern-card { border: 1px solid var(--panel-border); border-radius: 20px; overflow: hidden; }
.modern-card-header { border: 0; background: transparent; padding: 24px 26px 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.modern-card-header h5 { margin: 0 0 4px; color: #252b3e; font-weight: 750; }
.modern-card-header p { margin: 0; color: var(--panel-muted); font-size: 13px; }
.status-pill { display: inline-flex; align-items: center; gap: 7px; background: #f2faf6; color: #27825f; padding: 7px 11px; border-radius: 999px; font-size: 11px; font-weight: 650; }
.status-pill i { width: 7px; height: 7px; border-radius: 50%; background: #28b17d; box-shadow: 0 0 0 4px rgba(40,177,125,.12); }
.activity-chart { height: 280px; padding: 25px 28px 22px; display: flex; align-items: stretch; justify-content: space-between; gap: 18px; }
.chart-column { min-width: 32px; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.chart-track { flex: 1; width: 100%; max-width: 46px; border-radius: 12px; background: #f2f4f8; display: flex; align-items: flex-end; overflow: hidden; }
.chart-bar { width: 100%; min-height: 7px; border-radius: 12px; background: linear-gradient(180deg, #ff6c75, #d92f43); box-shadow: 0 8px 18px rgba(217,47,67,.22); }
.chart-value { font-size: 12px; font-weight: 700; color: #34394a; }
.chart-label { font-size: 11px; color: #929bad; }
.quick-list { padding: 13px 22px 22px; }
.quick-list a { color: #31374a; text-decoration: none; display: flex; align-items: center; justify-content: space-between; padding: 15px 4px; border-bottom: 1px solid #eef0f5; }
.quick-list a:last-child { border-bottom: 0; }
.quick-list a span { display: flex; gap: 11px; align-items: center; }
.quick-list a span i { color: var(--panel-accent); font-size: 19px; }
.quick-list strong { padding: 4px 9px; border-radius: 9px; background: #f1f3f7; }
.modern-table thead th { background: #f8f9fc; border: 0; color: #7c8598; font-size: 11px; text-transform: uppercase; letter-spacing: .5px; padding: 13px 22px; }
.modern-table td { border-color: #eff1f5; padding: 15px 22px; color: #4c5365; }
.user-cell { display: flex; align-items: center; gap: 11px; }
.user-cell > span { width: 38px; height: 38px; display: grid; place-items: center; color: white; font-weight: 700; border-radius: 12px; background: linear-gradient(145deg, #ff5d67, #7b55e9); }
.user-cell strong, .user-cell small { display: block; }
.user-cell small { color: #98a0b0; font-size: 11px; margin-top: 2px; }
.soft-badge { display: inline-block; padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.soft-badge.green { color: #16815a; background: #eaf8f2; }
.soft-badge.red { color: #c63b49; background: #fff0f1; }
.soft-badge.blue { color: #286cb8; background: #ecf5ff; }
.soft-badge.purple { color: #6b4bc5; background: #f2edff; }
.soft-badge.amber { color: #a96508; background: #fff6df; }
.device-cell { display:flex; align-items:center; gap:12px; min-width:180px; }
.device-cell > span { width:42px; height:42px; display:grid; place-items:center; flex:0 0 42px; border-radius:13px; color:#fff; font-size:12px; font-weight:800; background:linear-gradient(145deg,#2f80ed,#7557ff); box-shadow:0 8px 18px rgba(79,92,215,.2); }
.device-cell strong, .device-cell small { display:block; }
.device-cell small { color:#98a0b0; font-size:11px; margin-top:2px; }
.device-code { letter-spacing:1.7px; color:#293044; font-size:15px; }
.empty-state { text-align: center; padding: 48px !important; }
.empty-state i, .empty-state strong, .empty-state span { display: block; }
.empty-state i { font-size: 32px; color: var(--panel-accent); }
.empty-state strong { margin: 8px 0 3px; color: #3e4558; }
.empty-state span { color: #939cad; }
.page-heading { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:22px; }
.page-heading h1 { font-size:28px; color:#252b3e; margin:0 0 4px; }
.page-heading p { color:var(--panel-muted); margin:0; }
.filter-card { border:1px solid var(--panel-border); border-radius:18px; }
body.nsofts-theme-dark { --panel-surface:#202225; --panel-border:#303338; --panel-muted:#a1a7b2; background:#17191c; }
body.nsofts-theme-dark .metric-card, body.nsofts-theme-dark .modern-card { background:var(--panel-surface); }
body.nsofts-theme-dark .metric-card strong, body.nsofts-theme-dark .modern-card-header h5, body.nsofts-theme-dark .quick-list a { color:#f2f3f5; }
body.nsofts-theme-dark .panel-wordmark, body.nsofts-theme-dark .device-code { color:#f2f3f5 !important; }
body.nsofts-theme-dark .chart-track, body.nsofts-theme-dark .quick-list strong, body.nsofts-theme-dark .modern-table thead th { background:#282b30; }
body.nsofts-theme-dark .modern-table td, body.nsofts-theme-dark .quick-list a { border-color:#303338; }
@media (max-width: 767px) { .dashboard-hero { padding:26px; align-items:flex-start; flex-direction:column; } .activity-chart { gap:7px; padding-left:14px; padding-right:14px; } .modern-card-header { align-items:flex-start; flex-direction:column; } }
.modern-login-page { background: radial-gradient(circle at 15% 10%, rgba(23,104,232,.16), transparent 34%), radial-gradient(circle at 90% 90%, rgba(117,87,255,.16), transparent 34%), #f5f7fb; }
.modern-login-page #nsofts_header { background: transparent; box-shadow: none; }
.modern-login-page .nsofts-auth .card { border: 1px solid rgba(255,255,255,.8); border-radius: 24px; box-shadow: 0 30px 70px rgba(31,40,72,.16); overflow: hidden; }
.modern-login-page .nsofts-auth .card:before { content:""; display:block; height:6px; background:linear-gradient(90deg,#1768e8,#7b55e9); }
.modern-login-page .form-control { min-height: 48px; border-radius: 12px; }
.modern-login-page .btn-primary { min-height: 49px; border-radius: 12px; background: linear-gradient(100deg,#1768e8,#7654ff); border: 0; box-shadow: 0 12px 24px rgba(36,91,224,.22); }

/* Identidade visual Smart 2.5: azul profundo, violeta e brilho neon. */
:root {
    --panel-accent: #7758ff;
    --panel-purple: #9b4dff;
    --panel-blue: #1677ff;
    --panel-deep: #080d20;
    --panel-deep-soft: #101833;
    --panel-glow: rgba(105, 87, 255, .34);
}

body {
    background:
        radial-gradient(circle at 80% 0%, rgba(67, 83, 255, .08), transparent 26%),
        #f4f6fb;
}

#nsofts_header {
    background: linear-gradient(112deg, #080d20 0%, #101735 56%, #171443 100%);
    border-bottom: 1px solid rgba(126, 108, 255, .25);
    box-shadow: 0 10px 32px rgba(13, 18, 49, .18);
}

#nsofts_header .panel-wordmark,
#nsofts_header .nsofts-header-nav__link,
#nsofts_header #nsofts_hamburger {
    color: #fff !important;
}

#nsofts_sidebar {
    background: linear-gradient(180deg, #0b1025 0%, #101735 58%, #16113b 100%);
    border: 0;
    box-shadow: 12px 0 34px rgba(12, 17, 46, .16);
}

#nsofts_sidebar .nsofts-sidebar-nav__link {
    color: rgba(229, 233, 255, .76);
    border: 1px solid transparent;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

#nsofts_sidebar .nsofts-sidebar-nav__link:hover {
    color: #fff;
    transform: translateX(3px);
    background: rgba(101, 91, 255, .11);
    border-color: rgba(116, 102, 255, .18);
}

#nsofts_sidebar .nsofts-sidebar-nav__link.active {
    color: #fff;
    background: linear-gradient(105deg, rgba(115, 77, 255, .88), rgba(31, 119, 255, .8));
    border-color: rgba(186, 177, 255, .48);
    box-shadow: 0 10px 25px rgba(61, 76, 230, .28), inset 0 1px rgba(255, 255, 255, .18);
}

#nsofts_sidebar .nsofts-sidebar-nav__icon {
    color: #9f9cff;
}

#nsofts_sidebar .nsofts-sidebar-nav__link.active .nsofts-sidebar-nav__icon,
#nsofts_sidebar .nsofts-sidebar-nav__link:hover .nsofts-sidebar-nav__icon {
    color: #fff;
}

.sidebar-featured-item {
    margin: 10px 0 5px;
}

.sidebar-featured-item .nsofts-sidebar-nav__link:not(.active) {
    color: #f1efff !important;
    background: linear-gradient(105deg, rgba(124, 77, 255, .19), rgba(31, 119, 255, .14));
    border-color: rgba(129, 116, 255, .28) !important;
}

.sidebar-secondary-start {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(176, 173, 255, .13);
}

.card,
.filter-card,
.modern-card,
.metric-card {
    border-color: rgba(78, 91, 153, .12);
    box-shadow: 0 16px 38px rgba(31, 43, 91, .07);
}

.btn-primary {
    border: 0;
    background: linear-gradient(105deg, #7654ff, #1978ff);
    box-shadow: 0 10px 24px rgba(70, 84, 230, .23);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(105deg, #885cff, #2587ff);
    box-shadow: 0 12px 30px rgba(76, 86, 239, .34);
}

#nsofts_footer {
    color: #707997;
}

/* Remove os últimos acentos vermelhos herdados do tema antigo. */
.dashboard-hero {
    background:
        radial-gradient(circle at 92% 0%, rgba(255, 255, 255, .20), transparent 32%),
        linear-gradient(130deg, #0b1230 0%, #25265b 54%, #6135bf 100%);
}

.dashboard-kicker { color: #a8b4ff; }
.metric-primary .metric-icon { color: #745cff; background: rgba(103, 85, 255, .12); }
.chart-bar { background: linear-gradient(180deg, #238dff, #7654ff); box-shadow: 0 8px 18px rgba(74, 83, 222, .22); }
.user-cell > span { background: linear-gradient(145deg, #238dff, #8051ff); }

/* Login sem imagem externa: aparece imediatamente e mantém o efeito neon leve. */
.modern-login-page {
    min-height: 100vh;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #eef1ff;
    background:
        radial-gradient(circle at 12% 18%, rgba(130, 45, 255, .30), transparent 30%),
        radial-gradient(circle at 88% 78%, rgba(0, 132, 255, .26), transparent 32%),
        linear-gradient(135deg, #050816 0%, #0a1130 50%, #150b39 100%);
}

.modern-login-page::before,
.modern-login-page::after {
    content: "";
    position: fixed;
    z-index: -1;
    width: 52vw;
    height: 52vw;
    max-width: 760px;
    max-height: 760px;
    border: 1px solid rgba(94, 151, 255, .24);
    border-radius: 38% 62% 67% 33% / 41% 46% 54% 59%;
    filter: blur(.2px);
    opacity: .75;
    transition: transform 1.4s ease, filter 1.4s ease;
}

.modern-login-page::before {
    top: -30vw;
    right: -14vw;
    background: linear-gradient(145deg, rgba(38, 117, 255, .11), rgba(142, 61, 255, .08));
    box-shadow: 0 0 110px rgba(42, 107, 255, .18);
}

.modern-login-page::after {
    left: -18vw;
    bottom: -35vw;
    background: linear-gradient(145deg, rgba(150, 44, 255, .10), rgba(26, 111, 255, .08));
    box-shadow: 0 0 120px rgba(128, 47, 255, .20);
}

.modern-login-page:hover::before { transform: translate(-2vw, 3vw) rotate(8deg); filter: brightness(1.25); }
.modern-login-page:hover::after { transform: translate(3vw, -2vw) rotate(-8deg); filter: brightness(1.25); }

.modern-login-page #nsofts_header {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.modern-login-page #nsofts_header .nsofts-header-nav { display: none; }

.modern-login-page .nsofts-auth .card {
    position: relative;
    border: 1px solid rgba(139, 150, 255, .24);
    border-radius: 26px;
    color: #eef1ff;
    background: linear-gradient(145deg, rgba(19, 27, 61, .88), rgba(13, 18, 45, .82));
    box-shadow: 0 34px 80px rgba(0, 0, 15, .52), 0 0 44px rgba(80, 72, 255, .10);
    backdrop-filter: blur(20px);
    overflow: hidden;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.modern-login-page .nsofts-auth .card:hover {
    transform: translateY(-3px);
    border-color: rgba(132, 140, 255, .52);
    box-shadow: 0 40px 90px rgba(0, 0, 18, .58), 0 0 54px rgba(77, 89, 255, .21);
}

.modern-login-page .nsofts-auth .card::before {
    height: 3px;
    background: linear-gradient(90deg, #9c45ff, #5668ff 48%, #149aff);
    box-shadow: 0 0 18px rgba(100, 107, 255, .8);
}

.modern-login-page .login-brand__name {
    display: inline-block;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.15rem);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.04em;
    text-shadow: 0 0 25px rgba(115, 102, 255, .42);
}

.modern-login-page .form-label,
.modern-login-page .form-check-label,
.modern-login-page .nsofts-input-icon__left,
.modern-login-page .nsofts-input-icon__right {
    color: rgba(235, 238, 255, .8);
}

.modern-login-page .form-control {
    min-height: 50px;
    color: #f5f6ff;
    border: 1px solid rgba(143, 154, 222, .25);
    border-radius: 13px;
    background: rgba(7, 12, 34, .62);
    box-shadow: inset 0 1px rgba(255, 255, 255, .035);
}

.modern-login-page .form-control::placeholder { color: rgba(207, 212, 239, .48); }
.modern-login-page .form-control:focus {
    border-color: rgba(115, 108, 255, .82);
    background: rgba(7, 12, 34, .82);
    box-shadow: 0 0 0 4px rgba(93, 93, 255, .13), 0 0 26px rgba(54, 95, 255, .12);
}

.modern-login-page .btn-primary {
    min-height: 51px;
    border-radius: 13px;
    background: linear-gradient(105deg, #8e45ff, #4c67ff 52%, #168cff);
    box-shadow: 0 14px 30px rgba(55, 77, 234, .31);
}

/* Smart 2.6 — identidade clara roxo/azul, sem alternância de tema. */
:root {
    --panel-accent: #6d4aff;
    --panel-purple: #8d46f6;
    --panel-blue: #1c82f5;
    --panel-ink: #252b49;
    --panel-muted: #7b839f;
    --panel-surface: rgba(255, 255, 255, .93);
    --panel-border: rgba(92, 80, 190, .13);
}

body,
body.nsofts-theme-dark {
    color: var(--panel-ink);
    background:
        radial-gradient(circle at 78% 2%, rgba(39, 126, 255, .13), transparent 28%),
        radial-gradient(circle at 8% 84%, rgba(142, 70, 246, .12), transparent 30%),
        linear-gradient(145deg, #f8f7ff 0%, #f2f7ff 48%, #faf7ff 100%);
}

#nsofts_header,
body.nsofts-theme-dark #nsofts_header {
    background:
        radial-gradient(circle at 88% 20%, rgba(108, 206, 255, .28), transparent 28%),
        linear-gradient(108deg, #7746e9 0%, #6255ef 46%, #2385ed 100%);
    border: 0;
    box-shadow: 0 12px 32px rgba(75, 69, 182, .22);
}

#nsofts_header .panel-wordmark,
#nsofts_header .nsofts-header-nav__link,
#nsofts_header #nsofts_hamburger,
body.nsofts-theme-dark #nsofts_header .panel-wordmark,
body.nsofts-theme-dark #nsofts_header .nsofts-header-nav__link,
body.nsofts-theme-dark #nsofts_header #nsofts_hamburger {
    color: #fff !important;
}

#nsofts_header .panel-wordmark {
    font-weight: 800;
    letter-spacing: -.025em;
    text-shadow: 0 4px 18px rgba(31, 24, 103, .24);
}

#nsofts_sidebar,
body.nsofts-theme-dark #nsofts_sidebar {
    background:
        radial-gradient(circle at 0 0, rgba(112, 75, 255, .12), transparent 34%),
        radial-gradient(circle at 100% 88%, rgba(32, 137, 246, .11), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .97), rgba(246, 244, 255, .97) 62%, rgba(239, 247, 255, .98));
    border-right: 1px solid rgba(98, 86, 187, .12);
    box-shadow: 12px 0 38px rgba(52, 55, 121, .09);
}

#nsofts_sidebar .nsofts-sidebar-nav__link,
body.nsofts-theme-dark #nsofts_sidebar .nsofts-sidebar-nav__link {
    color: #66708e;
    border: 1px solid transparent;
    border-radius: 13px;
}

#nsofts_sidebar .nsofts-sidebar-nav__icon,
body.nsofts-theme-dark #nsofts_sidebar .nsofts-sidebar-nav__icon {
    color: #6d67a7;
}

#nsofts_sidebar .nsofts-sidebar-nav__link:hover,
body.nsofts-theme-dark #nsofts_sidebar .nsofts-sidebar-nav__link:hover {
    color: #5141b8;
    transform: translateX(3px);
    background: linear-gradient(105deg, rgba(129, 83, 240, .09), rgba(37, 134, 244, .08));
    border-color: rgba(111, 83, 219, .13);
}

#nsofts_sidebar .nsofts-sidebar-nav__link.active,
body.nsofts-theme-dark #nsofts_sidebar .nsofts-sidebar-nav__link.active {
    color: #fff;
    background: linear-gradient(105deg, #8150ed 0%, #6559ef 48%, #2886ef 100%);
    border-color: rgba(255, 255, 255, .48);
    box-shadow: 0 12px 25px rgba(79, 74, 203, .25), inset 0 1px rgba(255, 255, 255, .22);
}

#nsofts_sidebar .nsofts-sidebar-nav__link.active .nsofts-sidebar-nav__icon,
#nsofts_sidebar .nsofts-sidebar-nav__link:hover .nsofts-sidebar-nav__icon,
body.nsofts-theme-dark #nsofts_sidebar .nsofts-sidebar-nav__link.active .nsofts-sidebar-nav__icon {
    color: inherit;
}

.sidebar-featured-item {
    margin: 7px 0 5px;
}

.sidebar-featured-item .nsofts-sidebar-nav__link:not(.active),
body.nsofts-theme-dark .sidebar-featured-item .nsofts-sidebar-nav__link:not(.active) {
    color: #6651c5 !important;
    background: linear-gradient(105deg, rgba(124, 77, 255, .10), rgba(31, 119, 255, .08));
    border-color: rgba(129, 116, 255, .15) !important;
}

.sidebar-secondary-start {
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid rgba(101, 91, 180, .12);
}

.sidebar-profile-last {
    margin-top: 14px;
}

.card,
.filter-card,
.modern-card,
.metric-card,
body.nsofts-theme-dark .card,
body.nsofts-theme-dark .filter-card,
body.nsofts-theme-dark .modern-card,
body.nsofts-theme-dark .metric-card {
    color: var(--panel-ink);
    background: var(--panel-surface);
    border-color: var(--panel-border);
    box-shadow: 0 18px 44px rgba(48, 54, 114, .08);
    backdrop-filter: blur(12px);
}

body.nsofts-theme-dark .metric-card strong,
body.nsofts-theme-dark .modern-card-header h5,
body.nsofts-theme-dark .quick-list a,
body.nsofts-theme-dark .panel-wordmark,
body.nsofts-theme-dark .device-code,
body.nsofts-theme-dark h1,
body.nsofts-theme-dark h2,
body.nsofts-theme-dark h3,
body.nsofts-theme-dark h4,
body.nsofts-theme-dark h5,
body.nsofts-theme-dark h6 {
    color: var(--panel-ink) !important;
}

.dashboard-hero,
body.nsofts-theme-dark .dashboard-hero {
    background:
        radial-gradient(circle at 88% 8%, rgba(117, 223, 255, .30), transparent 32%),
        radial-gradient(circle at 8% 100%, rgba(207, 111, 255, .28), transparent 34%),
        linear-gradient(122deg, #7547e8 0%, #5f55eb 48%, #2189ed 100%);
    box-shadow: 0 22px 48px rgba(65, 71, 200, .24);
}

.dashboard-hero h1,
.dashboard-hero p,
.dashboard-hero .dashboard-kicker,
body.nsofts-theme-dark .dashboard-hero h1,
body.nsofts-theme-dark .dashboard-hero p {
    color: #fff !important;
}

.dashboard-kicker { opacity: .75; }
.chart-bar { background: linear-gradient(180deg, #238dff, #8050ee); }
.user-cell > span { background: linear-gradient(145deg, #258bf2, #8650ed); }

.btn-primary,
body.nsofts-theme-dark .btn-primary {
    color: #fff;
    border: 0;
    background: linear-gradient(105deg, #8350ed, #6259ef 52%, #2587ef);
    box-shadow: 0 11px 25px rgba(70, 80, 220, .24);
}

.btn-primary:hover,
.btn-primary:focus {
    color: #fff;
    background: linear-gradient(105deg, #9259f5, #6964f5 52%, #3295f7);
    box-shadow: 0 14px 32px rgba(70, 80, 220, .33);
}

.form-control,
.form-select,
.select2-container--default .select2-selection--single,
body.nsofts-theme-dark .form-control,
body.nsofts-theme-dark .form-select {
    color: #303653;
    background-color: rgba(255, 255, 255, .92);
    border-color: rgba(91, 87, 171, .17);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(105, 82, 229, .68);
    box-shadow: 0 0 0 .22rem rgba(105, 82, 229, .11), 0 8px 22px rgba(59, 79, 178, .07);
}

.profile-access-card { overflow: hidden; }
.profile-access-card::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #9552ef, #675cec 50%, #268df2);
}
.profile-access-heading { gap: 16px; }
.profile-access-logo {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    font-size: 28px;
    background: linear-gradient(135deg, #8c4fec, #298bf0);
    box-shadow: 0 12px 25px rgba(73, 72, 198, .23);
    overflow: hidden;
}
.profile-access-logo img { width: 100%; height: 100%; object-fit: contain; padding: 9px; }
.profile-password-hint { color: #727b99; font-size: 13px; }
.profile-password-hint i { color: #6259e9; margin-right: 4px; }

#nsofts_footer,
body.nsofts-theme-dark #nsofts_footer { color: #737b99; }

/* Login: fundo neon roxo/azul e somente o formulário de acesso. */
.modern-login-page,
body.modern-login-page.nsofts-theme-dark {
    min-height: 100vh;
    color: #27304c;
    background:
        radial-gradient(circle at 16% 15%, rgba(240, 83, 255, .44), transparent 28%),
        radial-gradient(circle at 84% 20%, rgba(58, 185, 255, .42), transparent 30%),
        radial-gradient(circle at 52% 100%, rgba(104, 57, 234, .45), transparent 38%),
        linear-gradient(135deg, #7549df 0%, #5a58e9 47%, #248ce8 100%);
}

.modern-login-page::before,
.modern-login-page::after {
    border-color: rgba(255, 255, 255, .22);
    opacity: .92;
    filter: blur(.1px);
}

.modern-login-page::before {
    background: linear-gradient(145deg, rgba(255, 255, 255, .13), rgba(75, 229, 255, .10));
    box-shadow: 0 0 120px rgba(59, 222, 255, .28), inset 0 0 65px rgba(255, 255, 255, .07);
}

.modern-login-page::after {
    background: linear-gradient(145deg, rgba(229, 82, 255, .13), rgba(255, 255, 255, .08));
    box-shadow: 0 0 130px rgba(223, 68, 255, .30), inset 0 0 70px rgba(255, 255, 255, .06);
}

.modern-login-page .nsofts-auth__pattern-1,
.modern-login-page .nsofts-auth__pattern-2 { display: none; }

.modern-login-page .nsofts-auth .card,
body.modern-login-page.nsofts-theme-dark .nsofts-auth .card {
    color: #27304c;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 26px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 34px 85px rgba(34, 34, 113, .28), 0 0 52px rgba(255, 255, 255, .13);
    backdrop-filter: blur(24px);
}

.modern-login-page .nsofts-auth .card:hover {
    border-color: rgba(255, 255, 255, .92);
    box-shadow: 0 39px 95px rgba(34, 34, 113, .34), 0 0 65px rgba(255, 255, 255, .18);
}

.modern-login-page .nsofts-auth .card::before {
    height: 4px;
    background: linear-gradient(90deg, #d052f4, #7658ef 49%, #29a6f2);
    box-shadow: 0 0 20px rgba(114, 88, 239, .55);
}

.modern-login-page .login-brand__name,
body.modern-login-page.nsofts-theme-dark .login-brand__name {
    color: transparent;
    background: linear-gradient(105deg, #8047e7, #3f77e9 55%, #159de8);
    -webkit-background-clip: text;
    background-clip: text;
    text-shadow: none;
}

.modern-login-page .form-label,
.modern-login-page .form-check-label,
.modern-login-page .nsofts-input-icon__left,
.modern-login-page .nsofts-input-icon__right,
body.modern-login-page.nsofts-theme-dark .form-label {
    color: #626b89;
}

.modern-login-page .form-control,
body.modern-login-page.nsofts-theme-dark .form-control {
    min-height: 51px;
    color: #2e3653;
    border: 1px solid rgba(93, 86, 177, .17);
    border-radius: 13px;
    background: rgba(248, 249, 255, .96);
    box-shadow: inset 0 1px rgba(255, 255, 255, .7);
}

.modern-login-page .form-control::placeholder { color: #a1a7ba; }
.modern-login-page .form-control:focus {
    color: #252d4b;
    border-color: rgba(103, 85, 230, .72);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(103, 85, 230, .12), 0 10px 28px rgba(63, 85, 186, .09);
}

.modern-login-page .btn-primary {
    min-height: 52px;
    border-radius: 13px;
    background: linear-gradient(105deg, #8f4ce9, #6659eb 52%, #258ce9);
    box-shadow: 0 14px 30px rgba(61, 75, 202, .31);
}

@media (max-width: 767px) {
    .profile-access-heading { align-items: flex-start !important; }
    .profile-access-logo { width: 54px; height: 54px; flex-basis: 54px; }
}
