/* Nova-Life UI V4 - clean TailAdmin-inspired interface layer. */
:root{
  color-scheme:light;
  --nl-bg:#f5f7fb;--nl-bg-2:#eef2ff;--nl-panel:#ffffff;--nl-panel-2:#f9fafb;--nl-card:#ffffff;--nl-text:#101828;--nl-heading:#0f172a;--nl-muted:#667085;--nl-soft:#f2f4f7;--nl-soft-2:#e4e7ec;--nl-border:#e5e7eb;--nl-border-2:#d0d5dd;
  --nl-primary:#465fff;--nl-primary-2:#6f7dff;--nl-primary-soft:rgba(70,95,255,.11);--nl-primary-border:rgba(70,95,255,.26);--nl-info:#0ea5e9;--nl-success:#12b76a;--nl-warning:#f79009;--nl-danger:#f04438;--nl-secondary:#667085;--nl-purple:#7a5af8;
  --nl-radius-xs:8px;--nl-radius-sm:10px;--nl-radius:14px;--nl-radius-lg:18px;--nl-radius-xl:22px;--nl-radius-2xl:28px;--nl-shadow-sm:0 1px 2px rgba(16,24,40,.05);--nl-shadow:0 12px 32px rgba(16,24,40,.08);--nl-shadow-lg:0 24px 70px rgba(16,24,40,.14);--nl-ring:0 0 0 4px rgba(70,95,255,.16);--nl-sidebar-w:292px;--nl-topbar-h:78px;--nl-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--nl-transition:180ms cubic-bezier(.2,.8,.2,1)
}
html[data-theme=dark]{color-scheme:dark;--nl-bg:#0b1220;--nl-bg-2:#111827;--nl-panel:#111827;--nl-panel-2:#0f172a;--nl-card:#111827;--nl-text:#e5e7eb;--nl-heading:#f8fafc;--nl-muted:#94a3b8;--nl-soft:#1f2937;--nl-soft-2:#263244;--nl-border:#253041;--nl-border-2:#344054;--nl-primary:#7c8cff;--nl-primary-2:#9aa5ff;--nl-primary-soft:rgba(124,140,255,.15);--nl-primary-border:rgba(124,140,255,.36);--nl-shadow-sm:0 1px 2px rgba(0,0,0,.25);--nl-shadow:0 16px 40px rgba(0,0,0,.35);--nl-shadow-lg:0 28px 80px rgba(0,0,0,.45)}
*{box-sizing:border-box}html{min-height:100%;font-family:var(--nl-font);scroll-behavior:smooth}body{min-height:100%;margin:0;background:radial-gradient(circle at 20% 0%,rgba(70,95,255,.11),transparent 34rem),linear-gradient(180deg,var(--nl-bg),var(--nl-bg));color:var(--nl-text);font-family:var(--nl-font);font-size:14px;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(70,95,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(70,95,255,.025) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 75%);z-index:-1}a{color:var(--nl-primary);text-decoration:none;transition:color var(--nl-transition),background var(--nl-transition),border var(--nl-transition),box-shadow var(--nl-transition),transform var(--nl-transition)}a:hover{color:var(--nl-primary-2)}img{max-width:100%;vertical-align:middle}hr{border:0;border-top:1px solid var(--nl-border);margin:1rem 0}button,input,textarea,select{font:inherit}button{cursor:pointer}strong,.fw-semibold,.fw-bold{font-weight:700!important}small,.small{font-size:.875em}.text-body{color:var(--nl-text)!important}.text-muted,.fw-light{color:var(--nl-muted)!important}.text-primary{color:var(--nl-primary)!important}.text-secondary{color:var(--nl-secondary)!important}.text-success{color:var(--nl-success)!important}.text-danger{color:var(--nl-danger)!important}.text-warning{color:var(--nl-warning)!important}.text-info{color:var(--nl-info)!important}.text-gray-700{color:#344054!important}html[data-theme=dark] .text-gray-700{color:#cbd5e1!important}.text-nowrap{white-space:nowrap}.text-center{text-align:center!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-uppercase{text-transform:uppercase!important;letter-spacing:.08em;font-weight:800;color:var(--nl-muted);font-size:11px}h1,h2,h3,h4,h5,h6{color:var(--nl-heading);margin-top:0;margin-bottom:.65rem;line-height:1.2;font-weight:800}h1{font-size:clamp(2rem,3vw,3rem)}h2{font-size:clamp(1.65rem,2.3vw,2.4rem)}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.05rem}h6{font-size:.94rem}p{margin-top:0;margin-bottom:1rem}.lead{font-size:1.08rem;color:var(--nl-muted)}
/* Layout */
.nl-shell{display:flex;min-height:100vh;width:100%}.nl-app{min-width:0;flex:1;display:flex;flex-direction:column;margin-left:var(--nl-sidebar-w);width:calc(100% - var(--nl-sidebar-w))}.nl-main{flex:1;min-width:0;padding:28px}.nl-page-host{width:100%;max-width:1680px;margin:0 auto}.content-wrapper{min-width:0;width:100%}.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{width:100%;max-width:none;margin:0 auto;padding-left:0;padding-right:0}.container-p-y{padding-top:0!important;padding-bottom:0!important}.flex-grow-1{flex-grow:1!important}.nl-page-host>.content-wrapper>.container-xxl,.nl-page-host>.content-wrapper>.container{display:grid;gap:24px}.nl-page-host>.content-wrapper>.container-xxl>*{min-width:0}.nl-page-host h4.fw-bold.py-3.mb-4{position:relative;margin:0!important;padding:24px 28px 24px 74px!important;border:1px solid var(--nl-border);border-radius:var(--nl-radius-2xl);background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.06));box-shadow:var(--nl-shadow-sm);overflow:hidden}.nl-page-host h4.fw-bold.py-3.mb-4:before{content:"";position:absolute;left:26px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:14px;background:var(--nl-primary-soft);border:1px solid var(--nl-primary-border);box-shadow:inset 0 0 0 6px rgba(255,255,255,.16)}.nl-page-host h4.fw-bold.py-3.mb-4:after{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:999px;background:rgba(70,95,255,.12)}.nl-page-host h4 .text-muted{display:block;margin-bottom:4px;color:var(--nl-muted)!important;font-size:13px;font-weight:700!important}.nl-page-host h4{font-size:24px}
/* Sidebar */
.nl-sidebar{position:fixed;z-index:1050;top:0;left:0;width:var(--nl-sidebar-w);height:100vh;background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2));border-right:1px solid var(--nl-border);box-shadow:var(--nl-shadow);display:flex;flex-direction:column;transition:transform var(--nl-transition),width var(--nl-transition)}.nl-sidebar-top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--nl-border)}.nl-brand{display:flex;align-items:center;gap:12px;color:var(--nl-heading)}.nl-brand:hover{color:var(--nl-heading)}.nl-brand-mark{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,var(--nl-primary),var(--nl-info));box-shadow:0 12px 28px rgba(70,95,255,.25);color:#fff}.nl-brand-mark img{width:100%;height:100%;object-fit:cover}.nl-brand-mark i{font-size:22px}.nl-brand-text{display:flex;flex-direction:column;gap:2px}.nl-brand-text strong{font-size:18px;letter-spacing:-.02em}.nl-brand-text small{font-size:12px;color:var(--nl-muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nl-sidebar-close{display:none}.nl-sidebar-scroll{flex:1;overflow:auto;padding:18px 14px 12px;scrollbar-width:thin;scrollbar-color:var(--nl-border) transparent}.nl-menu-caption{padding:14px 12px 8px;color:var(--nl-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.nl-menu{list-style:none;margin:0;padding:0;display:grid;gap:4px}.nl-menu-link,.nl-nav-trigger,.nl-sub-link{border:0;width:100%;display:flex;align-items:center;text-align:left;color:var(--nl-muted);background:transparent}.nl-menu-link,.nl-nav-trigger{gap:12px;min-height:44px;padding:10px 12px;border-radius:14px;font-weight:800}.nl-menu-link:hover,.nl-nav-trigger:hover,.nl-menu-link.is-active,.nl-nav-trigger.is-active{background:var(--nl-primary-soft);color:var(--nl-primary)}.nl-menu-link.is-active,.nl-nav-trigger.is-active{box-shadow:inset 0 0 0 1px var(--nl-primary-border)}.nl-nav-icon{width:24px;height:24px;border-radius:9px;display:grid;place-items:center;flex:0 0 24px;color:currentColor}.nl-nav-icon i,.nl-sub-link i{font-size:18px}.nl-nav-label{flex:1}.nl-nav-chevron{margin-left:auto;font-size:18px;transition:transform var(--nl-transition)}.nl-nav-group.is-open>.nl-nav-trigger .nl-nav-chevron{transform:rotate(180deg)}.nl-sub-menu{display:none;list-style:none;margin:4px 0 10px;padding:6px;border-radius:16px;background:rgba(102,112,133,.05);border:1px solid transparent}.nl-nav-group.is-open>.nl-sub-menu{display:grid;gap:2px}.nl-sub-link{gap:10px;padding:9px 10px 9px 13px;border-radius:12px;font-weight:700;font-size:13px}.nl-sub-link:hover,.nl-sub-link.is-active{color:var(--nl-primary);background:var(--nl-panel);box-shadow:var(--nl-shadow-sm)}.nl-dot{width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.55}.nl-sidebar-card{margin:12px 14px 16px;padding:14px;border-radius:18px;border:1px solid var(--nl-border);background:linear-gradient(135deg,var(--nl-primary-soft),transparent);display:flex;align-items:center;gap:10px}.nl-sidebar-card strong,.nl-sidebar-card small{display:block}.nl-sidebar-card small{color:var(--nl-muted);font-weight:700}.nl-status-dot{width:11px;height:11px;border-radius:999px;background:var(--nl-success);box-shadow:0 0 0 5px rgba(18,183,106,.14)}.nl-sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(3px);z-index:1040;opacity:0;visibility:hidden;transition:var(--nl-transition)}body.nl-sidebar-open .nl-sidebar-overlay{opacity:1;visibility:visible}
/* Top bar */
.nl-topbar{position:sticky;top:0;z-index:1020;height:var(--nl-topbar-h);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;background:rgba(245,247,251,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--nl-border)}html[data-theme=dark] .nl-topbar{background:rgba(11,18,32,.78)}.nl-topbar-left,.nl-topbar-actions{display:flex;align-items:center;gap:14px;min-width:0}.nl-page-meta{min-width:0}.nl-breadcrumb{display:flex;align-items:center;gap:7px;color:var(--nl-muted);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-breadcrumb a{color:var(--nl-muted)}.nl-breadcrumb i{font-size:14px;color:var(--nl-border-2)}.nl-topbar-title{display:flex;align-items:baseline;gap:10px;min-width:0}.nl-topbar-title span{font-size:18px;font-weight:900;color:var(--nl-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-topbar-title small{color:var(--nl-muted);font-weight:800}.nl-icon-btn{width:42px;height:42px;display:inline-grid!important;place-items:center;border:1px solid var(--nl-border);border-radius:14px;background:var(--nl-panel);color:var(--nl-muted);box-shadow:var(--nl-shadow-sm);transition:var(--nl-transition)}.nl-icon-btn:hover{color:var(--nl-primary);border-color:var(--nl-primary-border);background:var(--nl-primary-soft);transform:translateY(-1px)}.nl-icon-btn i{font-size:20px}.nl-user-dropdown{position:relative}.nl-user-button{border:1px solid var(--nl-border);background:var(--nl-panel);border-radius:18px;display:flex;align-items:center;gap:10px;min-height:46px;padding:5px 10px 5px 6px;color:var(--nl-heading);box-shadow:var(--nl-shadow-sm)}.nl-user-button:after{display:none!important}.nl-user-button span{display:flex;flex-direction:column;line-height:1.1;text-align:left;max-width:180px}.nl-user-button strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-user-button small{font-size:11px;color:var(--nl-muted);font-weight:800}.nl-avatar,.avatar{width:38px;height:38px;border-radius:14px;object-fit:cover;border:1px solid var(--nl-border);background:var(--nl-soft)}.nl-user-menu{min-width:260px}.nl-user-menu-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--nl-border);margin:-8px -8px 8px}.nl-user-menu-head strong,.nl-user-menu-head small{display:block}.nl-user-menu-head small{color:var(--nl-muted);font-weight:700}
/* Bootstrap-style grid/utilities */
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x));row-gap:var(--bs-gutter-y)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-inline{display:inline!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.justify-content-start{justify-content:flex-start!important}.justify-content-center{justify-content:center!important}.justify-content-end{justify-content:flex-end!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.flex-column{flex-direction:column!important}.flex-row{flex-direction:row!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.w-100{width:100%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.min-vh-100{min-height:100vh!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.rounded{border-radius:var(--nl-radius)!important}.rounded-2{border-radius:var(--nl-radius-sm)!important}.rounded-pill{border-radius:999px!important}.cursor-pointer{cursor:pointer}.float-end{float:right!important}.clearfix::after{display:block;clear:both;content:""}
.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-n2{margin-top:-.5rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.pb-1{padding-bottom:.25rem!important}
@media(min-width:576px){.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.text-sm-start{text-align:left!important}.justify-content-sm-start{justify-content:flex-start!important}.d-sm-inline-block{display:inline-block!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.ms-sm-4{margin-left:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.me-sm-1{margin-right:.25rem!important}.me-sm-3{margin-right:1rem!important}}
@media(min-width:768px){.col-md{flex:1 0 0%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.align-items-md-end{align-items:flex-end!important}.justify-content-md-between{justify-content:space-between!important}.flex-md-row{flex-direction:row!important}.mb-md-0{margin-bottom:0!important}.d-md-block{display:block!important}}
@media(min-width:992px){.col-lg{flex:1 0 0%}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}}
@media(min-width:1200px){.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.d-xl-none{display:none!important}}
/* Cards */
.card{position:relative;min-width:0;display:flex;flex-direction:column;word-wrap:break-word;background:var(--nl-card);border:1px solid var(--nl-border);border-radius:var(--nl-radius-2xl);box-shadow:var(--nl-shadow-sm);overflow:hidden;transition:border var(--nl-transition),box-shadow var(--nl-transition),transform var(--nl-transition)}.card:hover{box-shadow:var(--nl-shadow);border-color:var(--nl-border-2)}.card-header,.card-footer{padding:18px 22px;background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2));border-bottom:1px solid var(--nl-border)}.card-footer{border-top:1px solid var(--nl-border);border-bottom:0}.card-body{flex:1 1 auto;padding:22px}.card-title{margin-bottom:.35rem;color:var(--nl-heading);font-weight:900}.card-text:last-child{margin-bottom:0}.card-datatable{overflow:hidden}.card-datatable .card-body:first-child{border-bottom:1px solid var(--nl-border)}.card-info:before,.card-icon:before{content:"";position:absolute;inset:0 0 auto auto;width:130px;height:130px;border-radius:0 0 0 999px;background:var(--nl-primary-soft);pointer-events:none}.card-icon .badge{width:42px;height:42px;display:grid;place-items:center;border-radius:14px!important}.user-profile-header{position:relative;padding:22px;background:linear-gradient(135deg,var(--nl-primary-soft),transparent);border-radius:var(--nl-radius-2xl);min-height:150px}.user-profile-img{width:118px!important;height:118px!important;object-fit:cover;border-radius:26px!important;border:4px solid var(--nl-card);box-shadow:var(--nl-shadow)}.user-profile-info h4{font-size:28px;margin-bottom:12px}.list-inline{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.list-inline-item{margin:0!important;display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 11px;border:1px solid var(--nl-border);border-radius:999px;background:var(--nl-panel);color:var(--nl-muted);font-weight:800;font-size:12px}.list-inline-item i{font-size:16px;color:var(--nl-primary)}.list-unstyled{list-style:none;padding-left:0}.list-unstyled li{min-width:0}.list-unstyled li i{color:var(--nl-primary)}
/* Buttons and badges */
.btn{--btn-bg:var(--nl-panel);--btn-color:var(--nl-text);--btn-border:var(--nl-border);display:inline-flex!important;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:9px 15px;border-radius:14px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-color);font-weight:800;line-height:1.2;box-shadow:var(--nl-shadow-sm);transition:var(--nl-transition);text-decoration:none!important;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:var(--nl-shadow);color:var(--btn-color)}.btn:focus{outline:0;box-shadow:var(--nl-shadow-sm),var(--nl-ring)}.btn i{font-size:18px}.btn-primary{--btn-bg:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2));--btn-color:#fff;--btn-border:transparent}.btn-secondary,.btn-label-secondary{--btn-bg:var(--nl-soft);--btn-color:var(--nl-text);--btn-border:var(--nl-border)}.btn-success{--btn-bg:var(--nl-success);--btn-color:#fff;--btn-border:transparent}.btn-danger{--btn-bg:var(--nl-danger);--btn-color:#fff;--btn-border:transparent}.btn-warning{--btn-bg:var(--nl-warning);--btn-color:#111827;--btn-border:transparent}.btn-info{--btn-bg:var(--nl-info);--btn-color:#fff;--btn-border:transparent}.btn-outline-primary{--btn-bg:transparent;--btn-color:var(--nl-primary);--btn-border:var(--nl-primary-border)}.btn-sm{min-height:34px;padding:7px 11px;border-radius:12px;font-size:12px}.btn-lg{min-height:48px;padding:12px 18px;border-radius:16px}.btn-circle{width:42px;height:42px;padding:0;border-radius:999px!important}.btn:disabled,.btn.disabled{opacity:.55;pointer-events:none}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:.38rem .65rem;border-radius:999px;font-size:12px;font-weight:900;line-height:1;color:var(--nl-text);background:var(--nl-soft);border:1px solid transparent}.bg-primary,.badge.bg-primary{background:var(--nl-primary)!important;color:#fff!important}.bg-secondary,.badge.bg-secondary{background:var(--nl-secondary)!important;color:#fff!important}.bg-success,.badge.bg-success{background:var(--nl-success)!important;color:#fff!important}.bg-danger,.badge.bg-danger{background:var(--nl-danger)!important;color:#fff!important}.bg-warning,.badge.bg-warning{background:var(--nl-warning)!important;color:#111827!important}.bg-info,.badge.bg-info{background:var(--nl-info)!important;color:#fff!important}.bg-body{background:var(--nl-bg)!important}.bg-label-primary{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;border-color:var(--nl-primary-border)!important}.bg-label-info{background:rgba(14,165,233,.12)!important;color:var(--nl-info)!important;border-color:rgba(14,165,233,.25)!important}.bg-label-success{background:rgba(18,183,106,.12)!important;color:var(--nl-success)!important;border-color:rgba(18,183,106,.26)!important}.bg-label-warning{background:rgba(247,144,9,.14)!important;color:var(--nl-warning)!important;border-color:rgba(247,144,9,.28)!important}.bg-label-danger{background:rgba(240,68,56,.12)!important;color:var(--nl-danger)!important;border-color:rgba(240,68,56,.28)!important}.bg-label-secondary{background:var(--nl-soft)!important;color:var(--nl-muted)!important;border-color:var(--nl-border)!important}.ti-xs{font-size:14px!important}.ti-sm{font-size:18px!important}.ti-lg{font-size:26px!important}.ti-spin{animation:nl-spin .8s linear infinite}@keyframes nl-spin{to{transform:rotate(360deg)}}
/* Forms */
.form-label{display:block;margin-bottom:7px;color:var(--nl-heading);font-weight:800}.form-control,.form-select,.swal2-input,.swal2-textarea,.swal2-select{display:block;width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--nl-border);border-radius:14px;background:var(--nl-panel);color:var(--nl-text);box-shadow:var(--nl-shadow-sm);transition:border var(--nl-transition),box-shadow var(--nl-transition),background var(--nl-transition)}textarea.form-control{min-height:110px;resize:vertical}.form-control:focus,.form-select:focus,.swal2-input:focus,.swal2-textarea:focus,.swal2-select:focus{border-color:var(--nl-primary);box-shadow:var(--nl-ring);outline:0}.form-control::placeholder{color:var(--nl-muted);opacity:.9}.form-control:disabled,.form-control[readonly],.form-select:disabled{background:var(--nl-soft);color:var(--nl-muted);opacity:1}.form-control[type=file]{padding:9px 12px}.form-floating{position:relative}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:12px 13px;color:var(--nl-muted);pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}.form-floating>.form-control,.form-floating>.form-select{padding-top:22px;padding-bottom:7px}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.75;transform:scale(.78) translateY(-.45rem) translateX(.15rem)}.input-group{position:relative;display:flex;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group-text{display:flex;align-items:center;justify-content:center;padding:10px 13px;min-height:44px;color:var(--nl-muted);background:var(--nl-soft);border:1px solid var(--nl-border);border-radius:14px}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.input-group>:not(:last-child){border-top-right-radius:0!important;border-bottom-right-radius:0!important}.form-check{display:flex;align-items:center;gap:9px;min-height:1.5rem;margin-bottom:.5rem}.form-check-input{appearance:none;width:1.05rem;height:1.05rem;border:1px solid var(--nl-border-2);background:var(--nl-panel);border-radius:5px;display:grid;place-items:center;transition:var(--nl-transition);margin:0}.form-check-input[type=radio]{border-radius:999px}.form-check-input:checked{border-color:var(--nl-primary);background:var(--nl-primary);box-shadow:var(--nl-ring)}.form-check-input:checked::after{content:"";width:.42rem;height:.42rem;background:#fff;border-radius:2px}.form-check-input[type=radio]:checked::after{border-radius:999px}.form-check-label{font-weight:700;color:var(--nl-text)}.invalid-feedback,.valid-feedback{display:none;margin-top:6px;font-size:12px;font-weight:800}.is-invalid~.invalid-feedback,.was-validated :invalid~.invalid-feedback{display:block;color:var(--nl-danger)}.is-valid~.valid-feedback,.was-validated :valid~.valid-feedback{display:block;color:var(--nl-success)}.needs-validation .form-control:invalid{border-color:var(--nl-danger)}.custom-option{padding:0;border:1px solid var(--nl-border);border-radius:18px;background:var(--nl-panel);transition:var(--nl-transition);overflow:hidden}.custom-option:hover{border-color:var(--nl-primary-border);box-shadow:var(--nl-shadow-sm)}.custom-option-content{display:flex;align-items:center;gap:14px;width:100%;padding:16px}.custom-option-body{min-width:0}.custom-option-title{font-weight:900;color:var(--nl-heading)}.select2-container{width:100%!important}.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{min-height:44px;border:1px solid var(--nl-border)!important;border-radius:14px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;box-shadow:var(--nl-shadow-sm)}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:42px!important;color:var(--nl-text)!important;padding-left:13px!important}.select2-container--default .select2-selection--multiple{padding:4px 8px}.select2-dropdown{background:var(--nl-panel)!important;border:1px solid var(--nl-border)!important;border-radius:14px!important;box-shadow:var(--nl-shadow)!important;overflow:hidden}.select2-results__option{padding:9px 12px!important;color:var(--nl-text)!important}.select2-results__option--highlighted{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important}.bootstrap-select>.dropdown-toggle{width:100%;justify-content:space-between}.dropdown-menu.inner{position:static!important;display:block!important;box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important}.dropzone{border:1px dashed var(--nl-primary-border)!important;background:var(--nl-primary-soft)!important;border-radius:20px!important;color:var(--nl-muted)!important}
/* Navigation tabs */
.nav{display:flex;flex-wrap:wrap;gap:8px;padding-left:0;margin:0;list-style:none}.nav-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:14px;color:var(--nl-muted);font-weight:900;background:var(--nl-panel);border:1px solid var(--nl-border);box-shadow:var(--nl-shadow-sm)}.nav-link:hover{color:var(--nl-primary);border-color:var(--nl-primary-border);background:var(--nl-primary-soft)}.nav-link.active,.nav-pills .nav-link.active,.nav-tabs .nav-link.active{color:#fff!important;background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;border-color:transparent!important;box-shadow:0 12px 24px rgba(70,95,255,.25)}.nav-pills{padding:8px;border:1px solid var(--nl-border);border-radius:20px;background:var(--nl-panel);box-shadow:var(--nl-shadow-sm);overflow-x:auto;flex-wrap:nowrap}.nav-pills.flex-column{flex-direction:column!important;overflow:visible}.nav-tabs{border-bottom:1px solid var(--nl-border);gap:6px;overflow-x:auto;flex-wrap:nowrap}.nav-tabs .nav-link{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none;border-bottom:0;background:transparent}.card-header .nav-tabs{margin:-18px -22px 0;padding:12px 14px 0;background:var(--nl-panel-2)}.tab-content{padding:18px 0 0}.tab-content.p-0{padding:0!important}.tab-pane{display:none}.tab-pane.active,.tab-pane.show{display:block}.fade{transition:opacity .15s linear}.fade:not(.show){opacity:0}.fade.show{opacity:1}.nav-align-left{display:flex;align-items:flex-start;gap:18px}.nav-align-left>.nav{flex:0 0 240px}.nav-align-left>.tab-content{flex:1;min-width:0;padding-top:0}
/* Tables: base table styling; interactive DataTables are finalized in V16 below. */
.table-responsive{width:100%;overflow:auto;border:1px solid var(--nl-border);border-radius:20px;background:var(--nl-card);box-shadow:var(--nl-shadow-sm)}.table{width:100%;margin-bottom:0;color:var(--nl-text);border-collapse:separate;border-spacing:0;vertical-align:middle}.table th,.table td{padding:14px 16px;border-bottom:1px solid var(--nl-border);text-align:left}.table th{font-size:12px;color:var(--nl-muted);font-weight:700;background:var(--nl-card);white-space:nowrap}.table tbody tr{transition:background var(--nl-transition)}.table-hover tbody tr:hover{background:var(--nl-primary-soft)}.table tr:last-child td{border-bottom:0}.align-middle{vertical-align:middle!important}
/* Dropdown / modal / accordion / carousel */
.dropdown{position:relative}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.hide-arrow.dropdown-toggle::after{display:none}.dropdown-menu{position:absolute;z-index:1060;display:none;min-width:12rem;padding:8px;margin:0;color:var(--nl-text);background:var(--nl-panel);border:1px solid var(--nl-border);border-radius:18px;box-shadow:var(--nl-shadow-lg)}.dropdown-menu.show{display:block}.dropdown-menu-end{right:0;left:auto}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;clear:both;font-weight:800;color:var(--nl-text);text-align:inherit;white-space:nowrap;background:transparent;border:0;border-radius:12px}.dropdown-item:hover,.dropdown-item:focus{color:var(--nl-primary);background:var(--nl-primary-soft)}.dropdown-divider{height:0;margin:8px 0;overflow:hidden;border-top:1px solid var(--nl-border)}.modal{position:fixed;top:0;left:0;z-index:1070;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;padding:20px}.modal.show{display:block}.modal-dialog{position:relative;width:auto;margin:1.75rem auto;pointer-events:none;max-width:620px}.modal-sm{max-width:420px}.modal-lg{max-width:980px}.modal-xl{max-width:1140px}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:var(--nl-panel);border:1px solid var(--nl-border);border-radius:24px;box-shadow:var(--nl-shadow-lg);outline:0}.modal-header,.modal-footer{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--nl-border)}.modal-footer{justify-content:flex-end;border-top:1px solid var(--nl-border);border-bottom:0}.modal-title{margin:0;font-weight:900}.modal-body{position:relative;flex:1 1 auto;padding:22px}.btn-close{width:36px;height:36px;margin-left:auto;border:1px solid var(--nl-border);border-radius:12px;background:var(--nl-panel);color:var(--nl-muted);display:grid;place-items:center}.btn-close:before{content:"×";font-size:22px;line-height:1}.modal-backdrop{position:fixed;inset:0;z-index:1065;background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:1}.accordion{display:grid;gap:10px}.accordion-item{background:var(--nl-panel);border:1px solid var(--nl-border);border-radius:18px!important;overflow:hidden;box-shadow:var(--nl-shadow-sm)}.accordion-header{margin:0}.accordion-button{position:relative;display:flex;align-items:center;width:100%;gap:12px;padding:16px 18px;font-size:1rem;color:var(--nl-heading);font-weight:900;text-align:left;background:var(--nl-panel);border:0}.accordion-button:after{content:"\eab2";font-family:"tabler-icons";margin-left:auto;transition:transform var(--nl-transition)}.accordion-button:not(.collapsed):after{transform:rotate(180deg)}.accordion-button:not(.collapsed){background:var(--nl-primary-soft);color:var(--nl-primary)}.accordion-collapse{border-top:1px solid var(--nl-border)}.accordion-collapse.collapse:not(.show){display:none}.accordion-body{padding:18px}.collapse:not(.show){display:none}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden;border-radius:var(--nl-radius-xl)}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item.active{display:block}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding:1rem;border-radius:16px;background:rgba(15,23,42,.68);color:#fff;text-align:center}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin:0 15% 1rem;list-style:none}.carousel-indicators [data-bs-target]{width:10px;height:10px;margin:0 4px;border:0;border-radius:999px;background:#fff;opacity:.45}.carousel-indicators .active{opacity:1}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.7}.carousel-control-next{right:0}.carousel-control-prev{left:0}.carousel-control-prev-icon,.carousel-control-next-icon{width:2rem;height:2rem;border-radius:999px;background:rgba(15,23,42,.5);display:grid;place-items:center}.carousel-control-prev-icon:before{content:"‹";font-size:2rem}.carousel-control-next-icon:before{content:"›";font-size:2rem}
/* Alerts */
.alert{position:relative;padding:16px 18px;border:1px solid var(--nl-border);border-radius:18px;background:var(--nl-panel);color:var(--nl-text);box-shadow:var(--nl-shadow-sm)}.alert-heading{font-weight:900}.alert-primary{background:var(--nl-primary-soft);border-color:var(--nl-primary-border);color:var(--nl-primary)}.alert-info{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.25);color:var(--nl-info)}.alert-success{background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25);color:var(--nl-success)}.alert-warning{background:rgba(247,144,9,.14);border-color:rgba(247,144,9,.28);color:var(--nl-warning)}.alert-danger{background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.28);color:var(--nl-danger)}
/* Special modules */
.leaflet-map,#layerMap{height:calc(100vh - 210px);min-height:620px;border:1px solid var(--nl-border);border-radius:24px;overflow:hidden;box-shadow:var(--nl-shadow)}.leaflet-control-layers,.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--nl-panel)!important;color:var(--nl-text)!important;border:1px solid var(--nl-border)!important;box-shadow:var(--nl-shadow)!important}.app-chat{height:calc(100vh - 170px);min-height:660px}.app-chat .card{height:100%}.chat-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--nl-border);background:var(--nl-panel)}.chat-history-body{padding:20px;overflow:auto}.chat-history-footer{padding:14px 18px;border-top:1px solid var(--nl-border)}.chat-history-footer form{display:flex;align-items:center;gap:10px}.message-input{min-height:44px!important}.chat-message{display:flex;gap:10px;margin-bottom:14px}.chat-message-text{padding:12px 14px;border-radius:16px;background:var(--nl-soft);max-width:min(720px,80%)}.chat-message-right{justify-content:flex-end}.chat-message-right .chat-message-text{background:var(--nl-primary);color:#fff}.card .card-img-top{width:100%;height:230px;object-fit:cover;background:var(--nl-soft)}.filter-btn.active{background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;color:#fff!important;border-color:transparent!important}.info-container{display:grid;gap:10px;color:var(--nl-muted)}.info-container h6{margin:0;color:var(--nl-heading)}.convocation-preview,.plainte-preview,.controle-preview,.fiche-preview{align-items:flex-start}.convocation-preview-card,.plainte-preview-card,.controle-preview-card,.fiche-preview-card{background:#fff!important;color:#111827!important;border-radius:18px!important;border:1px solid #e5e7eb!important;box-shadow:0 18px 70px rgba(16,24,40,.16)!important;overflow:hidden}.convocation-preview-card *,.plainte-preview-card *,.controle-preview-card *,.fiche-preview-card *{color:#111827!important}.convocation-actions,.preplainte-actions{position:sticky;top:98px;align-self:flex-start}.light-mode,.light-mode *{background:#fff!important;color:#111827!important}.watermark-classe,.watermark-transforme{inset:0;background-repeat:no-repeat;background-position:center;background-size:80%;opacity:.18}.watermark-classe:empty,.watermark-transforme:empty{display:block}.bs-stepper{background:var(--nl-panel);border:1px solid var(--nl-border);border-radius:24px;box-shadow:var(--nl-shadow-sm);overflow:hidden}.bs-stepper-header{display:flex;align-items:center;gap:8px;padding:14px;border-bottom:1px solid var(--nl-border);overflow-x:auto}.step-trigger{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--nl-muted);font-weight:900;padding:9px;border-radius:14px}.step.active .step-trigger,.step-trigger:hover{background:var(--nl-primary-soft);color:var(--nl-primary)}.bs-stepper-circle{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--nl-soft);color:inherit}.step.active .bs-stepper-circle{background:var(--nl-primary);color:#fff}.bs-stepper-content{padding:22px}.line{height:1px;min-width:26px;background:var(--nl-border)}.vertical.bs-stepper{display:flex}.vertical.bs-stepper .bs-stepper-header{flex-direction:column;align-items:stretch;border-bottom:0;border-right:1px solid var(--nl-border);min-width:260px}.vertical.bs-stepper .line{display:none}.swal2-popup{background:var(--nl-panel)!important;color:var(--nl-text)!important;border-radius:24px!important;border:1px solid var(--nl-border)!important;box-shadow:var(--nl-shadow-lg)!important}.swal2-title{color:var(--nl-heading)!important}.swal2-html-container{color:var(--nl-muted)!important}.swal2-styled.swal2-confirm{background:var(--nl-primary)!important}.swal2-styled.swal2-cancel{background:var(--nl-soft)!important;color:var(--nl-text)!important}.toast,.toastr,.toast-success,.toast-error,.toast-info,.toast-warning,#toast-container>div{border-radius:16px!important;box-shadow:var(--nl-shadow-lg)!important}
/* Auth/basic pages */
.authentication-wrapper{min-height:100vh;display:grid;place-items:center;padding:24px}.authentication-inner{width:min(100%,460px)}
/* Footer */
.nl-footer{padding:0 28px 28px}.nl-footer-inner{max-width:1680px;margin:0 auto;border:1px solid var(--nl-border);border-radius:24px;background:var(--nl-panel);box-shadow:var(--nl-shadow-sm);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nl-footer-brand{display:flex;align-items:center;gap:12px}.nl-footer-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:var(--nl-primary-soft);color:var(--nl-primary);border:1px solid var(--nl-primary-border)}.nl-footer-brand strong,.nl-footer-brand small{display:block}.nl-footer-brand small{color:var(--nl-muted);font-weight:700}.nl-footer-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nl-footer-links a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:12px;color:var(--nl-muted);font-weight:800}.nl-footer-links a:hover{background:var(--nl-primary-soft);color:var(--nl-primary)}
/* DOM enhancement classes */
.nl-auto-table{border-radius:20px;overflow:hidden}.nl-soft-list{display:grid;gap:10px}.nl-soft-list>li{padding:12px 14px;border:1px solid var(--nl-border);border-radius:16px;background:var(--nl-panel-2)}.nl-empty-state{padding:32px;text-align:center;color:var(--nl-muted)}
/* Responsive */
@media(max-width:1199.98px){:root{--nl-sidebar-w:286px}.nl-sidebar{transform:translateX(-105%)}body.nl-sidebar-open .nl-sidebar{transform:translateX(0)}.nl-app{margin-left:0;width:100%}.nl-topbar,.nl-footer{margin-left:0}.nl-sidebar-close{display:grid!important}.nl-main{padding:22px}.nl-topbar{height:auto;min-height:74px;margin-left:0}.nl-page-meta{max-width:calc(100vw - 210px)}.leaflet-map,#layerMap{height:70vh;min-height:520px}.convocation-actions,.preplainte-actions{position:static}.vertical.bs-stepper{display:block}.vertical.bs-stepper .bs-stepper-header{flex-direction:row;border-right:0;border-bottom:1px solid var(--nl-border);min-width:0}.vertical.bs-stepper .step{flex:0 0 auto}.bs-stepper-label{display:none}}
@media(max-width:767.98px){body{font-size:13px}.nl-main{padding:16px}.nl-topbar{padding:12px 16px;gap:10px}.nl-topbar-title small,.nl-breadcrumb{display:none}.nl-user-button span,.nl-user-button>.ti{display:none}.nl-page-meta{max-width:calc(100vw - 154px)}.nl-page-host>.content-wrapper>.container-xxl{gap:18px}.nl-page-host h4.fw-bold.py-3.mb-4{padding:20px 20px 20px 62px!important;border-radius:22px;font-size:20px}.nl-page-host h4.fw-bold.py-3.mb-4:before{left:18px}.row{--bs-gutter-x:1rem}.card{border-radius:22px}.card-header,.card-body,.card-footer{padding:18px}.nav-pills{border-radius:18px}.nav-align-left{display:block}.nav-align-left>.nav{flex-direction:row;overflow:auto;margin-bottom:14px}.table th,.table td{padding:12px}.modal{padding:12px}.modal-body,.modal-header,.modal-footer{padding:18px}.nl-footer{padding:0 16px 18px}.nl-footer-inner{display:grid}.nl-footer-links{display:grid;grid-template-columns:1fr 1fr}.leaflet-map,#layerMap{height:62vh;min-height:410px}.convocation-preview,.plainte-preview,.controle-preview,.fiche-preview{overflow:auto}.convocation-preview-card,.plainte-preview-card,.controle-preview-card,.fiche-preview-card{min-width:720px}.app-chat{height:72vh;min-height:560px}.card .card-img-top{height:180px}.user-profile-header{padding:18px}.user-profile-img{width:92px!important;height:92px!important}.list-inline-item{max-width:100%;white-space:normal}.d-md-block{display:none!important}}
/* Compatibility helpers frequently used by existing pages */
.app-brand{display:inline-flex;align-items:center;gap:10px}.nl-auth-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:20px;background:var(--nl-primary-soft);color:var(--nl-primary);border:1px solid var(--nl-primary-border);box-shadow:var(--nl-shadow-sm)}.nl-auth-icon i{font-size:28px}.flex-shrink-0{flex-shrink:0!important}.flex-grow-0{flex-grow:0!important}.ms-auto{margin-left:auto!important}.me-auto{margin-right:auto!important}.mt-auto{margin-top:auto!important}.mb-auto{margin-bottom:auto!important}.border{border:1px solid var(--nl-border)!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--nl-border)!important}.border-bottom{border-bottom:1px solid var(--nl-border)!important}.border-start{border-left:1px solid var(--nl-border)!important}.border-end{border-right:1px solid var(--nl-border)!important}.rounded-circle{border-radius:50%!important}.rounded-top{border-top-left-radius:var(--nl-radius)!important;border-top-right-radius:var(--nl-radius)!important}.rounded-bottom{border-bottom-left-radius:var(--nl-radius)!important;border-bottom-right-radius:var(--nl-radius)!important}.img-fluid{max-width:100%;height:auto}.object-fit-cover{object-fit:cover}.bg-transparent{background:transparent!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--nl-shadow-sm)!important}.shadow{box-shadow:var(--nl-shadow)!important}.opacity-0{opacity:0!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.z-1{z-index:1}.z-2{z-index:2}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-16x9{--bs-aspect-ratio:56.25%}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn{border-radius:0}.btn-group>.btn:first-child{border-top-left-radius:14px;border-bottom-left-radius:14px}.btn-group>.btn:last-child{border-top-right-radius:14px;border-bottom-right-radius:14px}.btn-group>.btn:not(:first-child){margin-left:-1px}.modal-simple .modal-content,.modal-edit-user .modal-content{border-radius:26px}.modal-edit-user .modal-body{padding:28px}.form-group{margin-bottom:1rem}.navbar,.layout-navbar{display:none!important}.menu,.layout-menu,.layout-overlay,.drag-target{display:none!important}.nl-img-error{opacity:.3;filter:grayscale(1)}.breadcrumb{display:flex;gap:6px;list-style:none;padding:0;margin:0}.breadcrumb-item{color:var(--nl-muted);font-weight:800}.breadcrumb-item.active{color:var(--nl-heading)}.breadcrumb-item+.breadcrumb-item:before{content:"/";padding-right:6px;color:var(--nl-border-2)}
@media(min-width:576px){.align-items-sm-start{align-items:flex-start!important}.align-items-sm-center{align-items:center!important}.align-items-sm-end{align-items:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.text-sm-center{text-align:center!important}.text-sm-end{text-align:right!important}}
@media(min-width:768px){.text-md-start{text-align:left!important}.text-md-center{text-align:center!important}.text-md-end{text-align:right!important}.d-md-flex{display:flex!important}.d-md-none{display:none!important}}
@media(min-width:992px){.d-lg-flex{display:flex!important}.d-lg-block{display:block!important}.d-lg-none{display:none!important}.text-lg-start{text-align:left!important}.text-lg-center{text-align:center!important}.text-lg-end{text-align:right!important}}
body.nl-auth-page{min-height:100vh;background-color:#0f172a;background-blend-mode:multiply}.nl-auth-page .authentication-wrapper{min-height:100vh}.nl-auth-page .card{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 24px 80px rgba(2,6,23,.35)}html[data-theme=dark] .nl-auth-page .card{background:rgba(17,24,39,.9);border-color:rgba(255,255,255,.12)}.nl-auth-page .btn-primary{min-height:48px;border-radius:16px}.nl-auth-page .app-brand img{filter:drop-shadow(0 10px 30px rgba(0,0,0,.2))}

/* Nova-Life UI V5 - polish fixes: tabs, tables, cards, sidebar, validation and header. */
:root{--nl-control-h:44px}
body.nl-sidebar-open{overflow:hidden}.nl-breadcrumb{gap:6px;min-width:0;max-width:100%}.nl-breadcrumb a,.nl-breadcrumb>span{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:36vw;padding:4px 8px;border-radius:10px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.nl-breadcrumb a{color:var(--nl-muted);border:1px solid transparent}.nl-breadcrumb a:hover{color:var(--nl-primary);background:var(--nl-primary-soft);border-color:var(--nl-primary-border)}.nl-breadcrumb a i{font-size:14px;flex:0 0 auto}.nl-breadcrumb>span{color:var(--nl-heading);font-weight:900;background:var(--nl-panel);border:1px solid var(--nl-border);box-shadow:var(--nl-shadow-sm)}.nl-topbar-title{gap:0}.nl-topbar-title strong{font-weight:900}.nl-topbar-title small{display:none!important}.nl-topbar-left{flex:1 1 auto}.nl-topbar-actions{flex:0 0 auto}.nl-page-meta{display:grid;gap:4px}.nl-sidebar{will-change:transform}.nl-sidebar-scroll{padding-bottom:6px}.nl-nav-trigger{cursor:pointer}.nl-nav-trigger:focus-visible,.nl-menu-link:focus-visible,.nl-sub-link:focus-visible{outline:0;box-shadow:var(--nl-ring)}.nl-sub-menu{display:grid!important;max-height:0;opacity:0;overflow:hidden;margin:0 0 0;padding:0 6px;border-color:transparent;pointer-events:none;transition:max-height .24s ease,opacity .18s ease,margin .18s ease,padding .18s ease,border-color .18s ease}.nl-nav-group.is-open>.nl-sub-menu{max-height:1200px;opacity:1;margin:4px 0 10px;padding:6px;border-color:var(--nl-border);pointer-events:auto}.nl-sub-menu>li{min-width:0}.nl-nav-group.is-open>.nl-nav-trigger{background:var(--nl-primary-soft);color:var(--nl-primary)}

/* Horizontal top page tabs. Old pages use flex-column flex-sm-row; V4 made flex-column win. */
.nav.nav-pills.flex-column.flex-sm-row:not(.nav-align-left):not(.nl-vertical-tabs){flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--nl-border-2) transparent;max-width:100%;padding:8px}.nav.nav-pills.flex-column.flex-sm-row:not(.nav-align-left):not(.nl-vertical-tabs) .nav-item{flex:0 0 auto;width:auto!important;min-width:max-content}.nav.nav-pills.flex-column.flex-sm-row:not(.nav-align-left):not(.nl-vertical-tabs) .nav-link{white-space:nowrap;min-height:40px}.nav.nav-pills.flex-column.flex-sm-row:not(.nav-align-left):not(.nl-vertical-tabs)+*{min-width:0}.nav-tabs.card-header-tabs{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-end;gap:6px;overflow-x:auto;overflow-y:hidden;width:100%;margin:0!important;padding:0!important;border-bottom:0}.card-header:has(.nav-tabs),.card-header:has(.card-header-tabs){display:flex;align-items:flex-end;gap:10px;padding:14px 16px 0!important;background:var(--nl-panel-2)}.card-header .nav-tabs .nav-item{flex:0 0 auto}.card-header .nav-tabs .nav-link{border-radius:14px 14px 0 0;white-space:nowrap;background:var(--nl-panel);border:1px solid var(--nl-border);border-bottom:0;min-height:42px}.tab-content{min-width:0}.tab-pane:not(.active):not(.show){display:none!important}.tab-pane.active,.tab-pane.show{display:block}.nav-align-left{align-items:stretch}.nav-align-left>.nav.nav-pills.flex-column{flex-direction:column!important;flex-wrap:nowrap!important;overflow:visible}.nav-align-left>.nav.nav-pills.flex-column .nav-item{width:100%}.nav-align-left>.nav.nav-pills.flex-column .nav-link{justify-content:flex-start;width:100%;white-space:normal}

/* Rows and cards. Some legacy pages put .card directly inside .row. */
.row{align-items:stretch}.row>.card{width:calc(100% - var(--bs-gutter-x))!important;margin-left:calc(var(--bs-gutter-x)*.5)!important;margin-right:calc(var(--bs-gutter-x)*.5)!important;padding-left:0!important;padding-right:0!important}.card{isolation:isolate}.card:hover{transform:none}.card-header h1,.card-header h2,.card-header h3,.card-header h4,.card-header h5,.card-header h6,.card-header .card-title{margin:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.card-body>.row:first-child{margin-top:-12px}.card-body>.row:last-child{margin-bottom:-12px}.card-info{min-width:0}.card-info h5,.card-info h6{margin:0 0 3px;line-height:1.25;overflow-wrap:anywhere}.card-info small{display:block;color:var(--nl-muted);font-weight:800}.card-icon{position:relative;z-index:1}.card-icon .badge{width:46px;height:46px;padding:0;border-radius:16px!important}.player-card{display:block;margin-bottom:14px;color:inherit!important;text-decoration:none!important}.player-card>.card,.player-card .card{border-radius:22px;overflow:hidden;background:linear-gradient(135deg,var(--nl-card),var(--nl-panel-2));border-color:var(--nl-border)}.player-card:hover .card{border-color:var(--nl-primary-border);box-shadow:var(--nl-shadow);transform:translateY(-1px)}.player-card .card-body{padding:20px!important}.player-card .badge{flex:0 0 auto}.list-inline-item .badge{width:auto;height:auto;padding:.38rem .65rem}.badge.rounded-pill{min-width:32px}.card .alert:last-child,.card .table-responsive:last-child{margin-bottom:0}

/* Forms and validation. Do not show red before the user submits or touches fields. */
.nl-form:not(.was-validated):not(.nl-form-submitted) .invalid-feedback,.nl-form:not(.was-validated):not(.nl-form-submitted) .valid-feedback,.needs-validation:not(.was-validated):not(.nl-form-submitted) .invalid-feedback,.needs-validation:not(.was-validated):not(.nl-form-submitted) .valid-feedback{display:none!important}.nl-form:not(.was-validated):not(.nl-form-submitted) .form-control:invalid,.nl-form:not(.was-validated):not(.nl-form-submitted) .form-select:invalid,.needs-validation:not(.was-validated):not(.nl-form-submitted) .form-control:invalid,.needs-validation:not(.was-validated):not(.nl-form-submitted) .form-select:invalid{border-color:var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important;background-image:none!important}.nl-form:not(.was-validated):not(.nl-form-submitted) .is-invalid:not(.nl-force-invalid),.needs-validation:not(.was-validated):not(.nl-form-submitted) .is-invalid:not(.nl-force-invalid){border-color:var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important;background-image:none!important}.nl-form.was-validated .form-control:invalid,.nl-form.was-validated .form-select:invalid,.nl-form.nl-form-submitted .form-control:invalid,.nl-form.nl-form-submitted .form-select:invalid,.form-control.is-invalid.nl-touched,.form-select.is-invalid.nl-touched{border-color:var(--nl-danger)!important;box-shadow:0 0 0 4px rgba(240,68,56,.12)!important}.nl-form.was-validated .invalid-feedback,.nl-form.nl-form-submitted .invalid-feedback{display:block;color:var(--nl-danger)}.fv-plugins-bootstrap5-row-invalid:not(.nl-field-touched):not(.nl-field-submitted) .fv-plugins-message-container,.fv-plugins-bootstrap5-row-invalid:not(.nl-field-touched):not(.nl-field-submitted) .invalid-feedback{display:none!important}.fv-plugins-bootstrap5-row-invalid:not(.nl-field-touched):not(.nl-field-submitted) .form-control,.fv-plugins-bootstrap5-row-invalid:not(.nl-field-touched):not(.nl-field-submitted) .form-select{border-color:var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important}.form-control.is-valid,.form-select.is-valid{border-color:var(--nl-success);box-shadow:0 0 0 4px rgba(18,183,106,.1)}.form-text{display:block;margin-top:6px;color:var(--nl-muted);font-weight:700;font-size:12px}.input-group{display:flex;align-items:stretch;width:100%;border-radius:14px}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group-text{display:flex;align-items:center;padding:10px 13px;border:1px solid var(--nl-border);background:var(--nl-panel-2);color:var(--nl-muted);font-weight:800}.input-group>:not(:first-child){margin-left:-1px;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.input-group>:not(:last-child){border-top-right-radius:0!important;border-bottom-right-radius:0!important}.input-group.is-focused{box-shadow:var(--nl-ring);border-radius:14px}.input-group.is-focused>*{border-color:var(--nl-primary)!important}

@media(max-width:1199.98px){.nl-sidebar{box-shadow:var(--nl-shadow-lg)}.nl-breadcrumb a,.nl-breadcrumb>span{max-width:28vw}.nl-topbar-actions{gap:8px}}
@media(max-width:767.98px){.nl-page-meta{max-width:calc(100vw - 150px)}.nl-breadcrumb{display:flex}.nl-breadcrumb a span{display:none}.nl-breadcrumb>span{max-width:46vw}.nav.nav-pills.flex-column.flex-sm-row:not(.nav-align-left):not(.nl-vertical-tabs){margin-left:-2px;margin-right:-2px}.nav-link{padding:9px 12px}.table{min-width:640px}.card-header{align-items:flex-start;flex-direction:column}.card-header:has(.nav-tabs),.card-header:has(.card-header-tabs){display:block}.card-header .nav-tabs .nav-link{min-height:38px}.nl-footer-links{grid-template-columns:1fr!important}}

/* =========================
   Nova-Life UI V13
   TailAdmin component layer: header, sidebar and DataTables.
   ========================= */
:root{
  --nl-sidebar-w:292px;
  --nl-sidebar-collapsed-w:90px;
  --nl-topbar-h:82px;
  --nl-transition-fast:180ms cubic-bezier(.4,0,.2,1);
  --nl-transition-menu:260ms cubic-bezier(.4,0,.2,1);
  --ta-control-h:44px;
}
.ti{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;color:currentColor!important}.ti:before{line-height:1!important}.nl-brand-mark .ti{font-size:23px!important}.nl-icon-btn .ti{font-size:20px!important}.nl-nav-icon .ti{font-size:21px!important}.nl-sub-link .ti{font-size:18px!important;min-width:18px!important}

/* Layout / fixed header */
.nl-shell{display:flex!important;min-height:100vh!important;width:100%!important;overflow-x:hidden!important}.nl-sidebar-top{height:var(--nl-topbar-h)!important;min-height:var(--nl-topbar-h)!important}.nl-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--nl-sidebar-w)!important;height:100vh!important;z-index:1050!important;overflow:hidden!important;transform:none!important;background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2))!important;border-right:1px solid var(--nl-border)!important;transition:width var(--nl-transition-menu),transform var(--nl-transition-menu),box-shadow var(--nl-transition-menu)!important;will-change:width,transform}.nl-app{margin-left:var(--nl-sidebar-w)!important;width:calc(100% - var(--nl-sidebar-w))!important;min-width:0!important;transition:margin-left var(--nl-transition-menu),width var(--nl-transition-menu)!important}.nl-topbar{position:fixed!important;top:0!important;right:0!important;left:var(--nl-sidebar-w)!important;width:auto!important;height:var(--nl-topbar-h)!important;min-height:var(--nl-topbar-h)!important;z-index:1030!important;display:flex!important;align-items:center!important;border-bottom:1px solid var(--nl-border)!important;background:rgba(245,247,251,.88)!important;backdrop-filter:blur(16px)!important;transition:left var(--nl-transition-menu),background var(--nl-transition-fast)!important}html[data-theme=dark] .nl-topbar{background:rgba(11,18,32,.86)!important}.nl-main{padding-top:calc(var(--nl-topbar-h) + 28px)!important}.nl-sidebar-close,.nl-sidebar-overlay{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;backdrop-filter:none!important}

/* TailAdmin-like collapsed sidebar: icons stay visible, hover expands text without moving content. */
@media(min-width:1200px){
  body.nl-sidebar-collapsed .nl-sidebar{width:var(--nl-sidebar-collapsed-w)!important;box-shadow:var(--nl-shadow-sm)!important}
  body.nl-sidebar-collapsed .nl-app{margin-left:var(--nl-sidebar-collapsed-w)!important;width:calc(100% - var(--nl-sidebar-collapsed-w))!important}
  body.nl-sidebar-collapsed .nl-topbar{left:var(--nl-sidebar-collapsed-w)!important}
  body.nl-sidebar-collapsed .nl-sidebar:hover,body.nl-sidebar-collapsed .nl-sidebar:focus-within{width:var(--nl-sidebar-w)!important;box-shadow:var(--nl-shadow)!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-sidebar-top{padding:18px 14px!important;justify-content:center!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-brand{justify-content:center!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-brand-text,
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-menu-caption,
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-nav-label,
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-menu-link>span:not(.nl-nav-icon),
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-sub-link span,
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-nav-chevron,
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-sidebar-card{display:none!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-sidebar-scroll{padding:16px 10px!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-menu{gap:8px!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-menu-link,
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-nav-trigger{width:52px!important;height:52px!important;min-height:52px!important;padding:0!important;margin:0 auto!important;justify-content:center!important;border-radius:16px!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-nav-icon{width:26px!important;height:26px!important;flex:0 0 26px!important}
  body.nl-sidebar-collapsed .nl-sidebar:not(:hover):not(:focus-within) .nl-sub-menu{display:none!important;max-height:0!important;opacity:0!important;pointer-events:none!important}
}
@media(max-width:1199.98px){
  .nl-sidebar{width:var(--nl-sidebar-w)!important;transform:translateX(-105%)!important;box-shadow:var(--nl-shadow-lg)!important}.nl-app,body.nl-sidebar-collapsed .nl-app{margin-left:0!important;width:100%!important}.nl-topbar,body.nl-sidebar-collapsed .nl-topbar{left:0!important}.nl-main{padding-top:calc(var(--nl-topbar-h) + 16px)!important}body.nl-sidebar-open .nl-sidebar{transform:translateX(0)!important}body.nl-sidebar-open{overflow:hidden!important}.nl-sidebar-close{display:grid!important}.nl-sidebar-overlay{display:block!important;position:fixed!important;inset:0!important;z-index:1040!important;background:rgba(15,23,42,.50)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity var(--nl-transition-menu),visibility var(--nl-transition-menu)!important}body.nl-sidebar-open .nl-sidebar-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}

/* Sidebar accordion: one group open, arrow rotates smoothly. */
.nl-nav-trigger{cursor:pointer!important;position:relative!important;user-select:none!important}.nl-nav-chevron{margin-left:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;font-size:18px!important;transform:rotate(0deg)!important;transition:transform var(--nl-transition-menu),color var(--nl-transition-menu)!important;transform-origin:50% 50%!important;color:currentColor!important}.nl-nav-group.is-open>.nl-nav-trigger .nl-nav-chevron{transform:rotate(180deg)!important;color:var(--nl-primary)!important}.nl-sidebar .nl-nav-group>.nl-sub-menu{display:grid!important;max-height:0!important;opacity:0!important;overflow:hidden!important;margin:0!important;padding:0 6px!important;border-color:transparent!important;pointer-events:none!important;transition:max-height var(--nl-transition-menu),opacity 180ms ease,margin 180ms ease,padding 180ms ease,border-color 180ms ease!important;will-change:max-height,opacity}.nl-sidebar .nl-nav-group.is-open>.nl-sub-menu{max-height:900px!important;opacity:1!important;margin:4px 0 10px!important;padding:6px!important;border-color:var(--nl-border)!important;pointer-events:auto!important}.nl-sidebar .nl-nav-group>.nl-sub-menu[hidden]{display:grid!important;max-height:0!important;opacity:0!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;border-color:transparent!important;pointer-events:none!important}.nl-admin-server-link{color:var(--nl-muted)!important}.nl-admin-server-link:hover,.nl-admin-server-link.is-active{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;box-shadow:inset 0 0 0 1px var(--nl-primary-border)!important}

/* Breadcrumb: text-only TailAdmin breadcrumb, no chips around separators. */
.nl-breadcrumb{display:flex!important;align-items:center!important;gap:8px!important;font-size:13px!important;line-height:1.2!important;color:var(--nl-muted)!important;white-space:nowrap!important;overflow:hidden!important}.nl-breadcrumb i{display:none!important}.nl-breadcrumb a,.nl-breadcrumb>span:not(.nl-breadcrumb-separator){display:inline-flex!important;align-items:center!important;min-width:0!important;max-width:30vw!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.nl-breadcrumb a{color:var(--nl-muted)!important;font-weight:800!important}.nl-breadcrumb a:hover{color:var(--nl-primary)!important}.nl-breadcrumb>span:not(.nl-breadcrumb-separator){color:var(--nl-heading)!important;font-weight:900!important}.nl-breadcrumb-separator{display:inline!important;width:auto!important;height:auto!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--nl-border-2)!important;line-height:1!important;font-weight:900!important}

/* Tabs stay horizontal. */
.nl-page-host .nav.nav-pills:not(.nl-sidebar .nav):not(.nl-vertical-tabs):not(.nav-align-left .nav),.nl-page-host ul.nav.nav-pills:not(.nl-sidebar .nav),.nl-page-host .nav-tabs,.nl-page-host .card-header-tabs,.nl-top-tabs,.nl-card-tabs{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;scrollbar-width:thin!important}.nl-page-host .nav.nav-pills>li,.nl-page-host .nav.nav-tabs>li,.nl-page-host .nav-item,.nl-top-tab-item{flex:0 0 auto!important;width:auto!important;max-width:none!important}.nl-page-host .nav.nav-pills .nav-link,.nl-page-host .nav.nav-tabs .nav-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:max-content!important;max-width:none!important;white-space:nowrap!important;min-height:42px!important}.nav-align-left>.nav.nav-pills,.nav-align-left>ul.nav.nav-pills{flex-direction:column!important;align-items:stretch!important;overflow:visible!important;white-space:normal!important}.nav-align-left>.nav.nav-pills .nav-link{justify-content:flex-start!important;min-width:0!important;width:100%!important;white-space:normal!important}

/* Cards: TailAdmin rounded card shell. */
.card{overflow:hidden!important;border:1px solid var(--nl-border)!important;border-radius:20px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important}.card-header{padding:18px 22px!important;border-bottom:1px solid var(--nl-border)!important;background:var(--nl-card)!important;color:var(--nl-heading)!important;font-weight:800!important}.card-body{min-width:0!important}.row>.card{margin-left:calc(var(--bs-gutter-x,1.5rem)*.5)!important;margin-right:calc(var(--bs-gutter-x,1.5rem)*.5)!important;width:calc(100% - var(--bs-gutter-x,1.5rem))!important}.nl-row-card{width:calc(100% - var(--bs-gutter-x,1.5rem))!important}

/* TailAdmin Datatable 3 component (without download button) - V16 pagination/sort icon fixes.
   jQuery DataTables stays as the data engine; the generated DOM is converted to the TailAdmin DataTable 3 shell. */
.nl-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:root{--ta3-control-h:44px;--ta3-cell-x:24px;--ta3-row-y:18px;--ta3-radius:18px}
.card-datatable{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
.card.tailadmin-has-datatable{overflow:hidden!important;padding:0!important;border:1px solid var(--nl-border)!important;border-radius:20px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important}
.card.tailadmin-has-datatable>.card-header,.card.tailadmin-has-datatable>.nl-card-header{margin:0!important;padding:18px 24px!important;border:0!important;border-bottom:1px solid var(--nl-border)!important;background:var(--nl-card)!important;color:var(--nl-heading)!important;font-size:16px!important;font-weight:800!important;line-height:1.4!important}
.card.tailadmin-has-datatable>.card-body{padding:0!important}
.dataTables_wrapper{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--nl-text)!important;overflow:visible!important}
.dataTables_wrapper:before,.dataTables_wrapper:after{content:none!important;display:none!important}
.ta-datatable3{width:100%!important;max-width:100%!important;overflow:hidden!important;border:1px solid var(--nl-border)!important;border-radius:var(--ta3-radius)!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important;color:var(--nl-text)!important}
.card>.card-datatable .ta-datatable3,.card>.dataTables_wrapper>.ta-datatable3{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.ta-datatable3-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;min-height:70px!important;padding:16px 24px!important;border-bottom:1px solid var(--nl-border)!important;background:transparent!important}
.ta-datatable3-length,.ta-datatable3-actions,.ta-datatable3-search{display:flex!important;align-items:center!important;min-width:0!important}.ta-datatable3-actions{margin-left:auto!important;gap:12px!important}.ta-datatable3-search{position:relative!important}
.ta-datatable3 .dataTables_length,.ta-datatable3 .dataTables_filter{margin:0!important;padding:0!important;text-align:left!important;color:var(--nl-muted)!important}
.ta-datatable3 .dataTables_length label,.ta-datatable3 .dataTables_filter label{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;color:var(--nl-muted)!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;white-space:nowrap!important}
.ta-datatable3 .dataTables_filter label{position:relative!important}.ta-datatable3 .dataTables_filter label:before{content:"\eb1c";font-family:"tabler-icons";position:absolute;left:14px;top:50%;z-index:2;transform:translateY(-50%);color:var(--nl-muted);font-size:18px;line-height:1;pointer-events:none}
.ta-datatable3 select,.ta-datatable3 .dataTables_length select{appearance:none!important;-webkit-appearance:none!important;height:var(--ta3-control-h)!important;min-width:86px!important;margin:0 4px!important;padding:0 40px 0 16px!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background-color:var(--nl-card)!important;background-image:linear-gradient(45deg,transparent 50%,var(--nl-muted) 50%),linear-gradient(135deg,var(--nl-muted) 50%,transparent 50%)!important;background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:700!important;box-shadow:none!important;outline:0!important;transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),background-color var(--nl-transition-fast)!important}
.ta-datatable3 input[type="search"],.ta-datatable3 .dataTables_filter input{height:var(--ta3-control-h)!important;width:min(320px,42vw)!important;max-width:100%!important;margin:0!important;padding:0 16px 0 44px!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background:var(--nl-card)!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:600!important;box-shadow:none!important;outline:0!important;transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),background-color var(--nl-transition-fast)!important}
.ta-datatable3 input[type="search"]::placeholder{color:var(--nl-muted)!important}.ta-datatable3 select:focus,.ta-datatable3 input[type="search"]:focus{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.ta-datatable3-table-wrap{width:100%!important;max-width:100%!important;margin:0!important;overflow-x:auto!important;border:0!important;background:transparent!important}.ta-datatable3-table-wrap::-webkit-scrollbar{height:8px}.ta-datatable3-table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:var(--nl-border-2)}
.ta-datatable3 table.dataTable,.tailadmin-data-table{width:100%!important;min-width:760px!important;margin:0!important;border:0!important;border-collapse:separate!important;border-spacing:0!important;background:transparent!important;color:var(--nl-text)!important}
.ta-datatable3 table.dataTable thead,.tailadmin-data-table thead{background:transparent!important}.ta-datatable3 table.dataTable thead tr,.tailadmin-data-table thead tr{border-bottom:1px solid var(--nl-border)!important}
.ta-datatable3 table.dataTable thead th,.tailadmin-data-table thead th,.tailadmin-data-table.dataTable thead th,table.dataTable.tailadmin-data-table thead th{position:relative!important;padding:14px var(--ta3-cell-x)!important;border:0!important;border-bottom:1px solid var(--nl-border)!important;background:transparent!important;color:var(--nl-muted)!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;box-shadow:none!important;vertical-align:middle!important;text-align:left!important}
.ta-datatable3 table.dataTable thead th.sorting,.ta-datatable3 table.dataTable thead th.sorting_asc,.ta-datatable3 table.dataTable thead th.sorting_desc,.tailadmin-data-table thead th.sorting,.tailadmin-data-table thead th.sorting_asc,.tailadmin-data-table thead th.sorting_desc{padding-right:42px!important;cursor:pointer!important}.ta-datatable3 table.dataTable thead th:before,.tailadmin-data-table thead th:before{display:none!important}.ta-datatable3 table.dataTable thead th:after,.tailadmin-data-table thead th:after{position:absolute!important;right:22px!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important;font-family:"tabler-icons"!important;font-size:14px!important;font-weight:400!important;line-height:1!important;color:var(--nl-muted)!important;opacity:.65!important}.ta-datatable3 table.dataTable thead th.sorting:after,.tailadmin-data-table thead th.sorting:after{content:"\ea69"!important}.ta-datatable3 table.dataTable thead th.sorting_asc:after,.tailadmin-data-table thead th.sorting_asc:after{content:"\ea76"!important;color:var(--nl-primary)!important;opacity:1!important}.ta-datatable3 table.dataTable thead th.sorting_desc:after,.tailadmin-data-table thead th.sorting_desc:after{content:"\ea77"!important;color:var(--nl-primary)!important;opacity:1!important}
.ta-datatable3 table.dataTable tbody tr,.tailadmin-data-table tbody tr{background:transparent!important;transition:background var(--nl-transition-fast)!important}.ta-datatable3 table.dataTable tbody tr:hover,.tailadmin-data-table tbody tr:hover{background:var(--nl-primary-soft)!important}.ta-datatable3 table.dataTable tbody td,.tailadmin-data-table tbody td,.tailadmin-data-table.dataTable tbody td,table.dataTable.tailadmin-data-table tbody td{padding:var(--ta3-row-y) var(--ta3-cell-x)!important;border:0!important;border-bottom:1px solid var(--nl-border)!important;background:transparent!important;color:var(--nl-text)!important;font-size:14px!important;font-weight:500!important;line-height:1.45!important;vertical-align:middle!important;box-shadow:none!important;text-align:left!important}.ta-datatable3 table.dataTable tbody tr:last-child td,.tailadmin-data-table tbody tr:last-child td{border-bottom:0!important}.ta-datatable3 .dataTables_empty,.tailadmin-data-table .dataTables_empty{padding:42px 24px!important;text-align:center!important;color:var(--nl-muted)!important;font-weight:700!important}
.ta-datatable3 table.dataTable .sorting_1,.tailadmin-data-table .sorting_1,.tailadmin-data-table.dataTable>tbody>tr>.sorting_1{background:transparent!important;box-shadow:none!important}.ta-datatable3 table.table-striped>tbody>tr:nth-of-type(odd)>*,.ta-datatable3 table.table-hover>tbody>tr:hover>*,.tailadmin-data-table.table-striped>tbody>tr:nth-of-type(odd)>*,.tailadmin-data-table.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:transparent!important;color:inherit!important}
.tailadmin-column-filter-row{display:none!important}.tailadmin-column-filter{display:none!important}.dataTables_scroll,.dataTables_scrollHead,.dataTables_scrollBody,.dataTables_scrollFoot{border:0!important;background:transparent!important}.dataTables_scrollHead table,.dataTables_scrollBody table{margin:0!important}.dataTables_scrollBody{border-bottom:0!important}
.ta-datatable3-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;min-height:68px!important;padding:16px 24px!important;border-top:1px solid var(--nl-border)!important;background:transparent!important}.ta-datatable3 .dataTables_info{padding:0!important;margin:0!important;color:var(--nl-muted)!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important}.ta-datatable3 .dataTables_paginate{display:flex!important;align-items:center!important;justify-content:flex-end!important;padding:0!important;margin:0!important}.ta-datatable3 .pagination{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important;list-style:none!important}.ta-datatable3 .page-item{display:inline-flex!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;list-style:none!important}.ta-datatable3 .page-link,.ta-datatable3 .paginate_button:not(.page-item){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:40px!important;height:40px!important;margin:0!important;padding:0 14px!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background:transparent!important;color:var(--nl-muted)!important;font-size:14px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;text-decoration:none!important;transition:background var(--nl-transition-fast),color var(--nl-transition-fast),border-color var(--nl-transition-fast)!important}.ta-datatable3 .page-link:hover,.ta-datatable3 .paginate_button:not(.page-item):hover{border-color:var(--nl-primary-border)!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important}.ta-datatable3 .page-item.active .page-link,.ta-datatable3 .paginate_button.current:not(.page-item){border-color:var(--nl-primary)!important;background:var(--nl-primary)!important;color:#fff!important}.ta-datatable3 .page-item.disabled .page-link,.ta-datatable3 .paginate_button.disabled:not(.page-item){opacity:.42!important;pointer-events:none!important}.ta-datatable3 .page-item.previous .page-link,.ta-datatable3 .page-item.next .page-link,.ta-datatable3 .paginate_button.previous:not(.page-item),.ta-datatable3 .paginate_button.next:not(.page-item){width:40px!important;min-width:40px!important;padding:0!important}.ta-datatable3 .page-item.previous .page-link i,.ta-datatable3 .page-item.next .page-link i,.ta-datatable3 .paginate_button.previous:not(.page-item) i,.ta-datatable3 .paginate_button.next:not(.page-item) i{font-size:18px!important;line-height:1!important}.ta-datatable3 .page-link:before,.ta-datatable3 .page-link:after,.ta-datatable3 .paginate_button:before,.ta-datatable3 .paginate_button:after{content:none!important;display:none!important}.ta-datatable3 .ellipsis{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;color:var(--nl-muted)!important}
.ta-datatable3 .row{display:initial!important;margin:0!important;padding:0!important}.ta-datatable3 .row>*{padding:0!important;max-width:none!important;flex:none!important}.ta-datatable3 .dataTables_processing{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.58)!important;color:var(--nl-heading)!important;font-weight:800!important;z-index:5!important}html[data-theme=dark] .ta-datatable3 .dataTables_processing{background:rgba(11,18,32,.58)!important}.ta-datatable3 .btn.p-0,.tailadmin-data-table .btn.p-0{width:36px!important;height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background:transparent!important;color:var(--nl-primary)!important;padding:0!important;box-shadow:none!important}.ta-datatable3 .btn.p-0:hover,.tailadmin-data-table .btn.p-0:hover{background:var(--nl-primary-soft)!important;border-color:var(--nl-primary-border)!important}
.table-responsive:not(.card-datatable),.nl-auto-table{width:100%!important;overflow-x:auto!important;border:1px solid var(--nl-border)!important;border-radius:20px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important}.table:not(.tailadmin-data-table),table.dataTable:not(.tailadmin-data-table){width:100%!important;margin:0!important;border-collapse:separate!important;border-spacing:0!important;color:var(--nl-text)!important;background:transparent!important}.table:not(.tailadmin-data-table) th,.table:not(.tailadmin-data-table) td{padding:14px 16px!important;border-bottom:1px solid var(--nl-border)!important;text-align:left!important}.table:not(.tailadmin-data-table) th{font-size:12px!important;font-weight:700!important;color:var(--nl-muted)!important;background:var(--nl-card)!important;text-transform:none!important;letter-spacing:0!important}.table:not(.tailadmin-data-table) tr:last-child td{border-bottom:0!important}

/* Validation: one visual state only, and nothing before interaction/submit. */
form:not(.nl-form-submitted) .form-control,form:not(.nl-form-submitted) .form-select,form:not(.nl-form-submitted) input,form:not(.nl-form-submitted) select,form:not(.nl-form-submitted) textarea{box-shadow:var(--nl-shadow-sm)!important;background-image:none!important}form:not(.nl-form-submitted) .form-control:not(.nl-touched),form:not(.nl-form-submitted) .form-select:not(.nl-touched),form:not(.nl-form-submitted) input:not(.nl-touched),form:not(.nl-form-submitted) select:not(.nl-touched),form:not(.nl-form-submitted) textarea:not(.nl-touched){border-color:var(--nl-border)!important}form:not(.nl-form-submitted) .invalid-feedback,form:not(.nl-form-submitted) .valid-feedback,form:not(.nl-form-submitted) .fv-plugins-message-container{display:none!important}.nl-form-submitted .form-control.is-valid,.nl-form-submitted .form-select.is-valid,.fv-plugins-bootstrap5-row-valid:not(.fv-plugins-bootstrap5-row-invalid) .form-control,.fv-plugins-bootstrap5-row-valid:not(.fv-plugins-bootstrap5-row-invalid) .form-select{border-color:var(--nl-success)!important;box-shadow:0 0 0 4px rgba(18,183,106,.12)!important;background-image:none!important}.nl-form-submitted .form-control.is-valid~.invalid-feedback,.nl-form-submitted .form-select.is-valid~.invalid-feedback,.nl-form-submitted .form-control.is-valid~.fv-plugins-message-container,.nl-form-submitted .form-select.is-valid~.fv-plugins-message-container,.fv-plugins-bootstrap5-row-valid .invalid-feedback,.fv-plugins-bootstrap5-row-valid .fv-plugins-message-container{display:none!important}.nl-form-submitted .form-control.is-valid~.valid-feedback,.nl-form-submitted .form-select.is-valid~.valid-feedback,.fv-plugins-bootstrap5-row-valid:not(.fv-plugins-bootstrap5-row-invalid) .valid-feedback{display:block!important;color:var(--nl-success)!important}.nl-form-submitted .form-control.is-invalid:not(.is-valid),.nl-form-submitted .form-select.is-invalid:not(.is-valid),.fv-plugins-bootstrap5-row-invalid:not(.fv-plugins-bootstrap5-row-valid) .form-control,.fv-plugins-bootstrap5-row-invalid:not(.fv-plugins-bootstrap5-row-valid) .form-select{border-color:var(--nl-danger)!important;box-shadow:0 0 0 4px rgba(240,68,56,.12)!important;background-image:none!important}.nl-form-submitted .form-control.is-invalid:not(.is-valid)~.valid-feedback,.nl-form-submitted .form-select.is-invalid:not(.is-valid)~.valid-feedback,.fv-plugins-bootstrap5-row-invalid:not(.fv-plugins-bootstrap5-row-valid) .valid-feedback{display:none!important}.nl-form-submitted .form-control.is-invalid:not(.is-valid)~.invalid-feedback,.nl-form-submitted .form-select.is-invalid:not(.is-valid)~.invalid-feedback,.fv-plugins-bootstrap5-row-invalid:not(.fv-plugins-bootstrap5-row-valid) .invalid-feedback,.fv-plugins-bootstrap5-row-invalid:not(.fv-plugins-bootstrap5-row-valid) .fv-plugins-message-container{display:block!important;color:var(--nl-danger)!important}.is-valid.is-invalid{border-color:var(--nl-success)!important;box-shadow:0 0 0 4px rgba(18,183,106,.12)!important;background-image:none!important}.fv-plugins-bootstrap5-row-valid.fv-plugins-bootstrap5-row-invalid .invalid-feedback,.fv-plugins-bootstrap5-row-valid.fv-plugins-bootstrap5-row-invalid .fv-plugins-message-container{display:none!important}.fv-plugins-message-container:empty,.invalid-feedback:empty,.valid-feedback:empty{display:none!important}

@media(max-width:767.98px){.nl-main{padding:16px!important;padding-top:calc(var(--nl-topbar-h) + 16px)!important}.nl-topbar{padding:12px 16px!important}.nl-breadcrumb a,.nl-breadcrumb>span:not(.nl-breadcrumb-separator){max-width:34vw!important}.nl-user-button span,.nl-user-button>.ti{display:none!important}.ta-datatable3-toolbar,.ta-datatable3-footer{align-items:stretch!important;flex-direction:column!important}.ta-datatable3-actions,.ta-datatable3-search,.ta-datatable3-length{width:100%!important}.ta-datatable3 .dataTables_filter label,.ta-datatable3 input[type="search"]{width:100%!important}.ta-datatable3 .dataTables_filter input{width:100%!important;min-width:0!important;max-width:none!important}.ta-datatable3 .dataTables_paginate{justify-content:flex-start!important}.ta-datatable3 table.dataTable,.tailadmin-data-table{min-width:680px!important}.ta-datatable3 table.dataTable thead th,.ta-datatable3 table.dataTable tbody td,.tailadmin-data-table thead th,.tailadmin-data-table tbody td{padding:13px 16px!important}.nl-page-host .nav.nav-pills,.nl-page-host .nav-tabs{padding-bottom:2px!important}}


/* V16 - DataTable 3 final fixes: use real Tabler <i> icons instead of fragile icon-font content codes. */
.ta-datatable3 .dataTables_filter label:before{content:none!important;display:none!important}
.ta-datatable3-search-label{position:relative!important}
.ta-datatable3-search-icon{position:absolute!important;left:14px!important;top:50%!important;z-index:2!important;transform:translateY(-50%)!important;color:var(--nl-muted)!important;font-size:18px!important;line-height:1!important;pointer-events:none!important}
.ta-datatable3 table.dataTable thead th:before,
.ta-datatable3 table.dataTable thead th:after,
.tailadmin-data-table thead th:before,
.tailadmin-data-table thead th:after{content:none!important;display:none!important}
.ta-datatable3 table.dataTable thead th.sorting,
.ta-datatable3 table.dataTable thead th.sorting_asc,
.ta-datatable3 table.dataTable thead th.sorting_desc,
.tailadmin-data-table thead th.sorting,
.tailadmin-data-table thead th.sorting_asc,
.tailadmin-data-table thead th.sorting_desc{padding-right:var(--ta3-cell-x)!important;cursor:pointer!important}
.ta-sort-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;margin-left:8px!important;color:var(--nl-muted)!important;opacity:.72!important;vertical-align:-3px!important;pointer-events:none!important;transition:color var(--nl-transition-fast),opacity var(--nl-transition-fast),transform var(--nl-transition-fast)!important}
.ta-sort-icon .ti{font-size:16px!important;line-height:1!important}
.ta-datatable3 table.dataTable thead th.sorting_asc .ta-sort-icon,
.ta-datatable3 table.dataTable thead th.sorting_desc .ta-sort-icon,
.tailadmin-data-table thead th.sorting_asc .ta-sort-icon,
.tailadmin-data-table thead th.sorting_desc .ta-sort-icon{color:var(--nl-primary)!important;opacity:1!important}
.ta-datatable3 .page-link,.ta-datatable3 .paginate_button:not(.page-item){cursor:pointer!important;user-select:none!important;position:relative!important;z-index:1!important}
.ta-datatable3 .page-item.disabled .page-link,.ta-datatable3 .paginate_button.disabled:not(.page-item){cursor:not-allowed!important}
.ta-datatable3 .page-item.previous .page-link i,.ta-datatable3 .page-item.next .page-link i,.ta-datatable3 .paginate_button.previous:not(.page-item) i,.ta-datatable3 .paginate_button.next:not(.page-item) i{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;line-height:1!important;pointer-events:none!important}
.ta-datatable3 .page-link *,.ta-datatable3 .paginate_button *{pointer-events:none!important}

/* V17 - polish TailAdmin cards and DataTable navigation hover states. */
.card-info:before,.card-icon:before{content:none!important;display:none!important}
.nl-stat-card{min-height:104px!important;overflow:hidden!important;background:var(--nl-card)!important;border-color:var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important;transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important}
.nl-stat-card:hover{border-color:var(--nl-primary-border)!important;box-shadow:var(--nl-shadow)!important;transform:translateY(-1px)!important}
.nl-stat-card>.card-body{position:relative!important;z-index:1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;min-height:104px!important;padding:22px 24px!important}
.nl-stat-card>.card-body:after{content:""!important;position:absolute!important;right:-30px!important;top:50%!important;width:118px!important;height:118px!important;border-radius:999px!important;background:var(--nl-primary-soft)!important;transform:translateY(-50%)!important;z-index:-1!important;pointer-events:none!important}
.nl-stat-card .card-title{min-width:0!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;align-items:flex-start!important;justify-content:center!important}
.nl-stat-card .card-title h5{margin:0!important;color:var(--nl-heading)!important;font-size:22px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.02em!important}
.nl-stat-card .card-title small{display:block!important;margin:0!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:700!important;line-height:1.25!important;opacity:.92!important;white-space:normal!important;overflow-wrap:anywhere!important}
.nl-stat-card .card-icon{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin-left:auto!important}
.nl-stat-card .card-icon .badge{width:52px!important;height:52px!important;min-width:52px!important;padding:0!important;border-radius:16px!important;border-width:1px!important;box-shadow:none!important}
.nl-stat-card .card-icon .ti{font-size:22px!important;line-height:1!important}

/* TailAdmin-like profile summary card */
.card>.user-profile-header{margin:0!important;border-radius:0!important;background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.05))!important;min-height:180px!important;padding:30px 42px!important;align-items:center!important;gap:24px!important}
.user-profile-header .flex-shrink-0,.user-profile-header .flex-grow-1{margin-top:0!important;margin-bottom:0!important}
.user-profile-header .flex-grow-1{min-width:0!important;width:100%!important;display:flex!important;align-items:center!important}
.user-profile-header .flex-grow-1>.d-flex{width:100%!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;margin-left:0!important;margin-right:0!important}
.user-profile-info{min-width:0!important;display:flex!important;flex-direction:column!important;gap:10px!important;justify-content:center!important}
.user-profile-info h4{margin:0!important;color:var(--nl-heading)!important;font-size:30px!important;font-weight:900!important;line-height:1.15!important;letter-spacing:-.025em!important}
.user-profile-info .list-inline{display:flex!important;align-items:center!important;gap:8px!important;row-gap:8px!important;flex-wrap:wrap!important;margin:0!important;padding:0!important}
.user-profile-info .list-inline-item{height:34px!important;margin:0!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(15,23,42,.04)!important;border:1px solid var(--nl-border)!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:800!important;line-height:1!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html[data-theme=dark] .user-profile-info .list-inline-item{background:rgba(255,255,255,.035)!important}
.user-profile-info .list-inline-item i{flex:0 0 auto!important;color:var(--nl-muted)!important;font-size:16px!important}
.user-profile-info .list-inline-item .badge{height:24px!important;padding:0 9px!important;border-radius:999px!important;font-size:12px!important}
.user-profile-header #connectionStatusButton{align-self:center!important;min-height:48px!important;padding:0 20px!important;border-radius:14px!important;flex:0 0 auto!important;box-shadow:none!important}
.user-profile-img{width:120px!important;height:120px!important;min-width:120px!important;object-fit:cover!important;border-radius:24px!important;border:4px solid var(--nl-card)!important;box-shadow:var(--nl-shadow)!important;margin:0!important}
@media(max-width:767.98px){
  .nl-stat-card>.card-body{min-height:96px!important;padding:20px!important}.nl-stat-card .card-title h5{font-size:20px!important}.nl-stat-card .card-title small{font-size:13px!important}.nl-stat-card .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important}
  .card>.user-profile-header{padding:24px!important;min-height:0!important;text-align:center!important;align-items:center!important}.user-profile-header .flex-grow-1>.d-flex{flex-direction:column!important;align-items:center!important;text-align:center!important}.user-profile-info{align-items:center!important}.user-profile-info h4{font-size:26px!important}.user-profile-info .list-inline{justify-content:center!important}.user-profile-img{width:104px!important;height:104px!important;min-width:104px!important}
}

/* Clear hover states for DataTable navigation buttons */
.ta-datatable3 .page-item:not(.disabled):not(.active) .page-link:hover,
.ta-datatable3 .paginate_button:not(.disabled):not(.current):not(.page-item):hover{border-color:var(--nl-primary)!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;box-shadow:0 8px 18px rgba(70,95,255,.14)!important;transform:translateY(-1px)!important}
.ta-datatable3 .page-item:not(.disabled):not(.active) .page-link:hover .ti,
.ta-datatable3 .paginate_button:not(.disabled):not(.current):not(.page-item):hover .ti{color:var(--nl-primary)!important}
.ta-datatable3 .page-link:focus-visible,.ta-datatable3 .paginate_button:focus-visible{outline:0!important;border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.ta-datatable3 .page-item.previous:not(.disabled) .page-link,.ta-datatable3 .page-item.next:not(.disabled) .page-link{cursor:pointer!important}


/* =========================
   Nova-Life UI V18
   - DataTable pagination hover/cursor fix
   - TailAdmin angled stat cards restored and realigned
   - Validation is submit-only: no green/red while typing before submit
   ========================= */

/* DataTables pagination: make every enabled nav button feel clickable, even when
   Bootstrap/DataTables classes differ between pages. */
.ta-datatable3 .dataTables_paginate a,
.ta-datatable3 .dataTables_paginate button,
.ta-datatable3-pagination a,
.ta-datatable3-pagination button,
.dataTables_wrapper .dataTables_paginate a.paginate_button,
.dataTables_wrapper .dataTables_paginate .page-item:not(.disabled) .page-link{
  cursor:pointer!important;
  pointer-events:auto!important;
}
.ta-datatable3 .dataTables_paginate .disabled a,
.ta-datatable3 .dataTables_paginate a.disabled,
.ta-datatable3 .dataTables_paginate .page-item.disabled .page-link,
.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled{
  cursor:not-allowed!important;
  pointer-events:none!important;
}
.ta-datatable3 .dataTables_paginate .page-link,
.ta-datatable3 .dataTables_paginate a.paginate_button,
.ta-datatable3-pagination .page-link,
.ta-datatable3-pagination a.paginate_button{
  cursor:pointer!important;
  pointer-events:auto!important;
  transition:background-color var(--nl-transition-fast),border-color var(--nl-transition-fast),color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important;
}
.ta-datatable3 .dataTables_paginate .page-item:not(.active):not(.disabled) .page-link:hover,
.ta-datatable3 .dataTables_paginate a.paginate_button:not(.current):not(.disabled):hover,
.ta-datatable3-pagination .page-item:not(.active):not(.disabled) .page-link:hover,
.ta-datatable3-pagination a.paginate_button:not(.current):not(.disabled):hover,
.dataTables_wrapper .dataTables_paginate a.paginate_button:not(.current):not(.disabled):hover{
  cursor:pointer!important;
  border-color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  box-shadow:0 8px 18px rgba(70,95,255,.18)!important;
  transform:translateY(-1px)!important;
}
.ta-datatable3 .dataTables_paginate .page-item.active .page-link,
.ta-datatable3 .dataTables_paginate a.paginate_button.current{
  cursor:default!important;
}
.ta-datatable3 .dataTables_paginate .page-link * ,
.ta-datatable3 .dataTables_paginate a.paginate_button *{
  pointer-events:none!important;
}

/* Stat cards: restore the angled TailAdmin-like accent block, but keep alignment stable. */
.card-info:before,.card-icon:before{content:none!important;display:none!important}
.nl-stat-card{
  min-height:104px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
}
.nl-stat-card>.card-body{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:104px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
}
.nl-stat-card>.card-body:before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:38%!important;
  min-width:128px!important;
  max-width:190px!important;
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.12))!important;
  clip-path:polygon(26% 0,100% 0,100% 100%,0 100%)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.nl-stat-card>.card-body:after{content:none!important;display:none!important}
.nl-stat-card .card-title{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  max-width:calc(100% - 74px)!important;
  margin:0!important;
}
.nl-stat-card .card-title h5{
  margin:0 0 4px!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1.05!important;
}
.nl-stat-card .card-title small{
  display:block!important;
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
  opacity:.92!important;
  overflow-wrap:anywhere!important;
}
.nl-stat-card .card-icon{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
}
.nl-stat-card .card-icon .badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  margin:0!important;
  padding:0!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.nl-stat-card .card-icon .ti{font-size:22px!important;line-height:1!important}
@media(max-width:767.98px){
  .nl-stat-card>.card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card>.card-body:before{width:42%!important;min-width:112px!important}
  .nl-stat-card .card-title h5{font-size:20px!important}
  .nl-stat-card .card-title small{font-size:13px!important}
  .nl-stat-card .card-icon,.nl-stat-card .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
}

/* Validation: before a submit attempt, fields always stay neutral even if a plugin
   adds is-valid/is-invalid while the user types. */
form:not(.nl-form-submitted) .form-control,
form:not(.nl-form-submitted) .form-select,
form:not(.nl-form-submitted) input,
form:not(.nl-form-submitted) select,
form:not(.nl-form-submitted) textarea,
form:not(.nl-form-submitted) .is-valid,
form:not(.nl-form-submitted) .is-invalid{
  border-color:var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  background-image:none!important;
}
form:not(.nl-form-submitted) .invalid-feedback,
form:not(.nl-form-submitted) .valid-feedback,
form:not(.nl-form-submitted) .fv-plugins-message-container{
  display:none!important;
}
form.nl-form-submitted .form-control.is-valid:not(.is-invalid),
form.nl-form-submitted .form-select.is-valid:not(.is-invalid){
  border-color:var(--nl-success)!important;
  box-shadow:0 0 0 4px rgba(18,183,106,.12)!important;
}
form.nl-form-submitted .form-control.is-invalid:not(.is-valid),
form.nl-form-submitted .form-select.is-invalid:not(.is-valid){
  border-color:var(--nl-danger)!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.12)!important;
}


/* =========================
   Nova-Life UI V19
   - Sidebar secure box removed from markup.
   - Restore the original decorative card accent used by the rest of the UI,
     while keeping stat card content aligned.
   ========================= */

/* Restore the global decorative accent that V18 disabled. */
.card-info:before,
.card-icon:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto auto!important;
  width:130px!important;
  height:130px!important;
  border-radius:0 0 0 999px!important;
  background:var(--nl-primary-soft)!important;
  pointer-events:none!important;
  z-index:0!important;
  display:block!important;
}

/* Stat cards keep the same accent language, but the accent is anchored to the
   icon area so it no longer drifts or cuts through the text. */
.nl-stat-card{
  min-height:104px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  border-color:var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-stat-card:hover{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-stat-card>.card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:104px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
}
.nl-stat-card>.card-body:before,
.nl-stat-card>.card-body:after{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-title{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  max-width:calc(100% - 82px)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
}
.nl-stat-card .card-title h5{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
.nl-stat-card .card-title small{
  display:block!important;
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
  opacity:.92!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.nl-stat-card .card-icon{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
}
.nl-stat-card .card-icon:before{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  right:-38px!important;
  width:168px!important;
  height:168px!important;
  border-radius:0 0 0 999px!important;
  background:var(--nl-primary-soft)!important;
  transform:translateY(-50%)!important;
  z-index:-1!important;
  pointer-events:none!important;
  display:block!important;
}
.nl-stat-card .card-icon .badge{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  margin:0!important;
  padding:0!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.nl-stat-card .card-icon .ti{
  font-size:22px!important;
  line-height:1!important;
}
@media(max-width:767.98px){
  .nl-stat-card>.card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card .card-title{max-width:calc(100% - 74px)!important}
  .nl-stat-card .card-title h5{font-size:20px!important}
  .nl-stat-card .card-title small{font-size:13px!important}
  .nl-stat-card .card-icon,
  .nl-stat-card .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
  .nl-stat-card .card-icon:before{right:-40px!important;width:150px!important;height:150px!important}
}


/* TailAdmin-style notification components */
.nl-notification-stack{position:fixed;right:24px;top:calc(var(--nl-topbar-height,72px) + 18px);z-index:2147483000;display:grid;gap:12px;width:min(420px,calc(100vw - 32px));pointer-events:none}.nl-notification{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 34px;gap:12px;align-items:flex-start;overflow:hidden;padding:16px;border-radius:16px;border:1px solid var(--nl-border);background:var(--nl-panel);box-shadow:0 24px 80px rgba(2,6,23,.26);opacity:0;transform:translate3d(12px,-8px,0) scale(.985);transition:opacity .22s ease,transform .22s ease,border-color .22s ease,background .22s ease;pointer-events:auto}.nl-notification.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}.nl-notification.is-leaving{opacity:0;transform:translate3d(12px,-8px,0) scale(.985)}.nl-notification-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;font-size:22px;line-height:1;background:var(--nl-soft);color:var(--nl-primary)}.nl-notification-body{min-width:0;padding-top:1px}.nl-notification-body h4{margin:0 0 4px;font-size:14px;font-weight:800;line-height:1.25;color:var(--nl-heading)}.nl-notification-body p{margin:0;font-size:13px;font-weight:600;line-height:1.45;color:var(--nl-muted)}.nl-notification-close{display:grid;place-items:center;width:30px;height:30px;margin:-4px -4px 0 0;border:0;border-radius:999px;background:transparent;color:var(--nl-muted);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.nl-notification-close:hover{background:var(--nl-soft);color:var(--nl-heading);transform:scale(1.03)}.nl-notification-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left center;background:currentColor;opacity:.55}.nl-notification-progress.is-running{animation:nl-notification-progress linear forwards}@keyframes nl-notification-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}.nl-notification-success{border-color:rgba(18,183,106,.35);background:linear-gradient(0deg,rgba(18,183,106,.10),rgba(18,183,106,.10)),var(--nl-panel);color:var(--nl-success)}.nl-notification-success .nl-notification-icon{background:rgba(18,183,106,.14);color:var(--nl-success)}.nl-notification-error{border-color:rgba(240,68,56,.36);background:linear-gradient(0deg,rgba(240,68,56,.10),rgba(240,68,56,.10)),var(--nl-panel);color:var(--nl-danger)}.nl-notification-error .nl-notification-icon{background:rgba(240,68,56,.14);color:var(--nl-danger)}.nl-notification-warning{border-color:rgba(247,144,9,.38);background:linear-gradient(0deg,rgba(247,144,9,.12),rgba(247,144,9,.12)),var(--nl-panel);color:var(--nl-warning)}.nl-notification-warning .nl-notification-icon{background:rgba(247,144,9,.16);color:var(--nl-warning)}.nl-notification-info{border-color:rgba(14,165,233,.36);background:linear-gradient(0deg,rgba(14,165,233,.10),rgba(14,165,233,.10)),var(--nl-panel);color:var(--nl-info)}.nl-notification-info .nl-notification-icon{background:rgba(14,165,233,.14);color:var(--nl-info)}#toast-container,.toast-container,.toast-placement-ex,.toast-ex{display:none!important}.toastr,#toast-container>div{display:none!important}@media(max-width:640px){.nl-notification-stack{top:16px;right:16px;left:16px;width:auto}.nl-notification{grid-template-columns:38px minmax(0,1fr) 32px;padding:14px;border-radius:14px}.nl-notification-icon{width:34px;height:34px}}


/* TailAdmin dropdown component bridge - V21
   Variants mapped automatically by JS:
   - ta-dropdown--default
   - ta-dropdown--divider
   - ta-dropdown--icon
   - ta-dropdown--icon-divider
*/
.ta-dropdown,
.dropdown:not(.bootstrap-select){position:relative!important;display:inline-block!important}
.ta-dropdown > .dropdown-toggle,
.ta-dropdown-trigger{cursor:pointer!important;user-select:none!important}
.ta-dropdown > .dropdown-toggle:focus-visible,
.ta-dropdown-trigger:focus-visible{outline:0!important;box-shadow:var(--nl-ring)!important}
.ta-dropdown-menu,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner){position:absolute!important;top:calc(100% + .625rem)!important;left:0!important;z-index:1090!important;display:block!important;min-width:14rem!important;width:max-content!important;max-width:min(20rem,calc(100vw - 2rem))!important;margin:0!important;padding:.5rem!important;border:1px solid var(--nl-border)!important;border-radius:16px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;box-shadow:0 20px 45px rgba(15,23,42,.14),0 6px 18px rgba(15,23,42,.08)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-8px) scale(.98)!important;transform-origin:top left!important;transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;overflow:hidden!important}
html[data-theme=dark] .ta-dropdown-menu,
html[data-theme=dark] .dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner){background:#111827!important;box-shadow:0 22px 55px rgba(0,0,0,.42)!important}
.ta-dropdown-menu-end,
.ta-dropdown > .dropdown-menu-end,
.dropdown:not(.bootstrap-select) > .dropdown-menu-end{right:0!important;left:auto!important;transform-origin:top right!important}
.ta-dropdown.ta-open > .ta-dropdown-menu,
.ta-dropdown.ta-open > .dropdown-menu,
.dropdown:not(.bootstrap-select).ta-open > .dropdown-menu,
.dropdown:not(.bootstrap-select) > .dropdown-menu.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important}
.ta-dropdown-item,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item{display:flex!important;align-items:center!important;gap:.625rem!important;width:100%!important;min-height:2.5rem!important;padding:.625rem .75rem!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--nl-text)!important;font-size:.875rem!important;font-weight:600!important;line-height:1.25rem!important;text-align:left!important;white-space:nowrap!important;text-decoration:none!important;transition:color .15s ease,background-color .15s ease,transform .15s ease!important}
.ta-dropdown-item:hover,
.ta-dropdown-item:focus,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:hover,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:focus{color:var(--nl-primary)!important;background:var(--nl-primary-soft)!important;outline:0!important;transform:translateX(1px)!important}
.ta-dropdown-item i,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item i{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:1.125rem!important;min-width:1.125rem!important;font-size:1.125rem!important;color:var(--nl-muted)!important;transition:color .15s ease!important}
.ta-dropdown-item:hover i,
.ta-dropdown-item:focus i,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:hover i,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:focus i{color:var(--nl-primary)!important}
.ta-dropdown-divider,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-divider{height:1px!important;margin:.5rem -.5rem!important;overflow:hidden!important;border:0!important;border-top:1px solid var(--nl-border)!important;opacity:1!important}
.ta-dropdown--default .ta-dropdown-item i{display:none!important}
.ta-dropdown--divider .ta-dropdown-item i{display:none!important}
.ta-dropdown--icon .ta-dropdown-divider{display:none!important}
.ta-dropdown--actions > .dropdown-toggle,
.ta-dropdown--actions > .ta-dropdown-trigger,
.dropdown.ta-dropdown--actions > .dropdown-toggle{width:2.25rem!important;height:2.25rem!important;min-width:2.25rem!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid var(--nl-border)!important;border-radius:.75rem!important;background:transparent!important;color:var(--nl-muted)!important;box-shadow:none!important;transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s ease!important}
.ta-dropdown--actions > .dropdown-toggle:hover,
.ta-dropdown--actions > .ta-dropdown-trigger:hover,
.dropdown.ta-dropdown--actions > .dropdown-toggle:hover,
.ta-dropdown--actions.ta-open > .dropdown-toggle{color:var(--nl-primary)!important;background:var(--nl-primary-soft)!important;border-color:var(--nl-primary-border)!important;transform:translateY(-1px)!important}
.ta-dropdown--actions > .dropdown-toggle::after{display:none!important}
.ta-dropdown--actions > .dropdown-toggle i,
.ta-dropdown--actions > .ta-dropdown-trigger i{font-size:1.125rem!important;line-height:1!important}
.ta-dropdown--actions > .ta-dropdown-menu,
.ta-dropdown--actions > .dropdown-menu{min-width:11.5rem!important}
.ta-dropdown-user > .ta-dropdown-menu,
.ta-dropdown-user > .dropdown-menu{min-width:17rem!important;padding:.5rem!important}
.ta-dropdown-user .nl-user-menu-head{display:flex!important;align-items:center!important;gap:.75rem!important;margin:-.5rem -.5rem .5rem!important;padding:.875rem 1rem!important;border-bottom:1px solid var(--nl-border)!important;background:rgba(248,250,252,.65)!important}
html[data-theme=dark] .ta-dropdown-user .nl-user-menu-head{background:rgba(255,255,255,.025)!important}
.ta-dropdown-user .nl-user-menu-head strong{font-size:.875rem!important;color:var(--nl-heading)!important}
.ta-dropdown-user .nl-user-menu-head small{margin-top:.125rem!important;color:var(--nl-muted)!important;font-size:.75rem!important;font-weight:700!important}
.ta-dropdown-user .nl-user-button .ti-chevron-down{transition:transform .16s ease,color .16s ease!important}
.ta-dropdown-user.ta-open .nl-user-button .ti-chevron-down{transform:rotate(180deg)!important;color:var(--nl-primary)!important}
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .text-danger,
.ta-dropdown-menu .text-danger{color:var(--nl-danger)!important}
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .text-danger:hover,
.ta-dropdown-menu .text-danger:hover{background:rgba(244,63,94,.12)!important;color:#fb7185!important}
@media(max-width:767.98px){.ta-dropdown-menu,.dropdown:not(.bootstrap-select)> .dropdown-menu:not(.inner){max-width:calc(100vw - 1.25rem)!important}.nl-topbar-actions .ta-dropdown-user > .dropdown-menu{right:0!important;left:auto!important;min-width:min(17rem,calc(100vw - 1.25rem))!important}}


/* =========================
   Nova-Life UI V22
   TailAdmin dropdown hardening
   ========================= */
.ta-dropdown,
.dropdown:not(.bootstrap-select){position:relative!important}
.ta-dropdown > .dropdown-toggle,
.ta-dropdown-trigger{cursor:pointer!important;user-select:none!important}
.ta-dropdown > .dropdown-toggle:focus-visible,
.ta-dropdown-trigger:focus-visible{outline:0!important;box-shadow:var(--nl-ring)!important}

/* The menu styling mirrors TailAdmin dropdown cards: white/dark surface, subtle border,
   rounded-xl corners, soft shadow, compact item spacing and icon-aware rows. */
.ta-dropdown-menu,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner){
  position:absolute!important;
  top:calc(100% + .625rem)!important;
  left:0!important;
  z-index:1090!important;
  display:block!important;
  min-width:14rem!important;
  width:max-content!important;
  max-width:min(20rem,calc(100vw - 2rem))!important;
  margin:0!important;
  padding:.5rem!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:0 22px 45px rgba(15,23,42,.14),0 8px 18px rgba(15,23,42,.08)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-8px) scale(.98)!important;
  transform-origin:var(--ta-dd-origin,top left)!important;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
  overflow:hidden!important;
}
html[data-theme=dark] .ta-dropdown-menu,
html[data-theme=dark] .dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner){background:#111827!important;box-shadow:0 24px 60px rgba(0,0,0,.44)!important}

/* Floating menus are moved to <body> while open. This prevents dropdowns in cards,
   datatables and overflow-hidden containers from being clipped or from shifting text. */
body > .ta-dropdown-menu[data-nl-floating="1"]{
  position:fixed!important;
  top:var(--ta-dd-top,0)!important;
  left:var(--ta-dd-left,0)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--ta-dd-width,max-content)!important;
  max-width:min(20rem,calc(100vw - 1.5rem))!important;
  max-height:var(--ta-dd-max-height,calc(100vh - 1.5rem))!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  z-index:2140!important;
  transform-origin:var(--ta-dd-origin,top left)!important;
  scrollbar-width:thin!important;
}
body > .ta-dropdown-menu[data-nl-floating="1"].nl-user-menu,
body > .ta-dropdown-menu[data-nl-floating="1"].ta-dropdown-menu-end{max-width:calc(100vw - 1.5rem)!important}
.ta-dropdown-menu-end,
.ta-dropdown > .dropdown-menu-end,
.dropdown:not(.bootstrap-select) > .dropdown-menu-end{right:0!important;left:auto!important;transform-origin:top right!important}
.ta-dropdown.ta-open > .ta-dropdown-menu,
.ta-dropdown.ta-open > .dropdown-menu,
.dropdown:not(.bootstrap-select).ta-open > .dropdown-menu,
.dropdown:not(.bootstrap-select) > .dropdown-menu.show,
body > .ta-dropdown-menu[data-nl-floating="1"].show{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
}
.ta-dropdown-item,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item,
body > .ta-dropdown-menu .dropdown-item{
  display:flex!important;
  align-items:center!important;
  gap:.625rem!important;
  width:100%!important;
  min-height:2.5rem!important;
  padding:.625rem .75rem!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  font-size:.875rem!important;
  font-weight:600!important;
  line-height:1.25rem!important;
  text-align:left!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:color .15s ease,background-color .15s ease,transform .15s ease!important;
}
.ta-dropdown-item:hover,
.ta-dropdown-item:focus,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:hover,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:focus,
body > .ta-dropdown-menu .dropdown-item:hover,
body > .ta-dropdown-menu .dropdown-item:focus{
  color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
  outline:0!important;
  transform:translateX(1px)!important;
}
.ta-dropdown-item i,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item i,
body > .ta-dropdown-menu .dropdown-item i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:1.125rem!important;
  min-width:1.125rem!important;
  font-size:1.125rem!important;
  color:var(--nl-muted)!important;
  line-height:1!important;
  transition:color .15s ease!important;
}
.ta-dropdown-item:hover i,
.ta-dropdown-item:focus i,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:hover i,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-item:focus i,
body > .ta-dropdown-menu .dropdown-item:hover i,
body > .ta-dropdown-menu .dropdown-item:focus i{color:var(--nl-primary)!important}
.ta-dropdown-divider,
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .dropdown-divider,
body > .ta-dropdown-menu .dropdown-divider{height:1px!important;margin:.5rem -.5rem!important;overflow:hidden!important;border:0!important;border-top:1px solid var(--nl-border)!important;opacity:1!important}
.ta-dropdown--default .ta-dropdown-item i{display:none!important}
.ta-dropdown--divider .ta-dropdown-item i{display:none!important}
.ta-dropdown--icon .ta-dropdown-divider{display:none!important}

/* Action menus inside DataTables/cards: compact TailAdmin icon button, no Bootstrap caret. */
.ta-dropdown--actions > .dropdown-toggle,
.ta-dropdown--actions > .ta-dropdown-trigger,
.dropdown.ta-dropdown--actions > .dropdown-toggle{
  width:2.25rem!important;
  height:2.25rem!important;
  min-width:2.25rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:.75rem!important;
  background:transparent!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
  transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s ease!important;
}
.ta-dropdown--actions > .dropdown-toggle::after{display:none!important}
.ta-dropdown--actions > .dropdown-toggle:hover,
.ta-dropdown--actions > .ta-dropdown-trigger:hover,
.dropdown.ta-dropdown--actions > .dropdown-toggle:hover,
.ta-dropdown--actions.ta-open > .dropdown-toggle{
  color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
  border-color:var(--nl-primary-border)!important;
  transform:translateY(-1px)!important;
}
.ta-dropdown--actions > .dropdown-toggle i,
.ta-dropdown--actions > .ta-dropdown-trigger i{font-size:1.125rem!important;line-height:1!important}
.ta-dropdown--actions > .ta-dropdown-menu,
.ta-dropdown--actions > .dropdown-menu,
body > .ta-dropdown-menu[data-nl-floating="1"].ta-action-menu{min-width:11.5rem!important}

/* Header profile dropdown: always clamped to viewport; never overflows on the right. */
.ta-dropdown-user > .ta-dropdown-menu,
.ta-dropdown-user > .dropdown-menu,
body > .ta-dropdown-menu[data-nl-floating="1"].nl-user-menu{min-width:17rem!important;width:var(--ta-dd-width,17rem)!important;padding:.5rem!important}
.ta-dropdown-user .nl-user-menu-head,
body > .nl-user-menu .nl-user-menu-head{display:flex!important;align-items:center!important;gap:.75rem!important;margin:-.5rem -.5rem .5rem!important;padding:.875rem 1rem!important;border-bottom:1px solid var(--nl-border)!important;background:rgba(248,250,252,.65)!important}
html[data-theme=dark] .ta-dropdown-user .nl-user-menu-head,
html[data-theme=dark] body > .nl-user-menu .nl-user-menu-head{background:rgba(255,255,255,.025)!important}
.ta-dropdown-user .nl-user-menu-head strong,
body > .nl-user-menu .nl-user-menu-head strong{display:block!important;max-width:12rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:.875rem!important;color:var(--nl-heading)!important}
.ta-dropdown-user .nl-user-menu-head small,
body > .nl-user-menu .nl-user-menu-head small{display:block!important;max-width:12rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin-top:.125rem!important;color:var(--nl-muted)!important;font-size:.75rem!important;font-weight:700!important}
.ta-dropdown-user .nl-user-button .ti-chevron-down{transition:transform .16s ease,color .16s ease!important}
.ta-dropdown-user.ta-open .nl-user-button .ti-chevron-down{transform:rotate(180deg)!important;color:var(--nl-primary)!important}
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .text-danger,
.ta-dropdown-menu .text-danger,
body > .ta-dropdown-menu .text-danger{color:var(--nl-danger)!important}
.dropdown:not(.bootstrap-select) > .dropdown-menu:not(.inner) .text-danger:hover,
.ta-dropdown-menu .text-danger:hover,
body > .ta-dropdown-menu .text-danger:hover{background:rgba(244,63,94,.12)!important;color:#fb7185!important}

/* Cards and tables should never be stretched by a hidden dropdown menu. */
.card .dropdown-menu:not(.show),
.tailadmin-data-table .dropdown-menu:not(.show),
.ta-datatable3 .dropdown-menu:not(.show){display:block!important;position:absolute!important;inset:auto!important;width:max-content!important;height:auto!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media(max-width:767.98px){
  .ta-dropdown-menu,
  .dropdown:not(.bootstrap-select)> .dropdown-menu:not(.inner),
  body > .ta-dropdown-menu[data-nl-floating="1"]{max-width:calc(100vw - 1.25rem)!important}
  body > .ta-dropdown-menu[data-nl-floating="1"].nl-user-menu{min-width:min(17rem,calc(100vw - 1.25rem))!important;width:min(17rem,calc(100vw - 1.25rem))!important}
}


/* =========================
   Nova-Life UI V23
   TailAdmin select/dropdown hardening
   ========================= */
.form-select{
  appearance:none!important;
  background-image:linear-gradient(45deg,transparent 50%,var(--nl-muted) 50%),linear-gradient(135deg,var(--nl-muted) 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
  padding-right:2.55rem!important;
}
.form-floating > .select2-container{height:auto!important}
.select2-container.ta-select2-container,
.select2-container--default.ta-select2-container{width:100%!important;display:block!important;z-index:1!important}
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{
  min-height:44px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:14px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease!important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple{
  border-color:var(--nl-primary)!important;
  box-shadow:var(--nl-ring)!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  display:flex!important;align-items:center!important;min-height:42px!important;line-height:1.25rem!important;
  padding:0 2.5rem 0 .875rem!important;color:var(--nl-text)!important;font-weight:700!important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--nl-muted)!important;font-weight:700!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px!important;width:2.5rem!important;right:.15rem!important;top:0!important}
.select2-container--default .select2-selection--single .select2-selection__arrow b{display:none!important}
.select2-container--default .select2-selection--single .select2-selection__arrow:before{
  content:"\ea5f";font-family:"tabler-icons"!important;font-size:1.15rem;color:var(--nl-muted);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .16s ease,color .16s ease;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow:before{transform:translate(-50%,-50%) rotate(180deg);color:var(--nl-primary)}
.select2-container--default .select2-selection--multiple{display:flex!important;align-items:center!important;padding:.25rem .5rem!important;gap:.35rem!important}
.select2-container--default .select2-selection--multiple .select2-selection__choice{border:1px solid var(--nl-primary-border)!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;border-radius:999px!important;font-weight:800!important;padding:.2rem .55rem!important}
.select2-dropdown,
.select2-container--default .select2-dropdown,
.ta-select2-dropdown{
  z-index:2160!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:0 22px 45px rgba(15,23,42,.14),0 8px 18px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
}
html[data-theme=dark] .select2-dropdown{box-shadow:0 24px 60px rgba(0,0,0,.44)!important}
.select2-container--open .select2-dropdown--below{margin-top:.5rem!important;border-top-left-radius:16px!important;border-top-right-radius:16px!important}
.select2-container--open .select2-dropdown--above{margin-top:-.5rem!important;border-bottom-left-radius:16px!important;border-bottom-right-radius:16px!important}
.select2-search--dropdown{padding:.5rem!important;border-bottom:1px solid var(--nl-border)!important}
.select2-search--dropdown .select2-search__field{height:2.5rem!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;padding:.5rem .75rem!important;outline:0!important}
.select2-search--dropdown .select2-search__field:focus{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.select2-results__options{padding:.35rem!important;max-height:18rem!important;scrollbar-width:thin!important}
.select2-results__option{display:flex!important;align-items:center!important;min-height:2.45rem!important;padding:.625rem .75rem!important;border-radius:10px!important;color:var(--nl-text)!important;font-size:.875rem!important;font-weight:700!important;transition:background-color .15s ease,color .15s ease!important}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true]{background:rgba(70,95,255,.10)!important;color:var(--nl-primary)!important}
.select2-container--default .select2-results__option[aria-disabled=true]{color:var(--nl-muted)!important;opacity:.55!important}

.bootstrap-select.ta-selectpicker,
.bootstrap-select:not(.dropdown-menu){width:100%!important;display:block!important}
.bootstrap-select > .dropdown-toggle,
.bootstrap-select > .ta-selectpicker-btn,
.bootstrap-select > button.dropdown-toggle{
  width:100%!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important;
  padding:.625rem .875rem!important;border:1px solid var(--nl-border)!important;border-radius:14px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;font-size:.875rem!important;font-weight:700!important;line-height:1.25rem!important;text-align:left!important;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease!important;
}
.bootstrap-select > .dropdown-toggle:hover,
.bootstrap-select > .dropdown-toggle:focus,
.bootstrap-select.show > .dropdown-toggle,
.bootstrap-select.open > .dropdown-toggle{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;outline:0!important}
.bootstrap-select > .dropdown-toggle:after{border:0!important;content:"\ea5f"!important;font-family:"tabler-icons"!important;font-size:1.15rem!important;width:auto!important;height:auto!important;margin-left:auto!important;color:var(--nl-muted)!important;transition:transform .16s ease,color .16s ease!important}
.bootstrap-select.show > .dropdown-toggle:after,
.bootstrap-select.open > .dropdown-toggle:after{transform:rotate(180deg)!important;color:var(--nl-primary)!important}
.bootstrap-select .filter-option{display:flex!important;align-items:center!important;min-width:0!important;height:auto!important;position:static!important;flex:1 1 auto!important;padding:0!important;text-align:left!important}
.bootstrap-select .filter-option-inner,
.bootstrap-select .filter-option-inner-inner{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--nl-text)!important}
.bootstrap-select .dropdown-menu,
.bootstrap-select > .dropdown-menu,
.bs-container .dropdown-menu,
body > .bootstrap-select .dropdown-menu,
body > .dropdown-menu.bootstrap-select,
body > .dropdown-menu.ta-selectpicker-menu,
.ta-selectpicker-menu{
  z-index:2160!important;min-width:14rem!important;max-width:min(24rem,calc(100vw - 1.5rem))!important;padding:.5rem!important;margin:.5rem 0 0!important;border:1px solid var(--nl-border)!important;border-radius:16px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;box-shadow:0 22px 45px rgba(15,23,42,.14),0 8px 18px rgba(15,23,42,.08)!important;overflow:hidden!important;
}
html[data-theme=dark] .bootstrap-select .dropdown-menu,
html[data-theme=dark] .bs-container .dropdown-menu,
html[data-theme=dark] .ta-selectpicker-menu{box-shadow:0 24px 60px rgba(0,0,0,.44)!important}
.bootstrap-select .dropdown-menu.inner,
.bootstrap-select .inner,
.bs-container .dropdown-menu .inner,
.ta-selectpicker-menu .inner{position:static!important;display:block!important;max-height:18rem!important;overflow:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;scrollbar-width:thin!important}
.bootstrap-select .dropdown-menu li a,
.bs-container .dropdown-menu li a,
.ta-selectpicker-menu li a{display:flex!important;align-items:center!important;min-height:2.45rem!important;padding:.625rem .75rem!important;border-radius:10px!important;color:var(--nl-text)!important;font-size:.875rem!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important;transition:background-color .15s ease,color .15s ease,transform .15s ease!important}
.bootstrap-select .dropdown-menu li a:hover,
.bootstrap-select .dropdown-menu li a:focus,
.bs-container .dropdown-menu li a:hover,
.bs-container .dropdown-menu li a:focus,
.ta-selectpicker-menu li a:hover,
.ta-selectpicker-menu li a:focus{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;outline:0!important;transform:translateX(1px)!important}
.bootstrap-select .dropdown-menu li.selected a,
.bootstrap-select .dropdown-menu li.active a,
.bs-container .dropdown-menu li.selected a,
.bs-container .dropdown-menu li.active a,
.ta-selectpicker-menu li.selected a,
.ta-selectpicker-menu li.active a{background:rgba(70,95,255,.10)!important;color:var(--nl-primary)!important}
.bootstrap-select .dropdown-menu li.disabled a,
.bs-container .dropdown-menu li.disabled a,
.ta-selectpicker-menu li.disabled a{color:var(--nl-muted)!important;opacity:.55!important;cursor:not-allowed!important;background:transparent!important;transform:none!important}
.bootstrap-select .bs-ok-default:after{border-color:var(--nl-primary)!important}
.bootstrap-select .bs-searchbox{padding:.5rem!important;border-bottom:1px solid var(--nl-border)!important}
.bootstrap-select .bs-searchbox input{height:2.5rem!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;padding:.5rem .75rem!important;outline:0!important}
.bootstrap-select .bs-searchbox input:focus{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.card,
.card-body,
.card-datatable,
.tailadmin-has-datatable{overflow:visible!important}
.card .dropdown,
.card .bootstrap-select,
.card .select2-container{max-width:100%!important}
.card .dropdown-menu:not(.show):not([data-nl-floating="1"]):not(.inner),
.card .bootstrap-select > .dropdown-menu:not(.show){height:0!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;border:0!important;box-shadow:none!important;overflow:hidden!important}

/* =========================
   Nova-Life UI V24
   - Native TailAdmin selects for business forms
   - Restore rounded cards on server page
   - Prevent select/dropdown overlays from creating page scrollbars
   ========================= */
.ta-native-select,
select[data-nl-native="1"],
.nl-page-modification-joueur select.form-select,
.nl-page-serveur select.form-select{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-height:44px!important;
  padding:.625rem 2.6rem .625rem .875rem!important;
  border:1px solid var(--nl-border)!important;
  border-radius:14px!important;
  background-color:var(--nl-panel)!important;
  background-image:linear-gradient(45deg,transparent 50%,var(--nl-muted) 50%),linear-gradient(135deg,var(--nl-muted) 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  font-size:.875rem!important;
  font-weight:700!important;
  line-height:1.25rem!important;
  cursor:pointer!important;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease!important;
}
.ta-native-select:hover,
select[data-nl-native="1"]:hover{border-color:var(--nl-border-2)!important}
.ta-native-select:focus,
select[data-nl-native="1"]:focus{outline:0!important;border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.ta-native-select:disabled,
select[data-nl-native="1"]:disabled{cursor:not-allowed!important;background-color:var(--nl-soft)!important;color:var(--nl-muted)!important;opacity:1!important}
.form-floating > .ta-native-select,
.form-floating > select[data-nl-native="1"]{padding-top:.625rem!important;padding-bottom:.625rem!important}
.form-floating > .ta-native-select ~ label,
.form-floating > select[data-nl-native="1"] ~ label{display:none!important}

/* Native selects must stay native: never leave hidden plugin containers around them. */
select[data-nl-native="1"] + .select2-container,
select[data-nl-native="1"] + .bootstrap-select{display:none!important}

/* Server cards should keep the rounded TailAdmin card shape. Dropdown/select overlays are not kept inside cards anymore. */
.nl-page-serveur .card,
.nl-page-modification-joueur .card{
  border-radius:20px!important;
  overflow:hidden!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-page-serveur .card:hover,
.nl-page-modification-joueur .card:hover{box-shadow:var(--nl-shadow)!important;border-color:var(--nl-border-2)!important}
.nl-page-serveur .card-body,
.nl-page-modification-joueur .card-body{overflow:visible!important}
.nl-page-serveur .card-header,
.nl-page-modification-joueur .card-header{border-top-left-radius:20px!important;border-top-right-radius:20px!important}

/* Avoid plugin containers or portaled menus generating unwanted body scrollbars. */
html,body{max-width:100%;overflow-x:hidden!important}
body > .select2-container,
body > .select2-dropdown,
body > .bs-container,
body > .ta-dropdown-menu[data-nl-floating="1"]{max-width:calc(100vw - 24px)!important}
.nl-page-serveur .bootstrap-select,
.nl-page-serveur .select2-container,
.nl-page-modification-joueur .bootstrap-select,
.nl-page-modification-joueur .select2-container{display:none!important}


/* =========================
   Nova-Life UI V25
   - Restore rounded TailAdmin cards on the server page
   - Use a TailAdmin-like custom select shell for business selects while keeping
     the real <select> values/options untouched for PHP forms and scripts.
   ========================= */
.nl-page-serveur .card,
.nl-page-serveur .card.text-center,
.nl-page-serveur .card.mb-3,
.nl-page-serveur .card.mb-4{
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-page-serveur .card:hover{box-shadow:var(--nl-shadow)!important;border-color:var(--nl-border-2)!important}
.nl-page-serveur .card-header{
  border-top-left-radius:24px!important;
  border-top-right-radius:24px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
}
.nl-page-serveur .card-body{
  border-bottom-left-radius:24px!important;
  border-bottom-right-radius:24px!important;
}
.nl-page-serveur .card .nav-tabs,
.nl-page-serveur .card .card-header-tabs{border-radius:18px!important}

/* Real select remains in DOM for form submit/change events, but visual rendering is handled by .ta-select-shell. */
select[data-nl-native="1"].ta-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ta-select-shell{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.ta-select-button{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  padding:.625rem .875rem!important;
  border:1px solid var(--nl-border)!important;
  border-radius:14px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  font-size:.875rem!important;
  font-weight:700!important;
  line-height:1.25rem!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease!important;
}
.ta-select-button:hover{border-color:var(--nl-border-2)!important;background:var(--nl-panel-2)!important}
.ta-select-button:focus,
.ta-select-shell.is-open .ta-select-button{outline:0!important;border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important;background:var(--nl-panel)!important}
.ta-select-button:disabled,
.ta-select-button[aria-disabled="true"]{cursor:not-allowed!important;background:var(--nl-soft)!important;color:var(--nl-muted)!important;opacity:1!important;box-shadow:none!important}
.ta-select-value{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:inherit!important}
.ta-select-chevron{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:20px!important;height:20px!important;color:var(--nl-muted)!important;transition:transform .16s ease,color .16s ease!important}
.ta-select-shell.is-open .ta-select-chevron{transform:rotate(180deg)!important;color:var(--nl-primary)!important}
.ta-select-menu{
  position:fixed!important;
  z-index:2500!important;
  min-width:14rem!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(18rem,calc(100vh - 24px))!important;
  overflow:auto!important;
  padding:.5rem!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:0 22px 45px rgba(15,23,42,.14),0 8px 18px rgba(15,23,42,.08)!important;
  scrollbar-width:thin!important;
}
html[data-theme=dark] .ta-select-menu{box-shadow:0 24px 60px rgba(0,0,0,.44)!important}
.ta-select-option{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  width:100%!important;
  min-height:2.45rem!important;
  padding:.625rem .75rem!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  font-size:.875rem!important;
  font-weight:700!important;
  line-height:1.25rem!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:background-color .15s ease,color .15s ease,transform .15s ease!important;
}
.ta-select-option:hover,
.ta-select-option:focus{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;outline:0!important;transform:translateX(1px)!important}
.ta-select-option.is-selected{background:rgba(70,95,255,.10)!important;color:var(--nl-primary)!important}
.ta-select-option.is-hidden{display:none!important}
.ta-select-option:disabled{cursor:not-allowed!important;color:var(--nl-muted)!important;opacity:.55!important;background:transparent!important;transform:none!important}
.ta-select-option-check{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:18px!important;height:18px!important;color:var(--nl-primary)!important;opacity:0!important}
.ta-select-option.is-selected .ta-select-option-check{opacity:1!important}
.form-floating > .ta-select-shell{min-height:44px!important}
.form-floating > .ta-select-shell + label,
.form-floating > select[data-nl-native="1"].ta-select-hidden + .ta-select-shell + label{display:none!important}

/* Keep cards rounded everywhere on the server page even when legacy card headers/tabs are present. */
.nl-page-serveur .card > :first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}
.nl-page-serveur .card > :last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}


/* =========================
   Nova-Life UI V26
   - Restore rounded TailAdmin card clipping globally.
   - Keep the previous angled stat-card design, but make the decorative accent
     respect the card radius on every page.
   ========================= */
.card{
  border-radius:var(--nl-radius-2xl)!important;
  overflow:hidden!important;
  clip-path:inset(0 round var(--nl-radius-2xl))!important;
}
.card > :first-child{
  border-top-left-radius:inherit!important;
  border-top-right-radius:inherit!important;
}
.card > :last-child{
  border-bottom-left-radius:inherit!important;
  border-bottom-right-radius:inherit!important;
}
.card-header{
  border-top-left-radius:inherit!important;
  border-top-right-radius:inherit!important;
}
.card-footer{
  border-bottom-left-radius:inherit!important;
  border-bottom-right-radius:inherit!important;
}
.card-body{
  min-width:0!important;
}

/* Stat cards: same angled accent as before, but clipped by the rounded card. */
.nl-stat-card{
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  background:var(--nl-card)!important;
}
.nl-stat-card > .card-body{
  position:relative!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  clip-path:inset(0 round 24px)!important;
}
.nl-stat-card > .card-body:before,
.nl-stat-card > .card-body:after{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-icon{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
}
.nl-stat-card .card-icon:before{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  right:-38px!important;
  width:168px!important;
  height:168px!important;
  border-radius:0 0 0 999px!important;
  background:var(--nl-primary-soft)!important;
  transform:translateY(-50%)!important;
  z-index:-1!important;
  pointer-events:none!important;
  display:block!important;
}
.nl-stat-card .card-icon .badge{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:767.98px){
  .nl-stat-card,
  .nl-stat-card > .card-body{border-radius:22px!important;clip-path:inset(0 round 22px)!important}
}

/* =========================
   Nova-Life UI V27
   - Hard restore rounded cards after dropdown/select overlay work.
   - The overlay menus now live on <body>, so cards can safely clip their
     decorative layers again.
   - Stat cards keep the original angled accent, but the accent is drawn on the
     card body and clipped by the card radius instead of overflowing from the icon.
   ========================= */
:root{--nl-card-radius:24px}
@supports (overflow: clip){
  .card,
  .nl-stat-card,
  .tailadmin-has-datatable,
  .tailadmin-data-table,
  .ta-datatable3,
  .nl-auto-table,
  .table-responsive:not(.dropdown-menu):not(.inner){overflow:clip!important}
}
.card,
.nl-stat-card,
.tailadmin-has-datatable{
  border-radius:var(--nl-card-radius)!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
  isolation:isolate!important;
  contain:paint!important;
  clip-path:inset(0 round var(--nl-card-radius))!important;
}
.card > :first-child,
.tailadmin-has-datatable > :first-child{
  border-top-left-radius:inherit!important;
  border-top-right-radius:inherit!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.card > :last-child,
.tailadmin-has-datatable > :last-child{
  border-bottom-left-radius:inherit!important;
  border-bottom-right-radius:inherit!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.card-header,
.card-footer,
.card-datatable,
.card > .table-responsive,
.card > .dataTables_wrapper,
.card .ta-datatable3,
.card .tailadmin-data-table{
  background-clip:padding-box!important;
}
.card > .card-header:first-child,
.card > .card-body:first-child,
.card > .user-profile-header:first-child,
.card > .card-datatable:first-child,
.card > .table-responsive:first-child{
  border-top-left-radius:inherit!important;
  border-top-right-radius:inherit!important;
}
.card > .card-footer:last-child,
.card > .card-body:last-child,
.card > .user-profile-header:last-child,
.card > .card-datatable:last-child,
.card > .table-responsive:last-child{
  border-bottom-left-radius:inherit!important;
  border-bottom-right-radius:inherit!important;
}
.card > .user-profile-header,
.user-profile-header{
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.card > .user-profile-header:first-child{border-radius:inherit!important}

/* Tables inside cards must inherit the card clipping instead of painting square
   backgrounds up to the card edge. */
.card .card-datatable,
.card .table-responsive,
.card .dataTables_wrapper{
  max-width:100%!important;
}
.card > .card-datatable,
.card > .table-responsive{
  overflow:hidden!important;
}
.card > .card-datatable:first-child:last-child,
.card > .table-responsive:first-child:last-child{
  border-radius:inherit!important;
}
.card > .card-datatable:first-child:not(:last-child),
.card > .table-responsive:first-child:not(:last-child){
  border-bottom-left-radius:0!important;
  border-bottom-right-radius:0!important;
}
.card > .card-datatable:last-child:not(:first-child),
.card > .table-responsive:last-child:not(:first-child){
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
}

/* Stat cards: restore the angled block used before, but clip it inside the
   rounded card. This removes the square corners visible on the right side. */
.nl-stat-card,
.card:has(.card-icon){
  min-height:104px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  contain:paint!important;
  clip-path:inset(0 round 24px)!important;
}
.nl-stat-card > .card-body,
.card:has(.card-icon) > .card-body{
  position:relative!important;
  min-height:104px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background-clip:padding-box!important;
  isolation:isolate!important;
}
.nl-stat-card > .card-body:before,
.card:has(.card-icon) > .card-body:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:38%!important;
  min-width:128px!important;
  max-width:210px!important;
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.14))!important;
  clip-path:polygon(26% 0,100% 0,100% 100%,0 100%)!important;
  z-index:0!important;
  pointer-events:none!important;
  display:block!important;
}
.nl-stat-card > .card-body:after,
.card:has(.card-icon) > .card-body:after,
.nl-stat-card .card-icon:before,
.card:has(.card-icon) .card-icon:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title,
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title{
  max-width:calc(100% - 82px)!important;
}
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
}
.nl-stat-card .card-icon .badge,
.card:has(.card-icon) .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:767.98px){
  :root{--nl-card-radius:22px}
  .nl-stat-card,
  .card:has(.card-icon){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card > .card-body,
  .card:has(.card-icon) > .card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card > .card-body:before,
  .card:has(.card-icon) > .card-body:before{width:42%!important;min-width:112px!important}
}

/* =========================
   Nova-Life UI V29
   - Restore original rounded/soft stat card accent (no straight right block).
   - TailAdmin-style casier page cards/actions.
   ========================= */
.nl-stat-card,
.card:has(.card-icon){
  min-height:104px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  contain:paint!important;
  background:var(--nl-card)!important;
}
.nl-stat-card > .card-body,
.card:has(.card-icon) > .card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:104px!important;
  padding:22px 24px!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  isolation:isolate!important;
}
.nl-stat-card > .card-body:before,
.card:has(.card-icon) > .card-body:before,
.nl-stat-card .card-icon:before,
.card:has(.card-icon) .card-icon:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card > .card-body:after,
.card:has(.card-icon) > .card-body:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  right:-34px!important;
  width:126px!important;
  height:126px!important;
  border-radius:999px!important;
  background:var(--nl-primary-soft)!important;
  transform:translateY(-50%)!important;
  z-index:-1!important;
  pointer-events:none!important;
  display:block!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title,
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title{
  min-width:0!important;
  max-width:calc(100% - 76px)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.nl-stat-card .card-title h5,
.card:has(.card-icon) .card-title h5{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
}
.nl-stat-card .card-title small,
.card:has(.card-icon) .card-title small{
  display:block!important;
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
  opacity:.92!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon .badge,
.card:has(.card-icon) .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.nl-stat-card .card-icon .ti,
.card:has(.card-icon) .card-icon .ti{font-size:22px!important;line-height:1!important}

/* Casier judiciaire: TailAdmin cards with inline CTA area */
.nl-casier-stats .nl-casier-card{
  height:100%!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important;
}
.nl-casier-stats .nl-casier-card:hover{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  min-height:108px!important;
  padding-bottom:18px!important;
}
.nl-casier-kicker{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin-bottom:2px!important;
  color:var(--nl-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.nl-casier-card-footer{
  position:relative!important;
  z-index:2!important;
  padding:0 20px 20px!important;
  margin-top:auto!important;
}
.nl-casier-card-footer .btn{
  min-height:40px!important;
  border-radius:14px!important;
}
.nl-casier-actions-card{
  overflow:hidden!important;
}
.nl-casier-actions-card .card-body{
  padding:20px 22px!important;
}
.nl-casier-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.nl-casier-actions .btn{
  min-height:42px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
}
@media(max-width:991.98px){
  .nl-casier-actions{justify-content:flex-start!important}
  .nl-casier-actions .btn{width:100%!important;justify-content:center!important}
}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(.card-icon){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card > .card-body,
  .card:has(.card-icon) > .card-body{min-height:96px!important;padding:20px!important}
  .nl-stat-card > .card-body:after,
  .card:has(.card-icon) > .card-body:after{right:-40px!important;width:118px!important;height:118px!important}
  .nl-stat-card .card-title h5,
  .card:has(.card-icon) .card-title h5{font-size:20px!important}
  .nl-stat-card .card-title small,
  .card:has(.card-icon) .card-title small{font-size:13px!important}
  .nl-stat-card .card-icon,
  .card:has(.card-icon) .card-icon,
  .nl-stat-card .card-icon .badge,
  .card:has(.card-icon) .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
}

/* =========================
   Nova-Life UI V30
   - Restore the initial angled stat-card accent, correctly clipped.
   - Casier page rebuilt with TailAdmin profile/detail card patterns.
   ========================= */
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active{
  color:#fff!important;
}

.nl-stat-card,
.card:has(.card-icon){
  min-height:104px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  contain:paint!important;
  background:var(--nl-card)!important;
}
.nl-stat-card > .card-body,
.card:has(.card-icon) > .card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:104px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  isolation:isolate!important;
  background:transparent!important;
}
.nl-stat-card > .card-body:before,
.card:has(.card-icon) > .card-body:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:38%!important;
  min-width:128px!important;
  max-width:210px!important;
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.14))!important;
  clip-path:polygon(26% 0,100% 0,100% 100%,0 100%)!important;
  z-index:0!important;
  pointer-events:none!important;
  display:block!important;
}
.nl-stat-card > .card-body:after,
.card:has(.card-icon) > .card-body:after,
.nl-stat-card .card-icon:before,
.card:has(.card-icon) .card-icon:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title,
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title{
  min-width:0!important;
  max-width:calc(100% - 76px)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon .badge,
.card:has(.card-icon) .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.nl-casier-card:not(:has(.nl-casier-card-footer)) > .card-body{
  min-height:calc(104px + 60px)!important;
}
.nl-casier-action-band{
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:20px!important;
  background:rgba(17,24,39,.72)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
html:not([data-theme=dark]) .nl-casier-action-band{
  background:rgba(255,255,255,.86)!important;
}
.nl-casier-action-band .btn{
  min-height:40px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
}

.nl-casier-layout{align-items:flex-start!important}.nl-profile-card{position:sticky!important;top:calc(var(--nl-topbar-h) + 22px)!important;border:1px solid var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important;overflow:hidden!important}.nl-profile-cover{height:112px!important;background:radial-gradient(circle at 12% 40%,rgba(124,140,255,.28),transparent 36%),linear-gradient(135deg,rgba(124,140,255,.26),rgba(14,165,233,.11))!important;border-bottom:1px solid var(--nl-border)!important}.nl-profile-body{padding:0 24px 24px!important}.nl-profile-main{display:flex!important;align-items:flex-end!important;gap:18px!important;margin-top:-46px!important;margin-bottom:24px!important}.nl-profile-avatar-wrap{flex:0 0 auto!important;padding:5px!important;border-radius:24px!important;background:var(--nl-card)!important;border:1px solid var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important}.nl-profile-avatar{width:132px!important;height:132px!important;border-radius:20px!important;object-fit:cover!important;display:block!important}.nl-profile-heading{min-width:0!important;padding-bottom:7px!important}.nl-profile-kicker,.nl-section-kicker,.nl-record-date{display:block!important;margin-bottom:5px!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}.nl-profile-heading h3{margin:0 0 4px!important;font-size:24px!important;letter-spacing:-.02em!important}.nl-profile-heading p{margin:0 0 10px!important;color:var(--nl-muted)!important;font-weight:700!important}.nl-status-pill{display:inline-flex!important;align-items:center!important;gap:7px!important;width:max-content!important;max-width:100%!important;padding:7px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important}.nl-status-pill i{font-size:16px!important}.nl-status-success{color:var(--nl-success)!important;background:rgba(18,183,106,.12)!important;border:1px solid rgba(18,183,106,.26)!important}.nl-status-danger{color:var(--nl-danger)!important;background:rgba(240,68,56,.12)!important;border:1px solid rgba(240,68,56,.28)!important}.nl-profile-section{padding:20px 0!important;border-top:1px solid var(--nl-border)!important}.nl-profile-section:first-of-type{border-top:0!important;padding-top:0!important}.nl-profile-section-title h5{margin:0 0 16px!important;font-size:15px!important}.nl-profile-info-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 18px!important}.nl-profile-info-item{min-width:0!important;padding:14px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:rgba(102,112,133,.05)!important}.nl-profile-info-full{grid-column:1/-1!important}.nl-profile-info-item span{display:block!important;margin-bottom:5px!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:800!important}.nl-profile-info-item strong{display:block!important;color:var(--nl-heading)!important;font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere!important}.nl-section-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}.nl-section-heading h5{margin:0!important;font-size:18px!important}.nl-record-card{border:1px solid var(--nl-border)!important;box-shadow:var(--nl-shadow-sm)!important;transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important}.nl-record-card:hover{border-color:var(--nl-primary-border)!important;box-shadow:var(--nl-shadow)!important;transform:translateY(-1px)!important}.nl-record-header{align-items:flex-start!important;gap:14px!important;padding:18px 22px!important;background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04))!important}.nl-record-header h5{margin:0!important;font-size:17px!important;line-height:1.25!important}.nl-record-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.nl-record-item{display:flex!important;align-items:flex-start!important;gap:13px!important;min-width:0!important;padding:14px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:rgba(102,112,133,.05)!important}.nl-record-item-wide{grid-column:1/-1!important}.nl-record-icon{width:40px!important;height:40px!important;min-width:40px!important;border-radius:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.nl-record-icon .ti{font-size:18px!important}.nl-record-item small{display:block!important;margin-bottom:5px!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}.nl-record-item strong,.nl-record-item p{margin:0!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:800!important;line-height:1.5!important;overflow-wrap:anywhere!important}.nl-record-actions{display:flex!important;justify-content:flex-end!important;margin-top:18px!important;padding-top:18px!important;border-top:1px solid var(--nl-border)!important}.nl-empty-record-card .card-body{padding:48px 24px!important}.nl-empty-icon{width:58px!important;height:58px!important;margin:0 auto 16px!important;border-radius:20px!important;display:grid!important;place-items:center!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important}.nl-empty-icon .ti{font-size:26px!important}

@media(max-width:1199.98px){
  .nl-profile-card{position:relative!important;top:auto!important}
}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(.card-icon){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card > .card-body,
  .card:has(.card-icon) > .card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-casier-card:not(:has(.nl-casier-card-footer)) > .card-body{min-height:96px!important}
  .nl-stat-card > .card-body:before,
  .card:has(.card-icon) > .card-body:before{width:42%!important;min-width:112px!important;max-width:170px!important}
  .nl-casier-action-band{width:100%!important;align-items:stretch!important}
  .nl-casier-action-band .btn{width:100%!important;justify-content:center!important}
  .nl-profile-main{align-items:center!important;flex-direction:column!important;text-align:center!important;margin-top:-58px!important}
  .nl-profile-heading{padding-bottom:0!important;display:flex!important;align-items:center!important;flex-direction:column!important}
  .nl-profile-info-grid,.nl-record-grid{grid-template-columns:1fr!important}
  .nl-record-header{flex-direction:column!important}
  .nl-record-actions{justify-content:stretch!important}.nl-record-actions .btn{width:100%!important;justify-content:center!important}
}


/* =========================
   Nova-Life UI V31
   - Restore the original rounded corner stat-card accent.
   - TailAdmin modal layer.
   - Casier profile header alignment fix.
   ========================= */

/* Stat cards: the accent returns to the original rounded corner/pill shape.
   The decorative shape is attached to the icon zone and clipped by the card,
   so it no longer becomes a straight/slanted rectangle. */
.nl-stat-card,
.card:has(.card-icon){
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
}
.nl-stat-card > .card-body,
.card:has(.card-icon) > .card-body{
  position:relative!important;
  min-height:104px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  isolation:isolate!important;
  background:transparent!important;
}
.nl-stat-card > .card-body:before,
.nl-stat-card > .card-body:after,
.card:has(.card-icon) > .card-body:before,
.card:has(.card-icon) > .card-body:after{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon:before,
.card:has(.card-icon) .card-icon:before{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  right:-58px!important;
  width:176px!important;
  height:176px!important;
  border-radius:999px 0 0 999px!important;
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.16))!important;
  transform:translateY(-50%)!important;
  z-index:-1!important;
  pointer-events:none!important;
  display:block!important;
}
.nl-stat-card .card-icon .badge,
.card:has(.card-icon) .card-icon .badge{
  position:relative!important;
  z-index:2!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title{
  position:relative!important;
  z-index:2!important;
  max-width:calc(100% - 78px)!important;
}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(.card-icon){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card > .card-body,
  .card:has(.card-icon) > .card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card .card-icon,
  .card:has(.card-icon) .card-icon,
  .nl-stat-card .card-icon .badge,
  .card:has(.card-icon) .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
  .nl-stat-card .card-icon:before,
  .card:has(.card-icon) .card-icon:before{right:-54px!important;width:158px!important;height:158px!important}
}

/* Casier profile card: TailAdmin profile layout with a clean cover/avatar overlap.
   The name block starts below the cover, avoiding the visual glitch at the top. */
.nl-profile-card{
  border-radius:26px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
}
.nl-profile-cover{
  position:relative!important;
  z-index:1!important;
  height:104px!important;
  margin:0!important;
  border-radius:0!important;
  background:radial-gradient(circle at 12% 40%,rgba(124,140,255,.32),transparent 38%),linear-gradient(135deg,rgba(124,140,255,.26),rgba(14,165,233,.12))!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-profile-body{
  position:relative!important;
  z-index:2!important;
  padding:0 24px 24px!important;
  background:var(--nl-card)!important;
}
.nl-profile-main{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
  margin-top:-58px!important;
  margin-bottom:24px!important;
}
.nl-profile-avatar-wrap{
  position:relative!important;
  z-index:3!important;
  align-self:start!important;
  padding:5px!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-profile-heading{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  padding-top:66px!important;
  padding-bottom:4px!important;
}
.nl-profile-heading h3{line-height:1.15!important;overflow-wrap:anywhere!important}
@media(max-width:767.98px){
  .nl-profile-cover{height:112px!important}
  .nl-profile-main{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;margin-top:-64px!important;gap:14px!important}
  .nl-profile-heading{padding-top:0!important;display:flex!important;align-items:center!important;flex-direction:column!important}
}

/* TailAdmin modal component skin. Bootstrap continues to control opening/closing;
   these rules replace the legacy/Vuexy modal visuals with TailAdmin-like cards. */
.modal{
  padding:24px!important;
  background:rgba(15,23,42,.54)!important;
}
.modal.fade .modal-dialog{
  transform:translateY(14px) scale(.98)!important;
  transition:transform .22s ease,opacity .22s ease!important;
}
.modal.show .modal-dialog{transform:translateY(0) scale(1)!important}
.modal-dialog{
  max-width:640px!important;
  margin:1.75rem auto!important;
}
.modal-dialog.modal-sm{max-width:420px!important}
.modal-dialog.modal-lg{max-width:880px!important}
.modal-dialog.modal-xl{max-width:1140px!important}
.modal-dialog.modal-dialog-centered,
.modal-dialog:not(.modal-fullscreen){
  min-height:calc(100% - 3.5rem)!important;
  display:flex!important;
  align-items:center!important;
}
.modal-content{
  padding:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
  overflow:hidden!important;
}
.modal-header{
  min-height:72px!important;
  padding:20px 24px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.06))!important;
}
.modal-title{
  color:var(--nl-heading)!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.modal-body{
  padding:24px!important;
  background:var(--nl-card)!important;
}
.modal-footer{
  padding:18px 24px!important;
  gap:10px!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-panel)!important;
}
.modal .btn-close{
  position:relative!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  padding:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:14px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  opacity:1!important;
  box-shadow:var(--nl-shadow-sm)!important;
  transition:background var(--nl-transition-fast),border-color var(--nl-transition-fast),color var(--nl-transition-fast),transform var(--nl-transition-fast)!important;
}
.modal .btn-close:hover,
.modal .btn-close:focus{
  color:var(--nl-danger)!important;
  border-color:rgba(240,68,56,.34)!important;
  background:rgba(240,68,56,.1)!important;
  transform:translateY(-1px)!important;
}
.modal .btn-close:before{font-family:"tabler-icons"!important;content:"\eb55"!important;font-size:19px!important}
.modal-simple .modal-content,
.modal-edit-user .modal-content{border-radius:24px!important}
.modal-edit-user .modal-body{padding:24px!important}
.modal .text-center > h3,
.modal .text-center > h4{
  color:var(--nl-heading)!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.modal hr{border-color:var(--nl-border)!important;opacity:1!important}
.modal-backdrop{background:rgba(15,23,42,.62)!important;backdrop-filter:blur(6px)!important}
.modal-backdrop.show{opacity:1!important}

/* SweetAlert modals use the same TailAdmin modal language. */
.swal2-popup.nl-modal-popup,
.swal2-popup{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
  padding:26px!important;
}
.swal2-title{color:var(--nl-heading)!important;font-weight:900!important;letter-spacing:-.02em!important}
.swal2-html-container{color:var(--nl-muted)!important;font-weight:700!important;line-height:1.6!important}
.swal2-actions{gap:10px!important;flex-wrap:wrap!important}
.swal2-input,
.swal2-textarea{
  margin:10px auto!important;
  width:100%!important;
  max-width:420px!important;
  border-radius:14px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
@media(max-width:767.98px){
  .modal{padding:14px!important}
  .modal-dialog{margin:1rem auto!important;max-width:100%!important}
  .modal-header,.modal-body,.modal-footer{padding:18px!important}
  .modal-footer{align-items:stretch!important;flex-direction:column-reverse!important}
  .modal-footer .btn{width:100%!important;justify-content:center!important}
}


.modal .nl-modal-floating-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  z-index:5!important;
}
.modal .nl-modal-floating-close + .text-center{padding-right:42px!important;padding-left:42px!important}

/* =========================
   Nova-Life UI V32
   - Restore the original top-right asymmetric rounded stat-card background.
   - Remove the large profile cover blur on casier info cards.
   - Hide useless "No" buttons in TailAdmin/SweetAlert modals.
   ========================= */

/* Stat cards: rounded asymmetric corner accent, not a straight block or centered pill. */
.nl-stat-card,
.card:has(.card-icon){
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
}
.nl-stat-card > .card-body,
.card:has(.card-icon) > .card-body{
  position:relative!important;
  min-height:104px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-stat-card > .card-body:before,
.card:has(.card-icon) > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-58px!important;
  right:-22px!important;
  width:46%!important;
  min-width:176px!important;
  max-width:255px!important;
  height:176px!important;
  border-radius:0 24px 0 170px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.26),rgba(70,95,255,.16))!important;
  z-index:0!important;
  pointer-events:none!important;
}
.nl-stat-card > .card-body:after,
.card:has(.card-icon) > .card-body:after,
.nl-stat-card .card-icon:before,
.card:has(.card-icon) .card-icon:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-title,
.card:has(.card-icon) .card-title,
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-icon,
.card:has(.card-icon) .card-icon{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon .badge,
.card:has(.card-icon) .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(.card-icon){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card > .card-body,
  .card:has(.card-icon) > .card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card > .card-body:before,
  .card:has(.card-icon) > .card-body:before{top:-52px!important;right:-28px!important;min-width:150px!important;height:154px!important;border-radius:0 22px 0 145px!important}
  .nl-stat-card .card-icon,
  .card:has(.card-icon) .card-icon,
  .nl-stat-card .card-icon .badge,
  .card:has(.card-icon) .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
}

/* Casier profile card: no large blurry cover band. */
.nl-profile-card .nl-profile-cover{
  display:none!important;
  height:0!important;
  border:0!important;
  background:none!important;
}
.nl-profile-card .nl-profile-body{
  padding:24px!important;
  background:var(--nl-card)!important;
}
.nl-profile-card .nl-profile-main{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:20px!important;
  align-items:center!important;
  margin:0 0 24px!important;
}
.nl-profile-card .nl-profile-avatar-wrap{
  margin:0!important;
  background:var(--nl-card)!important;
}
.nl-profile-card .nl-profile-heading{
  padding:0!important;
}
@media(max-width:767.98px){
  .nl-profile-card .nl-profile-body{padding:20px!important}
  .nl-profile-card .nl-profile-main{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:14px!important;margin-bottom:20px!important}
  .nl-profile-card .nl-profile-heading{display:flex!important;align-items:center!important;flex-direction:column!important}
}

/* Useless default "No" buttons from generic modal libs are hidden. */
.swal2-actions .swal2-deny.nl-useless-no,
.swal2-actions .swal2-cancel.nl-useless-no,
.modal .btn.nl-useless-no{
  display:none!important;
}

/* =========================
   Nova-Life UI V33
   - Reliable TailAdmin-style stat cards for cards with or without footer buttons.
   - Compact Form Modal skin inspired by TailAdmin's Form in Modal component.
   ========================= */

/* Stat cards: use a stable corner accent and a clean icon tile. This avoids the
   previous square/trapezoid overlays while keeping a premium dashboard look on
   simple cards and cards that include a footer button. */
.nl-stat-card,
.card:has(> .card-body .card-icon),
.card:has(> .card-body .card-info){
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:none!important;
  contain:none!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-stat-card:hover,
.card:has(> .card-body .card-icon):hover,
.card:has(> .card-body .card-info):hover{
  border-color:var(--nl-border-2)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-stat-card > .card-body,
.card:has(> .card-body .card-icon) > .card-body,
.card:has(> .card-body .card-info) > .card-body{
  position:relative!important;
  min-height:106px!important;
  padding:22px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-stat-card > .card-body:before,
.card:has(> .card-body .card-icon) > .card-body:before,
.card:has(> .card-body .card-info) > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-92px!important;
  right:-64px!important;
  width:205px!important;
  height:205px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.30),rgba(70,95,255,.16))!important;
  z-index:0!important;
  pointer-events:none!important;
}
.nl-stat-card > .card-body:after,
.card:has(> .card-body .card-icon) > .card-body:after,
.card:has(> .card-body .card-info) > .card-body:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-36px!important;
  right:28px!important;
  width:74px!important;
  height:74px!important;
  border-radius:999px!important;
  background:rgba(124,140,255,.10)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title,
.nl-stat-card .card-info,
.card:has(> .card-body .card-info) .card-info,
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title{
  min-width:0!important;
  max-width:calc(100% - 78px)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
}
.nl-stat-card .card-title h5,
.card:has(> .card-body .card-icon) .card-title h5,
.card:has(> .card-body .card-info) .card-title h5{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
.nl-stat-card .card-title small,
.card:has(> .card-body .card-icon) .card-title small,
.card:has(> .card-body .card-info) .card-title small{
  color:var(--nl-heading)!important;
  opacity:.92!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon:before,
.card:has(> .card-body .card-icon) .card-icon:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-icon .badge,
.card:has(> .card-body .card-icon) .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.nl-stat-card .card-icon .ti,
.card:has(> .card-body .card-icon) .card-icon .ti{font-size:22px!important;line-height:1!important}
.nl-stat-card .card-footer,
.nl-stat-card .nl-casier-card-footer,
.card:has(> .card-body .card-icon) .card-footer,
.card:has(> .card-body .card-icon) .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  background:linear-gradient(180deg,rgba(102,112,133,.03),rgba(102,112,133,.07))!important;
  overflow:visible!important;
}
html:not([data-theme=dark]) .nl-stat-card .card-footer,
html:not([data-theme=dark]) .nl-stat-card .nl-casier-card-footer,
html:not([data-theme=dark]) .card:has(> .card-body .card-icon) .card-footer,
html:not([data-theme=dark]) .card:has(> .card-body .card-icon) .nl-casier-card-footer{
  background:linear-gradient(180deg,rgba(249,250,251,.2),rgba(249,250,251,.86))!important;
}
.nl-stat-card .card-footer .btn,
.nl-stat-card .nl-casier-card-footer .btn,
.card:has(> .card-body .card-icon) .card-footer .btn,
.card:has(> .card-body .card-icon) .nl-casier-card-footer .btn{
  min-height:40px!important;
  border-radius:14px!important;
  justify-content:center!important;
  color:#fff!important;
}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(> .card-body .card-icon),
  .card:has(> .card-body .card-info){border-radius:22px!important}
  .nl-stat-card > .card-body,
  .card:has(> .card-body .card-icon) > .card-body,
  .card:has(> .card-body .card-info) > .card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card > .card-body:before,
  .card:has(> .card-body .card-icon) > .card-body:before,
  .card:has(> .card-body .card-info) > .card-body:before{top:-78px!important;right:-58px!important;width:178px!important;height:178px!important}
  .nl-stat-card > .card-body:after,
  .card:has(> .card-body .card-icon) > .card-body:after,
  .card:has(> .card-body .card-info) > .card-body:after{right:18px!important;width:62px!important;height:62px!important}
  .nl-stat-card .card-icon,
  .card:has(> .card-body .card-icon) .card-icon,
  .nl-stat-card .card-icon .badge,
  .card:has(> .card-body .card-icon) .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
}

/* Compact TailAdmin Form Modal. This keeps Bootstrap behavior but makes the
   visual language match TailAdmin's Form in Modal: compact title, form grid,
   subtle footer and smaller internal spacing. */
.modal.nl-form-modal,
.modal.modal-form,
.modal:has(form){
  padding:20px!important;
}
.modal.nl-form-modal .modal-dialog,
.modal.modal-form .modal-dialog,
.modal:has(form) .modal-dialog{
  max-width:720px!important;
  margin:1.5rem auto!important;
}
.modal.nl-form-modal .modal-content,
.modal.modal-form .modal-content,
.modal:has(form) .modal-content,
.modal-edit-user .modal-content,
.modal-simple .modal-content{
  padding:0!important;
  border-radius:20px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.38)!important;
  overflow:hidden!important;
}
.modal.nl-form-modal .modal-body,
.modal.modal-form .modal-body,
.modal:has(form) .modal-body,
.modal-edit-user .modal-body,
.modal-simple .modal-body{
  padding:22px!important;
  background:var(--nl-card)!important;
}
.modal.nl-form-modal .modal-header,
.modal.modal-form .modal-header,
.modal:has(form) .modal-header{
  min-height:auto!important;
  padding:18px 22px!important;
  background:var(--nl-card)!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.modal.nl-form-modal .modal-title,
.modal.modal-form .modal-title,
.modal:has(form) .modal-title{
  font-size:18px!important;
  line-height:1.3!important;
  font-weight:900!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
.modal.modal-form .modal-body > form > .text-center:first-of-type,
.modal:has(form) .modal-body > form > .text-center:first-of-type,
.modal-edit-user .modal-body > form > .text-center:first-of-type{
  text-align:left!important;
  margin:0 48px 20px 0!important;
  padding:0!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h3,
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h4,
.modal.modal-form .modal-body > form > .text-center:first-of-type h3,
.modal.modal-form .modal-body > form > .text-center:first-of-type h4,
.modal:has(form) .modal-body > form > .text-center:first-of-type h3,
.modal:has(form) .modal-body > form > .text-center:first-of-type h4,
.modal-edit-user .modal-body > form > .text-center:first-of-type h3,
.modal-edit-user .modal-body > form > .text-center:first-of-type h4{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.modal.nl-form-modal .form-label,
.modal.modal-form .form-label,
.modal:has(form) .form-label,
.modal-edit-user .form-label{
  margin-bottom:6px!important;
  font-size:13px!important;
  font-weight:800!important;
}
.modal.nl-form-modal .form-control,
.modal.nl-form-modal .form-select,
.modal.modal-form .form-control,
.modal.modal-form .form-select,
.modal:has(form) .form-control,
.modal:has(form) .form-select,
.modal-edit-user .form-control,
.modal-edit-user .form-select{
  min-height:42px!important;
  border-radius:12px!important;
  padding:9px 12px!important;
}
.modal.nl-form-modal textarea.form-control,
.modal.modal-form textarea.form-control,
.modal:has(form) textarea.form-control,
.modal-edit-user textarea.form-control{
  min-height:88px!important;
}
.modal.nl-form-modal .row,
.modal.modal-form .row,
.modal:has(form) .row,
.modal-edit-user .row{
  --bs-gutter-x:14px!important;
  --bs-gutter-y:14px!important;
}
.modal.nl-form-modal hr,
.modal.modal-form hr,
.modal:has(form) hr,
.modal-edit-user hr{
  margin:18px 0!important;
  border-color:var(--nl-border)!important;
  opacity:1!important;
}
.modal.nl-form-modal .btn-close,
.modal.modal-form .btn-close,
.modal:has(form) .btn-close,
.modal-edit-user .btn-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:10!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:12px!important;
}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:20px!important;
  padding-top:18px!important;
  border-top:1px solid var(--nl-border)!important;
  text-align:right!important;
}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{
  margin:0!important;
  min-height:40px!important;
  border-radius:12px!important;
  padding-inline:16px!important;
}
.modal-footer{
  padding:14px 22px!important;
  gap:10px!important;
  background:var(--nl-card)!important;
}
.swal2-popup.nl-modal-popup,
.swal2-popup{
  border-radius:20px!important;
  padding:22px!important;
}
.swal2-title{
  font-size:20px!important;
  line-height:1.25!important;
}
.swal2-html-container{
  margin:8px 0 0!important;
  font-size:14px!important;
}
@media(max-width:767.98px){
  .modal.nl-form-modal,
  .modal.modal-form,
  .modal:has(form){padding:12px!important}
  .modal.nl-form-modal .modal-body,
  .modal.modal-form .modal-body,
  .modal:has(form) .modal-body,
  .modal-edit-user .modal-body{padding:18px!important}
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
  .modal.modal-form .modal-body > form > .col-12.text-center:last-child,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child{align-items:stretch!important;flex-direction:column-reverse!important}
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
  .modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{width:100%!important;justify-content:center!important}
}

/* =========================
   Nova-Life UI V34
   - Stat cards use the same top-right asymmetric shape as the TailAdmin-style page header.
   - Form modals are compacted to match TailAdmin's Form in Modal component.
   - Infraction selects remain usable when dynamically duplicated.
   ========================= */

/* Stat cards: header-style asymmetric corner surface, clipped by the card radius. */
.nl-stat-card,
.card:has(> .card-body .card-icon),
.card:has(> .card-body .card-info){
  position:relative!important;
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  transform:none!important;
}
.nl-stat-card:hover,
.card:has(> .card-body .card-icon):hover,
.card:has(> .card-body .card-info):hover{
  border-color:var(--nl-border-2)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-stat-card > .card-body,
.card:has(> .card-body .card-icon) > .card-body,
.card:has(> .card-body .card-info) > .card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:104px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
}
.nl-stat-card > .card-body:before,
.card:has(> .card-body .card-icon) > .card-body:before,
.card:has(> .card-body .card-info) > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  width:clamp(128px,38%,210px)!important;
  height:100%!important;
  min-height:104px!important;
  border-radius:0 24px 0 92px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.26),rgba(70,95,255,.16))!important;
  z-index:0!important;
  pointer-events:none!important;
  transform:none!important;
  clip-path:none!important;
}
.nl-stat-card > .card-body:after,
.card:has(> .card-body .card-icon) > .card-body:after,
.card:has(> .card-body .card-info) > .card-body:after,
.nl-stat-card .card-icon:before,
.card:has(> .card-body .card-icon) .card-icon:before,
.card:has(> .card-body .card-info) .card-info:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title,
.nl-stat-card .card-info,
.card:has(> .card-body .card-info) .card-info,
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title{
  min-width:0!important;
  max-width:calc(100% - 78px)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
}
.nl-stat-card .card-title h5,
.card:has(> .card-body .card-icon) .card-title h5,
.card:has(> .card-body .card-info) .card-title h5{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
.nl-stat-card .card-title small,
.card:has(> .card-body .card-icon) .card-title small,
.card:has(> .card-body .card-info) .card-title small{
  display:block!important;
  margin:0!important;
  color:var(--nl-heading)!important;
  opacity:.92!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon .badge,
.card:has(> .card-body .card-icon) .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.nl-stat-card .card-icon .ti,
.card:has(> .card-body .card-icon) .card-icon .ti{font-size:22px!important;line-height:1!important}
.nl-stat-card .card-footer,
.nl-stat-card .nl-casier-card-footer,
.card:has(> .card-body .card-icon) .card-footer,
.card:has(> .card-body .card-icon) .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  overflow:visible!important;
}
.nl-stat-card .card-footer .btn,
.nl-stat-card .nl-casier-card-footer .btn,
.card:has(> .card-body .card-icon) .card-footer .btn,
.card:has(> .card-body .card-icon) .nl-casier-card-footer .btn{
  min-height:40px!important;
  border-radius:14px!important;
  justify-content:center!important;
  color:#fff!important;
}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(> .card-body .card-icon),
  .card:has(> .card-body .card-info){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card > .card-body,
  .card:has(> .card-body .card-icon) > .card-body,
  .card:has(> .card-body .card-info) > .card-body{min-height:96px!important;padding:18px 20px!important}
  .nl-stat-card > .card-body:before,
  .card:has(> .card-body .card-icon) > .card-body:before,
  .card:has(> .card-body .card-info) > .card-body:before{width:clamp(112px,42%,170px)!important;min-height:96px!important;border-radius:0 22px 0 78px!important}
  .nl-stat-card .card-icon,
  .card:has(> .card-body .card-icon) .card-icon,
  .nl-stat-card .card-icon .badge,
  .card:has(> .card-body .card-icon) .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
}

/* TailAdmin Form in Modal skin. */
.modal.nl-form-modal,
.modal.modal-form,
.modal:has(form){
  padding:24px!important;
  background:rgba(15,23,42,.62)!important;
}
.modal.nl-form-modal .modal-dialog,
.modal.modal-form .modal-dialog,
.modal:has(form) .modal-dialog,
.modal-edit-user.modal-dialog,
.modal-dialog.modal-edit-user,
.modal-dialog.modal-simple{
  max-width:700px!important;
  margin:1.75rem auto!important;
  min-height:calc(100% - 3.5rem)!important;
  display:flex!important;
  align-items:center!important;
}
.modal.nl-form-modal .modal-content,
.modal.modal-form .modal-content,
.modal:has(form) .modal-content,
.modal-edit-user .modal-content,
.modal-simple .modal-content{
  width:100%!important;
  overflow:visible!important;
  padding:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
}
.modal.nl-form-modal .modal-body,
.modal.modal-form .modal-body,
.modal:has(form) .modal-body,
.modal-edit-user .modal-body,
.modal-simple .modal-body{
  padding:24px!important;
  background:var(--nl-card)!important;
  border-radius:24px!important;
}
.modal.nl-form-modal .modal-body > form,
.modal.modal-form .modal-body > form,
.modal:has(form) .modal-body > form{
  display:block!important;
  margin:0!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
.modal.modal-form .modal-body > form > .text-center:first-of-type,
.modal:has(form) .modal-body > form > .text-center:first-of-type,
.modal-edit-user .modal-body > form > .text-center:first-of-type{
  display:block!important;
  text-align:left!important;
  margin:0 48px 22px 0!important;
  padding:0 0 18px!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h3,
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h4,
.modal.modal-form .modal-body > form > .text-center:first-of-type h3,
.modal.modal-form .modal-body > form > .text-center:first-of-type h4,
.modal:has(form) .modal-body > form > .text-center:first-of-type h3,
.modal:has(form) .modal-body > form > .text-center:first-of-type h4,
.modal-edit-user .modal-body > form > .text-center:first-of-type h3,
.modal-edit-user .modal-body > form > .text-center:first-of-type h4{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type p,
.modal.modal-form .modal-body > form > .text-center:first-of-type p,
.modal:has(form) .modal-body > form > .text-center:first-of-type p{
  margin:.35rem 0 0!important;
  color:var(--nl-muted)!important;
  font-size:14px!important;
  font-weight:600!important;
}
.modal.nl-form-modal .row,
.modal.modal-form .row,
.modal:has(form) .row,
.modal-edit-user .row{--bs-gutter-x:16px!important;--bs-gutter-y:16px!important}
.modal.nl-form-modal .form-label,
.modal.modal-form .form-label,
.modal:has(form) .form-label,
.modal-edit-user .form-label{
  margin-bottom:8px!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:600!important;
}
.modal.nl-form-modal .form-control,
.modal.nl-form-modal .form-select,
.modal.nl-form-modal .ta-select-button,
.modal.modal-form .form-control,
.modal.modal-form .form-select,
.modal.modal-form .ta-select-button,
.modal:has(form) .form-control,
.modal:has(form) .form-select,
.modal:has(form) .ta-select-button,
.modal-edit-user .form-control,
.modal-edit-user .form-select,
.modal-edit-user .ta-select-button{
  min-height:44px!important;
  border-radius:12px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  padding:10px 14px!important;
  font-size:14px!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.modal.nl-form-modal .ta-select-button,
.modal.modal-form .ta-select-button,
.modal:has(form) .ta-select-button,
.modal-edit-user .ta-select-button{display:flex!important;padding:10px 14px!important}
.modal.nl-form-modal textarea.form-control,
.modal.modal-form textarea.form-control,
.modal:has(form) textarea.form-control,
.modal-edit-user textarea.form-control{min-height:92px!important;resize:vertical!important}
.modal.nl-form-modal hr,
.modal.modal-form hr,
.modal:has(form) hr,
.modal-edit-user hr{margin:20px 0!important;border-color:var(--nl-border)!important;opacity:1!important}
.modal.nl-form-modal .btn-close,
.modal.modal-form .btn-close,
.modal:has(form) .btn-close,
.modal-edit-user .btn-close{
  position:absolute!important;
  top:20px!important;
  right:20px!important;
  z-index:10!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  padding:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child,
.modal.nl-form-modal .nl-form-modal-actions,
.modal.modal-form .nl-form-modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:24px!important;
  padding-top:20px!important;
  border-top:1px solid var(--nl-border)!important;
  text-align:right!important;
}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn,
.modal.nl-form-modal .nl-form-modal-actions .btn,
.modal.modal-form .nl-form-modal-actions .btn{
  margin:0!important;
  min-height:44px!important;
  border-radius:12px!important;
  padding:10px 18px!important;
  font-size:14px!important;
  font-weight:700!important;
}
.modal:not(.nl-form-modal) .modal-content{border-radius:24px!important}
.modal-backdrop{background:rgba(15,23,42,.62)!important;backdrop-filter:blur(6px)!important}
.swal2-popup.nl-modal-popup,
.swal2-popup{
  border-radius:24px!important;
  padding:24px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
}
.swal2-title{font-size:20px!important;line-height:1.25!important;font-weight:800!important;color:var(--nl-heading)!important}
.swal2-html-container{margin:8px 0 0!important;font-size:14px!important;color:var(--nl-muted)!important}
@media(max-width:767.98px){
  .modal.nl-form-modal,
  .modal.modal-form,
  .modal:has(form){padding:12px!important}
  .modal.nl-form-modal .modal-dialog,
  .modal.modal-form .modal-dialog,
  .modal:has(form) .modal-dialog{margin:.75rem auto!important;max-width:100%!important}
  .modal.nl-form-modal .modal-body,
  .modal.modal-form .modal-body,
  .modal:has(form) .modal-body,
  .modal-edit-user .modal-body{padding:20px!important}
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
  .modal.modal-form .modal-body > form > .col-12.text-center:last-child,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child{align-items:stretch!important;flex-direction:column-reverse!important}
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
  .modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{width:100%!important;justify-content:center!important}
}

/* Nova-Life UI V35 - final TailAdmin cards, alerts, compact form modals and searchable selects. */
/* Statistic cards: stable TailAdmin-style decorative shape, clipped correctly. */
.nl-stat-card,
.card:has(> .card-body .card-icon),
.card:has(> .card-body .card-info){
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
  clip-path:inset(0 round 22px)!important;
  background:var(--nl-card)!important;
}
.nl-stat-card > .card-body,
.card:has(> .card-body .card-icon) > .card-body,
.card:has(> .card-body .card-info) > .card-body{
  position:relative!important;
  z-index:1!important;
  min-height:112px!important;
  padding:24px 26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:hidden!important;
}
.nl-stat-card > .card-body:before,
.card:has(> .card-body .card-icon) > .card-body:before,
.card:has(> .card-body .card-info) > .card-body:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:37%!important;
  min-width:132px!important;
  height:100%!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 22px 22px 98px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-stat-card > .card-body:before,
html[data-theme=dark] .card:has(> .card-body .card-icon) > .card-body:before,
html[data-theme=dark] .card:has(> .card-body .card-info) > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.19),rgba(124,140,255,.11))!important;
}
.nl-stat-card > .card-body:after,
.card:has(> .card-body .card-icon) > .card-body:after,
.card:has(> .card-body .card-info) > .card-body:after{content:none!important;display:none!important}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title{position:relative!important;z-index:2!important;min-width:0!important}
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon .badge,
.card:has(> .card-body .card-icon) .card-icon .badge{
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
/* Cards with a CTA keep their footer; cards without CTA keep their natural height. */
.nl-casier-stats{align-items:flex-start!important}
.nl-casier-stats > [class*="col-"]{display:block!important;align-self:flex-start!important}
.nl-casier-stats .nl-casier-card{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)){
  height:auto!important;
  align-self:flex-start!important;
}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{min-height:112px!important}
.nl-casier-stats .nl-casier-card.nl-has-card-footer,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer){min-height:152px!important}
.nl-casier-card-footer{position:relative!important;z-index:2!important;background:transparent!important}
@media(max-width:767.98px){
  .nl-stat-card > .card-body,
  .card:has(> .card-body .card-icon) > .card-body,
  .card:has(> .card-body .card-info) > .card-body{min-height:104px!important;padding:20px!important}
  .nl-stat-card > .card-body:before,
  .card:has(> .card-body .card-icon) > .card-body:before,
  .card:has(> .card-body .card-info) > .card-body:before{width:42%!important;min-width:118px!important;border-radius:0 22px 22px 80px!important}
}

/* TailAdmin Alerts component - success, warning, error and info variants. */
.alert.ta-alert,
.alert{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  width:100%!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.ta-alert-icon{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:20px!important;
  line-height:1!important;
}
.ta-alert-content{min-width:0!important;flex:1 1 auto!important;color:var(--nl-text)!important}
.ta-alert-content .alert-heading,.alert.ta-alert .alert-heading{margin:0 0 4px!important;font-size:15px!important;line-height:1.35!important;font-weight:800!important;color:var(--nl-heading)!important}
.alert.ta-alert p,.alert.ta-alert span,.alert.ta-alert strong{color:inherit!important}
.alert-success,.alert.ta-alert-success{border-color:rgba(18,183,106,.28)!important;background:rgba(18,183,106,.10)!important}.alert-success .ta-alert-icon,.ta-alert-success .ta-alert-icon{color:var(--nl-success)!important;background:rgba(18,183,106,.14)!important}
.alert-warning,.alert.ta-alert-warning{border-color:rgba(247,144,9,.30)!important;background:rgba(247,144,9,.12)!important}.alert-warning .ta-alert-icon,.ta-alert-warning .ta-alert-icon{color:var(--nl-warning)!important;background:rgba(247,144,9,.16)!important}
.alert-danger,.alert-error,.alert.ta-alert-error,.alert.ta-alert-danger{border-color:rgba(240,68,56,.30)!important;background:rgba(240,68,56,.11)!important}.alert-danger .ta-alert-icon,.alert-error .ta-alert-icon,.ta-alert-error .ta-alert-icon,.ta-alert-danger .ta-alert-icon{color:var(--nl-danger)!important;background:rgba(240,68,56,.15)!important}
.alert-info,.alert-primary,.alert.ta-alert-info{border-color:rgba(14,165,233,.28)!important;background:rgba(14,165,233,.10)!important}.alert-info .ta-alert-icon,.alert-primary .ta-alert-icon,.ta-alert-info .ta-alert-icon{color:var(--nl-info)!important;background:rgba(14,165,233,.14)!important}
.alert .btn-close{position:absolute!important;top:12px!important;right:12px!important;width:30px!important;height:30px!important;min-width:30px!important;border-radius:10px!important}

/* Form-in-modal: compact TailAdmin modal style. */
.modal.nl-form-modal .modal-dialog,
.modal.modal-form .modal-dialog,
.modal:has(form) .modal-dialog,
.modal-dialog.modal-edit-user,
.modal-dialog.modal-simple{
  max-width:760px!important;
  margin:1.5rem auto!important;
  min-height:calc(100% - 3rem)!important;
  display:flex!important;
  align-items:center!important;
}
.modal.nl-form-modal .modal-content,
.modal.modal-form .modal-content,
.modal:has(form) .modal-content,
.modal-edit-user .modal-content,
.modal-simple .modal-content{
  border-radius:20px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  box-shadow:0 20px 60px rgba(15,23,42,.18),0 8px 20px rgba(15,23,42,.10)!important;
  overflow:visible!important;
}
html[data-theme=dark] .modal.nl-form-modal .modal-content,
html[data-theme=dark] .modal.modal-form .modal-content,
html[data-theme=dark] .modal:has(form) .modal-content,
html[data-theme=dark] .modal-edit-user .modal-content,
html[data-theme=dark] .modal-simple .modal-content{box-shadow:0 24px 80px rgba(0,0,0,.42)!important}
.modal.nl-form-modal .modal-body,
.modal.modal-form .modal-body,
.modal:has(form) .modal-body,
.modal-edit-user .modal-body,
.modal-simple .modal-body{padding:22px 24px!important;border-radius:20px!important}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
.modal.modal-form .modal-body > form > .text-center:first-of-type,
.modal:has(form) .modal-body > form > .text-center:first-of-type,
.modal-edit-user .modal-body > form > .text-center:first-of-type{
  margin:0 48px 20px 0!important;
  padding:0!important;
  border:0!important;
  text-align:left!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h3,
.modal.modal-form .modal-body > form > .text-center:first-of-type h3,
.modal:has(form) .modal-body > form > .text-center:first-of-type h3,
.modal-edit-user .modal-body > form > .text-center:first-of-type h3{font-size:18px!important;line-height:1.35!important;font-weight:800!important;margin:0!important}
.modal.nl-form-modal .form-label,
.modal.modal-form .form-label,
.modal:has(form) .form-label,
.modal-edit-user .form-label{font-size:13px!important;font-weight:700!important;margin-bottom:7px!important;color:var(--nl-heading)!important}
.modal.nl-form-modal .form-control,
.modal.nl-form-modal .form-select,
.modal.nl-form-modal .ta-select-button,
.modal.modal-form .form-control,
.modal.modal-form .form-select,
.modal.modal-form .ta-select-button,
.modal:has(form) .form-control,
.modal:has(form) .form-select,
.modal:has(form) .ta-select-button,
.modal-edit-user .form-control,
.modal-edit-user .form-select,
.modal-edit-user .ta-select-button{min-height:42px!important;border-radius:12px!important;font-size:14px!important;font-weight:600!important;padding:9px 13px!important;background:var(--nl-panel)!important;border-color:var(--nl-border)!important;box-shadow:none!important}
.modal.nl-form-modal textarea.form-control,
.modal.modal-form textarea.form-control,
.modal:has(form) textarea.form-control,
.modal-edit-user textarea.form-control{min-height:84px!important}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child,
.modal.nl-form-modal .nl-form-modal-actions{
  margin-top:20px!important;
  padding-top:16px!important;
  border-top:1px solid var(--nl-border)!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{min-height:40px!important;border-radius:12px!important;padding:9px 16px!important;font-size:14px!important;font-weight:700!important}

/* Searchable TailAdmin select menus. */
.ta-select-search{position:sticky!important;top:0!important;z-index:2!important;padding:4px 4px 8px!important;background:var(--nl-panel)!important}
.ta-select-search-input{width:100%!important;min-height:38px!important;border:1px solid var(--nl-border)!important;border-radius:12px!important;background:var(--nl-card)!important;color:var(--nl-text)!important;padding:8px 11px 8px 34px!important;font-size:13px!important;font-weight:600!important;outline:0!important;box-shadow:none!important}
.ta-select-search:before{content:"\ea9a"!important;font-family:"tabler-icons"!important;position:absolute!important;left:16px!important;top:14px!important;color:var(--nl-muted)!important;font-size:16px!important;pointer-events:none!important}
.ta-select-search-input:focus{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.ta-select-menu .ta-select-empty{display:none!important;padding:10px 12px!important;color:var(--nl-muted)!important;font-size:13px!important;font-weight:700!important;text-align:center!important}
.ta-select-menu.is-search-empty .ta-select-empty{display:block!important}

/* =========================
   Nova-Life UI V36
   - TailAdmin exact-like Alert component
   - TailAdmin Form in Modal skin
   - Header-style stat card background, applied on the whole card
   ========================= */

/* Stat cards: use the same corner surface as the TailAdmin/Nova header card.
   The surface is attached to the card itself so it fills the full right edge,
   including cards with a footer button and cards without one. */
.nl-stat-card,
.card:has(> .card-body .card-icon),
.card:has(> .card-body .card-info){
  position:relative!important;
  overflow:hidden!important;
  border-radius:24px!important;
  clip-path:inset(0 round 24px)!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  isolation:isolate!important;
  contain:paint!important;
}
.nl-stat-card:before,
.card:has(> .card-body .card-icon):before,
.card:has(> .card-body .card-info):before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-stat-card:before,
html[data-theme=dark] .card:has(> .card-body .card-icon):before,
html[data-theme=dark] .card:has(> .card-body .card-info):before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-stat-card > .card-body,
.card:has(> .card-body .card-icon) > .card-body,
.card:has(> .card-body .card-info) > .card-body{
  position:relative!important;
  z-index:1!important;
  min-height:112px!important;
  padding:24px 26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
  isolation:auto!important;
}
.nl-stat-card > .card-body:before,
.nl-stat-card > .card-body:after,
.card:has(> .card-body .card-icon) > .card-body:before,
.card:has(> .card-body .card-icon) > .card-body:after,
.card:has(> .card-body .card-info) > .card-body:before,
.card:has(> .card-body .card-info) > .card-body:after,
.nl-stat-card .card-icon:before,
.card:has(> .card-body .card-icon) .card-icon:before,
.card:has(> .card-body .card-info) .card-info:before{
  content:none!important;
  display:none!important;
}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title,
.nl-stat-card .card-info,
.card:has(> .card-body .card-info) .card-info,
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-stat-card .card-title,
.card:has(> .card-body .card-icon) .card-title,
.card:has(> .card-body .card-info) .card-title{
  min-width:0!important;
  max-width:calc(100% - 78px)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
}
.nl-stat-card .card-icon,
.card:has(> .card-body .card-icon) .card-icon{
  position:relative!important;
  z-index:3!important;
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-stat-card .card-icon .badge,
.card:has(> .card-body .card-icon) .card-icon .badge{
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.nl-stat-card .card-footer,
.nl-stat-card .nl-casier-card-footer,
.card:has(> .card-body .card-icon) .card-footer,
.card:has(> .card-body .card-icon) .nl-casier-card-footer{
  position:relative!important;
  z-index:2!important;
  padding:0 20px 20px!important;
  margin:0!important;
  border-top:0!important;
  background:transparent!important;
}
.nl-casier-stats{align-items:flex-start!important}
.nl-casier-stats > [class*="col-"]{align-self:flex-start!important}
.nl-casier-stats .nl-casier-card{height:auto!important;min-height:0!important}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{min-height:112px!important}
.nl-casier-stats .nl-casier-card.nl-has-card-footer,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer){min-height:0!important}
@media(max-width:767.98px){
  .nl-stat-card,
  .card:has(> .card-body .card-icon),
  .card:has(> .card-body .card-info){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-stat-card:before,
  .card:has(> .card-body .card-icon):before,
  .card:has(> .card-body .card-info):before{width:clamp(128px,42%,190px)!important;border-radius:0 22px 22px 88px!important}
  .nl-stat-card > .card-body,
  .card:has(> .card-body .card-icon) > .card-body,
  .card:has(> .card-body .card-info) > .card-body{min-height:104px!important;padding:20px!important}
  .nl-stat-card .card-icon,
  .card:has(> .card-body .card-icon) .card-icon,
  .nl-stat-card .card-icon .badge,
  .card:has(> .card-body .card-icon) .card-icon .badge{width:48px!important;height:48px!important;min-width:48px!important;flex-basis:48px!important}
}

/* TailAdmin Alerts component. Mirrors the TailAdmin alert partials: rounded-xl,
   colored border/background, 24px status icon without a filled circle, title and
   description typography. */
.alert,
.alert.ta-alert{
  position:relative!important;
  display:block!important;
  width:100%!important;
  margin-bottom:1rem!important;
  padding:16px!important;
  border-radius:12px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
}
.alert.ta-alert{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
}
.alert .ta-alert-icon,
.alert.ta-alert .ta-alert-icon{
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  margin-top:-2px!important;
  border-radius:0!important;
  background:transparent!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:24px!important;
  line-height:1!important;
}
.alert .ta-alert-icon .ti,
.alert.ta-alert .ta-alert-icon .ti{font-size:24px!important;line-height:1!important}
.alert .ta-alert-content,
.alert.ta-alert .ta-alert-content{min-width:0!important;flex:1 1 auto!important;color:var(--nl-muted)!important;font-size:14px!important;line-height:1.45!important;font-weight:500!important}
.alert .alert-heading,
.alert.ta-alert .alert-heading,
.alert .ta-alert-content > h4,
.alert.ta-alert .ta-alert-content > h4{
  margin:0 0 4px!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.alert .ta-alert-content p,
.alert.ta-alert .ta-alert-content p,
.alert .ta-alert-content span,
.alert.ta-alert .ta-alert-content span{margin:0!important;color:var(--nl-muted)!important;font-size:14px!important;line-height:1.45!important;font-weight:500!important}
.alert .ta-alert-content a,
.alert.ta-alert .ta-alert-content a{display:inline-block!important;margin-top:12px!important;color:var(--nl-muted)!important;text-decoration:underline!important;font-size:14px!important;font-weight:600!important}
.alert-success,
.alert.ta-alert-success{border-color:rgba(18,183,106,.70)!important;background:rgba(18,183,106,.10)!important}
.alert-success .ta-alert-icon,
.alert.ta-alert-success .ta-alert-icon{color:var(--nl-success)!important}
.alert-warning,
.alert.ta-alert-warning{border-color:rgba(247,144,9,.70)!important;background:rgba(247,144,9,.12)!important}
.alert-warning .ta-alert-icon,
.alert.ta-alert-warning .ta-alert-icon{color:var(--nl-warning)!important}
.alert-danger,
.alert-error,
.alert.ta-alert-error,
.alert.ta-alert-danger{border-color:rgba(240,68,56,.70)!important;background:rgba(240,68,56,.11)!important}
.alert-danger .ta-alert-icon,
.alert-error .ta-alert-icon,
.alert.ta-alert-error .ta-alert-icon,
.alert.ta-alert-danger .ta-alert-icon{color:var(--nl-danger)!important}
.alert-info,
.alert-primary,
.alert.ta-alert-info{border-color:rgba(14,165,233,.70)!important;background:rgba(14,165,233,.10)!important}
.alert-info .ta-alert-icon,
.alert-primary .ta-alert-icon,
.alert.ta-alert-info .ta-alert-icon{color:var(--nl-info)!important}
.alert .btn-close{top:10px!important;right:10px!important;width:30px!important;height:30px!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important}

/* TailAdmin Form in Modal. Based on TailAdmin's form modal wrapper:
   max-w-[700px], rounded-3xl, p-4 / lg:p-11, close button in a rounded circle,
   h-11 fields and compact footer actions. */
.modal.nl-form-modal,
.modal.modal-form,
.modal:has(form){
  padding:20px!important;
  background:rgba(15,23,42,.54)!important;
}
.modal.nl-form-modal .modal-dialog,
.modal.modal-form .modal-dialog,
.modal:has(form) .modal-dialog,
.modal-dialog.modal-edit-user,
.modal-dialog.modal-simple{
  max-width:700px!important;
  width:100%!important;
  margin:1.5rem auto!important;
  min-height:calc(100% - 3rem)!important;
  display:flex!important;
  align-items:center!important;
}
.modal.nl-form-modal .modal-content,
.modal.modal-form .modal-content,
.modal:has(form) .modal-content,
.modal-edit-user .modal-content,
.modal-simple .modal-content{
  position:relative!important;
  width:100%!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-radius:24px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.42)!important;
  padding:44px!important;
}
.modal.nl-form-modal .modal-header,
.modal.modal-form .modal-header,
.modal:has(form) .modal-header{
  min-height:0!important;
  padding:0 56px 0 0!important;
  margin:0 0 24px!important;
  border:0!important;
  background:transparent!important;
}
.modal.nl-form-modal .modal-title,
.modal.modal-form .modal-title,
.modal:has(form) .modal-title{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.modal.nl-form-modal .modal-body,
.modal.modal-form .modal-body,
.modal:has(form) .modal-body,
.modal-edit-user .modal-body,
.modal-simple .modal-body{
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
.modal.modal-form .modal-body > form > .text-center:first-of-type,
.modal:has(form) .modal-body > form > .text-center:first-of-type,
.modal-edit-user .modal-body > form > .text-center:first-of-type{
  margin:0 56px 28px 0!important;
  padding:0!important;
  border:0!important;
  text-align:left!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h3,
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h4,
.modal.modal-form .modal-body > form > .text-center:first-of-type h3,
.modal.modal-form .modal-body > form > .text-center:first-of-type h4,
.modal:has(form) .modal-body > form > .text-center:first-of-type h3,
.modal:has(form) .modal-body > form > .text-center:first-of-type h4,
.modal-edit-user .modal-body > form > .text-center:first-of-type h3,
.modal-edit-user .modal-body > form > .text-center:first-of-type h4{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type p,
.modal.modal-form .modal-body > form > .text-center:first-of-type p,
.modal:has(form) .modal-body > form > .text-center:first-of-type p{margin:8px 0 0!important;color:var(--nl-muted)!important;font-size:14px!important;font-weight:500!important;line-height:1.5!important}
.modal.nl-form-modal .row,
.modal.modal-form .row,
.modal:has(form) .row,
.modal-edit-user .row{--bs-gutter-x:24px!important;--bs-gutter-y:20px!important}
.modal.nl-form-modal .form-label,
.modal.modal-form .form-label,
.modal:has(form) .form-label,
.modal-edit-user .form-label{
  display:block!important;
  margin-bottom:6px!important;
  color:var(--nl-muted)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:600!important;
}
.modal.nl-form-modal .form-control,
.modal.nl-form-modal .form-select,
.modal.nl-form-modal .ta-select-button,
.modal.modal-form .form-control,
.modal.modal-form .form-select,
.modal.modal-form .ta-select-button,
.modal:has(form) .form-control,
.modal:has(form) .form-select,
.modal:has(form) .ta-select-button,
.modal-edit-user .form-control,
.modal-edit-user .form-select,
.modal-edit-user .ta-select-button{
  min-height:44px!important;
  height:auto!important;
  border-radius:8px!important;
  border:1px solid var(--nl-border)!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  padding:10px 16px!important;
  font-size:14px!important;
  font-weight:500!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.modal.nl-form-modal .form-control:focus,
.modal.nl-form-modal .form-select:focus,
.modal.nl-form-modal .ta-select-button:focus,
.modal.modal-form .form-control:focus,
.modal.modal-form .form-select:focus,
.modal.modal-form .ta-select-button:focus,
.modal:has(form) .form-control:focus,
.modal:has(form) .form-select:focus,
.modal:has(form) .ta-select-button:focus{
  border-color:var(--nl-primary)!important;
  box-shadow:var(--nl-ring)!important;
}
.modal.nl-form-modal textarea.form-control,
.modal.modal-form textarea.form-control,
.modal:has(form) textarea.form-control,
.modal-edit-user textarea.form-control{min-height:96px!important;resize:vertical!important}
.modal.nl-form-modal .btn-close,
.modal.modal-form .btn-close,
.modal:has(form) .btn-close,
.modal-edit-user .btn-close{
  position:absolute!important;
  top:20px!important;
  right:20px!important;
  z-index:20!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(102,112,133,.10)!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
  opacity:1!important;
}
.modal.nl-form-modal .btn-close:hover,
.modal.modal-form .btn-close:hover,
.modal:has(form) .btn-close:hover,
.modal-edit-user .btn-close:hover{background:rgba(102,112,133,.16)!important;color:var(--nl-heading)!important;transform:none!important}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child,
.modal.nl-form-modal .nl-form-modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:24px!important;
  padding:0!important;
  border:0!important;
  text-align:right!important;
}
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
.modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn,
.modal.nl-form-modal .nl-form-modal-actions .btn{
  min-height:44px!important;
  border-radius:8px!important;
  padding:10px 16px!important;
  font-size:14px!important;
  font-weight:600!important;
  margin:0!important;
}
.modal-footer{padding:24px 0 0!important;border:0!important;background:transparent!important}
.modal-backdrop{background:rgba(15,23,42,.54)!important;backdrop-filter:blur(32px)!important;opacity:1!important}
@media(max-width:767.98px){
  .modal.nl-form-modal,
  .modal.modal-form,
  .modal:has(form){padding:16px!important}
  .modal.nl-form-modal .modal-dialog,
  .modal.modal-form .modal-dialog,
  .modal:has(form) .modal-dialog{margin:.75rem auto!important;max-width:100%!important}
  .modal.nl-form-modal .modal-content,
  .modal.modal-form .modal-content,
  .modal:has(form) .modal-content,
  .modal-edit-user .modal-content,
  .modal-simple .modal-content{padding:20px!important;border-radius:20px!important;max-height:calc(100vh - 24px)!important}
  .modal.nl-form-modal .btn-close,
  .modal.modal-form .btn-close,
  .modal:has(form) .btn-close,
  .modal-edit-user .btn-close{top:14px!important;right:14px!important;width:40px!important;height:40px!important;min-width:40px!important}
  .modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
  .modal.modal-form .modal-body > form > .text-center:first-of-type,
  .modal:has(form) .modal-body > form > .text-center:first-of-type,
  .modal-edit-user .modal-body > form > .text-center:first-of-type{margin-right:48px!important;margin-bottom:22px!important}
  .modal.nl-form-modal .modal-body > form > .text-center:first-of-type h3,
  .modal.modal-form .modal-body > form > .text-center:first-of-type h3,
  .modal:has(form) .modal-body > form > .text-center:first-of-type h3,
  .modal-edit-user .modal-body > form > .text-center:first-of-type h3{font-size:20px!important}
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
  .modal.modal-form .modal-body > form > .col-12.text-center:last-child,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child{align-items:stretch!important;flex-direction:column-reverse!important}
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
  .modal.modal-form .modal-body > form > .col-12.text-center:last-child .btn,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{width:100%!important;justify-content:center!important}
}

/* Searchable select menu final behavior. */
.ta-select-menu{z-index:2000!important}
.ta-select-search{position:sticky!important;top:0!important;z-index:3!important;margin:-4px -4px 8px!important;padding:8px!important;background:var(--nl-panel)!important;border-bottom:1px solid var(--nl-border)!important}
.ta-select-search-input{width:100%!important;min-height:38px!important;border:1px solid var(--nl-border)!important;border-radius:8px!important;background:var(--nl-card)!important;color:var(--nl-text)!important;padding:8px 11px 8px 34px!important;font-size:13px!important;font-weight:500!important;outline:0!important;box-shadow:none!important}
.ta-select-search:before{content:"\ea9a"!important;font-family:"tabler-icons"!important;position:absolute!important;left:18px!important;top:17px!important;color:var(--nl-muted)!important;font-size:16px!important;pointer-events:none!important}
.ta-select-search-input:focus{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.ta-select-option.is-hidden{display:none!important}
.ta-select-empty{display:none!important;padding:10px 12px!important;color:var(--nl-muted)!important;font-size:13px!important;font-weight:700!important;text-align:center!important}
.ta-select-menu.is-search-empty .ta-select-empty{display:block!important}

/* =========================
   Nova-Life UI V37
   - Restore the clear separator between stat-card content and CTA buttons.
   - Reuse the centered TailAdmin action-band design on all legacy centered button rows.
   ========================= */

.nl-stat-card .card-footer,
.nl-stat-card .nl-casier-card-footer,
.card:has(> .card-body .card-icon) .card-footer,
.card:has(> .card-body .card-icon) .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  margin:0!important;
  padding:14px 20px 20px!important;
  border-top:1px solid var(--nl-border)!important;
  background:linear-gradient(180deg,rgba(102,112,133,.03),rgba(102,112,133,.065))!important;
}
html:not([data-theme=dark]) .nl-stat-card .card-footer,
html:not([data-theme=dark]) .nl-stat-card .nl-casier-card-footer,
html:not([data-theme=dark]) .card:has(> .card-body .card-icon) .card-footer,
html:not([data-theme=dark]) .card:has(> .card-body .card-icon) .nl-casier-card-footer{
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(249,250,251,.88))!important;
}
.nl-stat-card .card-footer .btn,
.nl-stat-card .nl-casier-card-footer .btn,
.card:has(> .card-body .card-icon) .card-footer .btn,
.card:has(> .card-body .card-icon) .nl-casier-card-footer .btn{
  min-height:40px!important;
  border-radius:14px!important;
  justify-content:center!important;
}
.nl-stat-card .card-footer .btn-primary,
.nl-stat-card .nl-casier-card-footer .btn-primary,
.card:has(> .card-body .card-icon) .card-footer .btn-primary,
.card:has(> .card-body .card-icon) .nl-casier-card-footer .btn-primary{
  color:#fff!important;
}

.nl-casier-action-band,
.nl-action-band{
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 1.5rem!important;
  padding:9px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2))!important;
  box-shadow:var(--nl-shadow-sm)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  --bs-gutter-x:0!important;
  --bs-gutter-y:0!important;
}
.nl-action-band > [class*="col-"],
.nl-action-band > .col,
.nl-action-band > .col-auto,
.nl-action-band > form,
.nl-casier-action-band > [class*="col-"],
.nl-casier-action-band > .col,
.nl-casier-action-band > .col-auto,
.nl-casier-action-band > form{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nl-action-band .btn,
.nl-casier-action-band .btn{
  min-height:40px!important;
  border-radius:14px!important;
  padding:9px 14px!important;
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  margin:0!important;
}
.nl-action-band + br,
.nl-casier-action-band + br{
  display:none!important;
}
@media(max-width:767.98px){
  .nl-casier-action-band,
  .nl-action-band{
    width:100%!important;
    align-items:stretch!important;
  }
  .nl-action-band > [class*="col-"],
  .nl-action-band > .col,
  .nl-action-band > .col-auto,
  .nl-action-band > form,
  .nl-casier-action-band > [class*="col-"],
  .nl-casier-action-band > .col,
  .nl-casier-action-band > .col-auto,
  .nl-casier-action-band > form{
    width:100%!important;
  }
  .nl-action-band .btn,
  .nl-casier-action-band .btn{
    width:100%!important;
  }
}


/* =========================
   Nova-Life UI V38
   - Casier stat cards: decorative shape stops before CTA footer.
   - Server tabs: remove server-only rounding so tabs match the rest of TailAdmin.
   ========================= */
.nl-casier-stats .nl-casier-card.nl-stat-card:before,
.nl-casier-stats .nl-casier-card:has(> .card-body .card-icon):before{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  overflow:hidden!important;
  border-radius:24px 24px 0 0!important;
}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{
  border-radius:24px!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
  display:block!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card > .card-body > *{
  position:relative!important;
  z-index:2!important;
}
.nl-page-serveur .card .nav-tabs,
.nl-page-serveur .card .card-header-tabs{
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  border-bottom:0!important;
}
.nl-page-serveur .card-header:has(.nav-tabs),
.nl-page-serveur .card-header:has(.card-header-tabs){
  display:flex!important;
  align-items:flex-end!important;
  gap:10px!important;
  padding:14px 16px 0!important;
  background:var(--nl-panel-2)!important;
}
.nl-page-serveur .card .nav-tabs .nav-link,
.nl-page-serveur .card .card-header-tabs .nav-link{
  border-radius:14px 14px 0 0!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card > .card-body{border-radius:22px 22px 0 0!important}
  .nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{border-radius:22px!important}
  .nl-casier-stats .nl-casier-card > .card-body:before{width:clamp(128px,42%,190px)!important;border-radius:0 22px 22px 88px!important}
  .nl-page-serveur .card-header:has(.nav-tabs),
  .nl-page-serveur .card-header:has(.card-header-tabs){display:block!important}
}


/* =========================
   Nova-Life UI V39
   - Casier stat cards: keep the decorative surface inside the content area only,
     with an opaque CTA footer so the shape never bleeds behind buttons.
   - Server tabs: revert server-specific tab overrides to the shared TailAdmin tab skin.
   - Form modals: normalize every modal containing a form to the TailAdmin Form in Modal spacing.
   ========================= */

/* Casier cards with CTA footer */
.nl-casier-stats .nl-casier-card.nl-has-card-footer,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer){
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  contain:paint!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer):before,
.nl-casier-stats .nl-casier-card.nl-has-card-footer .card-icon:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) .card-icon:before{
  content:none!important;
  display:none!important;
  opacity:0!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body{
  flex:0 0 auto!important;
  min-height:112px!important;
  border-radius:24px 24px 0 0!important;
  overflow:hidden!important;
  background:transparent!important;
  contain:paint!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
  display:block!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
html[data-theme=dark] .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body > *,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body > *{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .nl-casier-card-footer,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .nl-casier-card-footer{
  position:relative!important;
  z-index:8!important;
  flex:0 0 auto!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  border-radius:0 0 24px 24px!important;
  background:var(--nl-card)!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{
  min-height:112px!important;
  border-radius:24px!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body{border-radius:22px 22px 0 0!important;min-height:104px!important}
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{width:clamp(128px,42%,190px)!important;border-radius:0 22px 22px 88px!important}
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .nl-casier-card-footer,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .nl-casier-card-footer{border-radius:0 0 22px 22px!important}
}

/* Server page: use the same card tabs as the rest of the app. */
.nl-page-serveur .card-header:has(.nav-tabs),
.nl-page-serveur .card-header:has(.card-header-tabs){
  display:block!important;
  align-items:initial!important;
  gap:0!important;
  padding:18px 22px!important;
  background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2))!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-page-serveur .card-header .nav-tabs,
.nl-page-serveur .card-header .card-header-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  overflow-x:auto!important;
  margin:-18px -22px 0!important;
  padding:12px 14px 0!important;
  border-radius:0!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:var(--nl-panel-2)!important;
}
.nl-page-serveur .card-header .nav-tabs .nav-link,
.nl-page-serveur .card-header .card-header-tabs .nav-link{
  border-bottom-left-radius:0!important;
  border-bottom-right-radius:0!important;
  border-top-left-radius:14px!important;
  border-top-right-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
  border-bottom:0!important;
}
.nl-page-serveur .card-header .nav-tabs .nav-link.active,
.nl-page-serveur .card-header .card-header-tabs .nav-link.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;
  border-color:transparent!important;
  box-shadow:0 12px 24px rgba(70,95,255,.25)!important;
}

/* TailAdmin Form in Modal: final global pass for every modal containing a form. */
.modal.nl-form-modal .modal-dialog,
.modal:has(form) .modal-dialog,
.modal-dialog.modal-edit-user,
.modal-dialog.modal-simple{
  max-width:700px!important;
  width:100%!important;
}
.modal.nl-form-modal .modal-content,
.modal:has(form) .modal-content,
.modal-edit-user .modal-content,
.modal-simple .modal-content{
  position:relative!important;
  padding:44px!important;
  border-radius:24px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.42)!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.modal.nl-form-modal .modal-header,
.modal:has(form) .modal-header{
  padding:0 56px 0 0!important;
  margin:0 0 24px!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
}
.modal.nl-form-modal .modal-title,
.modal:has(form) .modal-title{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.modal.nl-form-modal .modal-body,
.modal:has(form) .modal-body,
.modal-edit-user .modal-body,
.modal-simple .modal-body{
  padding:0!important;
  background:transparent!important;
}
.modal.nl-form-modal .modal-body > form,
.modal:has(form) .modal-body > form{
  margin:0!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
.modal:has(form) .modal-body > form > .text-center:first-of-type,
.modal-edit-user .modal-body > form > .text-center:first-of-type{
  text-align:left!important;
  margin:0 56px 28px 0!important;
  padding:0!important;
}
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h3,
.modal.nl-form-modal .modal-body > form > .text-center:first-of-type h4,
.modal:has(form) .modal-body > form > .text-center:first-of-type h3,
.modal:has(form) .modal-body > form > .text-center:first-of-type h4,
.modal-edit-user .modal-body > form > .text-center:first-of-type h3,
.modal-edit-user .modal-body > form > .text-center:first-of-type h4{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.modal.nl-form-modal .form-label,
.modal:has(form) .form-label,
.modal-edit-user .form-label{
  display:block!important;
  margin-bottom:6px!important;
  color:var(--nl-muted)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:600!important;
}
.modal.nl-form-modal .form-control,
.modal.nl-form-modal .form-select,
.modal.nl-form-modal .ta-select-button,
.modal:has(form) .form-control,
.modal:has(form) .form-select,
.modal:has(form) .ta-select-button,
.modal-edit-user .form-control,
.modal-edit-user .form-select,
.modal-edit-user .ta-select-button{
  min-height:44px!important;
  border-radius:8px!important;
  border:1px solid var(--nl-border)!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  padding:10px 16px!important;
  font-size:14px!important;
  font-weight:500!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.modal.nl-form-modal textarea.form-control,
.modal:has(form) textarea.form-control,
.modal-edit-user textarea.form-control{
  min-height:96px!important;
  resize:vertical!important;
}
.modal.nl-form-modal .row,
.modal:has(form) .row,
.modal-edit-user .row{
  --bs-gutter-x:24px!important;
  --bs-gutter-y:20px!important;
}
.modal.nl-form-modal .btn-close,
.modal:has(form) .btn-close,
.modal-edit-user .btn-close{
  position:absolute!important;
  top:20px!important;
  right:20px!important;
  z-index:20!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(102,112,133,.10)!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
}
.modal.nl-form-modal .modal-footer,
.modal:has(form) .modal-footer,
.modal.nl-form-modal .nl-form-modal-actions,
.modal:has(form) .nl-form-modal-actions,
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:24px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:right!important;
}
.modal.nl-form-modal .modal-footer .btn,
.modal:has(form) .modal-footer .btn,
.modal.nl-form-modal .nl-form-modal-actions .btn,
.modal:has(form) .nl-form-modal-actions .btn,
.modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
.modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
.modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{
  min-height:44px!important;
  border-radius:8px!important;
  padding:10px 16px!important;
  font-size:14px!important;
  font-weight:600!important;
  margin:0!important;
}
@media(max-width:767.98px){
  .modal.nl-form-modal .modal-content,
  .modal:has(form) .modal-content,
  .modal-edit-user .modal-content,
  .modal-simple .modal-content{padding:20px!important;border-radius:20px!important;max-height:calc(100vh - 24px)!important}
  .modal.nl-form-modal .modal-body > form > .text-center:first-of-type,
  .modal:has(form) .modal-body > form > .text-center:first-of-type,
  .modal-edit-user .modal-body > form > .text-center:first-of-type{margin-right:48px!important;margin-bottom:22px!important}
  .modal.nl-form-modal .modal-footer,
  .modal:has(form) .modal-footer,
  .modal.nl-form-modal .nl-form-modal-actions,
  .modal:has(form) .nl-form-modal-actions,
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child{align-items:stretch!important;flex-direction:column-reverse!important}
  .modal.nl-form-modal .modal-footer .btn,
  .modal:has(form) .modal-footer .btn,
  .modal.nl-form-modal .nl-form-modal-actions .btn,
  .modal:has(form) .nl-form-modal-actions .btn,
  .modal.nl-form-modal .modal-body > form > .col-12.text-center:last-child .btn,
  .modal:has(form) .modal-body > form > .col-12.text-center:last-child .btn,
  .modal-edit-user .modal-body > form > .col-12.text-center:last-child .btn{width:100%!important;justify-content:center!important}
}

/* V39.1 - server tabs fallback for browsers without :has(). */
.nl-page-serveur .card > .card-header{
  display:block!important;
  padding:18px 22px!important;
  background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2))!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-page-serveur .card > .card-header > .nav-tabs,
.nl-page-serveur .card > .card-header > .card-header-tabs{
  margin:-18px -22px 0!important;
  padding:12px 14px 0!important;
  border-bottom:1px solid var(--nl-border)!important;
  border-radius:0!important;
  background:var(--nl-panel-2)!important;
}

/* =========================
   Nova-Life UI V40
   - Casier stat cards with CTA: decorative shape exactly matches cards without CTA.
   - Server page tabs: use the shared rounded TailAdmin pill tabs, no clipped first tab.
   - Casier Convocation/Avis modals: exact TailAdmin Form in Modal sizing.
   ========================= */

/* Casier cards: cards with a footer clip the decorative shape with the same
   rounded body as cards without a footer. The footer stays opaque below it. */
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer):before,
.nl-casier-stats .nl-casier-card.nl-has-card-footer:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) .card-icon:before,
.nl-casier-stats .nl-casier-card.nl-has-card-footer .card-icon:before{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  position:relative!important;
  min-height:112px!important;
  overflow:hidden!important;
  border-radius:24px!important;
  clip-path:inset(0 round 24px)!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
  display:block!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card > .card-body > *{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  border-radius:0!important;
  background:var(--nl-card)!important;
  background-clip:padding-box!important;
  overflow:visible!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card > .card-body{
    min-height:104px!important;
    border-radius:22px!important;
    clip-path:inset(0 round 22px)!important;
  }
  .nl-casier-stats .nl-casier-card > .card-body:before{
    width:clamp(128px,42%,190px)!important;
    border-radius:0 22px 22px 88px!important;
  }
}

/* Server cards: all card-header tabs are rendered like the rounded TailAdmin
   tab groups used elsewhere, avoiding the clipped/odd first active tab. */
.nl-page-serveur .card > .card-header{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:14px!important;
  border-bottom:1px solid var(--nl-border)!important;
  border-top-left-radius:24px!important;
  border-top-right-radius:24px!important;
  background:var(--nl-card)!important;
  overflow:visible!important;
}
.nl-page-serveur .card > .card-header > .nav-tabs,
.nl-page-serveur .card > .card-header > .card-header-tabs,
.nl-page-serveur .card > .card-header > .nl-card-tabs{
  display:inline-flex!important;
  flex:0 1 auto!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:6px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.nl-page-serveur .card > .card-header > .nav-tabs .nav-item,
.nl-page-serveur .card > .card-header > .card-header-tabs .nav-item,
.nl-page-serveur .card > .card-header > .nl-card-tabs .nav-item{
  flex:0 0 auto!important;
}
.nl-page-serveur .card > .card-header > .nav-tabs .nav-link,
.nl-page-serveur .card > .card-header > .card-header-tabs .nav-link,
.nl-page-serveur .card > .card-header > .nl-card-tabs .nav-link{
  min-height:38px!important;
  padding:9px 13px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.nl-page-serveur .card > .card-header > .nav-tabs .nav-link:hover,
.nl-page-serveur .card > .card-header > .card-header-tabs .nav-link:hover,
.nl-page-serveur .card > .card-header > .nl-card-tabs .nav-link:hover{
  color:var(--nl-primary)!important;
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-primary-soft)!important;
}
.nl-page-serveur .card > .card-header > .nav-tabs .nav-link.active,
.nl-page-serveur .card > .card-header > .card-header-tabs .nav-link.active,
.nl-page-serveur .card > .card-header > .nl-card-tabs .nav-link.active{
  color:#fff!important;
  border-color:transparent!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;
  box-shadow:0 10px 20px rgba(70,95,255,.22)!important;
}

/* Form in Modal exact pass for the two casier form modals. */
#convocationModal .modal-dialog,
#avisModal .modal-dialog{
  max-width:700px!important;
  width:100%!important;
}
#convocationModal .modal-content,
#avisModal .modal-content{
  position:relative!important;
  padding:44px!important;
  border-radius:24px!important;
  border:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.42)!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#convocationModal .modal-header,
#avisModal .modal-header{
  padding:0 56px 0 0!important;
  margin:0 0 24px!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
}
#convocationModal .modal-title,
#avisModal .modal-title{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
#convocationModal .modal-body,
#avisModal .modal-body{
  padding:0!important;
  background:transparent!important;
}
#convocationModal .btn-close,
#avisModal .btn-close{
  position:absolute!important;
  top:20px!important;
  right:20px!important;
  z-index:20!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(102,112,133,.10)!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
}
@media(max-width:767.98px){
  #convocationModal .modal-content,
  #avisModal .modal-content{
    padding:20px!important;
    border-radius:20px!important;
    max-height:calc(100vh - 24px)!important;
  }
}


/* =========================
   Nova-Life UI V41
   - Casier stat cards: a single decorative layer, clipped to the stat body only.
   - Server cards: tabs use the same TailAdmin pill skin as the rest of the app.
   - Infraction searchable select: prevent duplicated search inputs.
   ========================= */

/* Casier cards: keep only the original rounded/soft decorative shape and stop it
   exactly at the bottom of the stat body, never behind the CTA footer. */
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card,
.nl-casier-stats .nl-casier-card:has(> .card-body .card-icon){
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
}
.nl-casier-stats .nl-casier-card:before,
.nl-casier-stats .nl-casier-card:after,
.nl-casier-stats .nl-casier-card > .card-body:after,
.nl-casier-stats .nl-casier-card .card-icon:before,
.nl-casier-stats .nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
  opacity:0!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  position:relative!important;
  z-index:1!important;
  flex:0 0 auto!important;
  min-height:112px!important;
  padding:24px 26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:hidden!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
  display:block!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card > .card-body > *{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body{
  border-radius:24px 24px 0 0!important;
}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{
  border-radius:24px!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 20px 20px!important;
  border-top:1px solid var(--nl-border)!important;
  border-radius:0 0 24px 24px!important;
  background:var(--nl-card)!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer:before,
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer:after{
  content:none!important;
  display:none!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card,
  .nl-casier-stats .nl-casier-card:has(> .card-body .card-icon){border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-casier-stats .nl-casier-card > .card-body{min-height:104px!important;padding:20px!important}
  .nl-casier-stats .nl-casier-card > .card-body:before{width:clamp(128px,42%,190px)!important;border-radius:0 22px 22px 88px!important}
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body{border-radius:22px 22px 0 0!important}
  .nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{border-radius:22px!important}
  .nl-casier-stats .nl-casier-card > .nl-casier-card-footer{border-radius:0 0 22px 22px!important}
}

/* Server tabs: stop using the attached Bootstrap tab shape on this page. */
.nl-page-serveur .card > .card-header{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:14px!important;
  background:linear-gradient(180deg,var(--nl-panel),var(--nl-panel-2))!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-page-serveur .card > .card-header > .nav,
.nl-page-serveur .card > .card-header > .nav-pills,
.nl-page-serveur .card > .card-header > .nl-card-tabs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-page-serveur .card > .card-header > .nav .nav-item{
  flex:0 0 auto!important;
  width:auto!important;
}
.nl-page-serveur .card > .card-header > .nav .nav-link{
  min-height:38px!important;
  padding:9px 13px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.nl-page-serveur .card > .card-header > .nav .nav-link:hover{
  color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
}
.nl-page-serveur .card > .card-header > .nav .nav-link.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;
  box-shadow:0 10px 20px rgba(70,95,255,.22)!important;
}

/* Searchable select guard: if an old enhancement runs twice, only the final
   TailAdmin search field remains visible and interactive. */
.ta-select-menu > .ta-select-search ~ .ta-select-search,
.ta-select-menu > .ta-select-empty ~ .ta-select-empty{
  display:none!important;
}

/* =========================
   Nova-Life UI V42
   - Casier cards: restore one legacy decorative shape on every stat card.
   - Infraction modal: dedicated searchable select, without duplicated search bars.
   ========================= */

/* Casier cards: a single decorative layer on the stat body only. */
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
  contain:paint!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card:before,
.nl-casier-stats .nl-casier-card:after,
.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card .card-icon:before,
.nl-casier-stats .nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  position:relative!important;
  z-index:1!important;
  flex:0 0 auto!important;
  min-height:112px!important;
  padding:24px 26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:hidden!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
  display:block!important;
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:after{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card > .card-body > *{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body{
  border-radius:24px 24px 0 0!important;
}
.nl-casier-stats .nl-casier-card.nl-no-card-footer > .card-body,
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{
  border-radius:24px!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 20px 20px!important;
  border-top:1px solid var(--nl-border)!important;
  border-radius:0 0 24px 24px!important;
  background:var(--nl-card)!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer:before,
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer:after{
  content:none!important;
  display:none!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card{border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-casier-stats .nl-casier-card > .card-body{min-height:104px!important;padding:20px!important}
  .nl-casier-stats .nl-casier-card > .card-body:after{width:clamp(128px,42%,190px)!important;border-radius:0 22px 22px 88px!important}
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body{border-radius:22px 22px 0 0!important}
  .nl-casier-stats .nl-casier-card.nl-no-card-footer > .card-body,
  .nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body{border-radius:22px!important}
  .nl-casier-stats .nl-casier-card > .nl-casier-card-footer{border-radius:0 0 22px 22px!important}
}

/* Dedicated infraction picker. The native select remains authoritative for form submit. */
#delitModal select[name^="motif"].nl-infraction-native,
#delitModal select[name^="motif"].ta-select-hidden{
  display:none!important;
}
.nl-infraction-picker{
  position:relative!important;
  width:100%!important;
  display:block!important;
}
.nl-infraction-picker .ta-select-button{
  width:100%!important;
}
.nl-infraction-menu{
  position:fixed!important;
  z-index:3000!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:14px!important;
  background:var(--nl-panel)!important;
  box-shadow:0 24px 60px rgba(16,24,40,.18)!important;
  overflow:auto!important;
  scrollbar-width:thin!important;
}
html[data-theme=dark] .nl-infraction-menu{box-shadow:0 24px 60px rgba(0,0,0,.44)!important}
.nl-infraction-search{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  margin:-4px -4px 8px!important;
  padding:8px!important;
  background:var(--nl-panel)!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-infraction-search:before{
  content:"\ea9a"!important;
  font-family:"tabler-icons"!important;
  position:absolute!important;
  left:18px!important;
  top:17px!important;
  color:var(--nl-muted)!important;
  font-size:16px!important;
  pointer-events:none!important;
}
.nl-infraction-search-input{
  width:100%!important;
  min-height:38px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:8px!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  padding:8px 11px 8px 34px!important;
  font-size:13px!important;
  font-weight:500!important;
  outline:0!important;
  box-shadow:none!important;
}
.nl-infraction-search-input:focus{border-color:var(--nl-primary)!important;box-shadow:var(--nl-ring)!important}
.nl-infraction-option{
  width:100%!important;
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  font-size:13px!important;
  font-weight:700!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:background-color .15s ease,color .15s ease,transform .15s ease!important;
}
.nl-infraction-option:hover,
.nl-infraction-option:focus{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;outline:0!important;transform:translateX(1px)!important}
.nl-infraction-option.is-selected{background:rgba(70,95,255,.10)!important;color:var(--nl-primary)!important}
.nl-infraction-option.is-hidden{display:none!important}
.nl-infraction-check{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:18px!important;height:18px!important;color:var(--nl-primary)!important;opacity:0!important}
.nl-infraction-option.is-selected .nl-infraction-check{opacity:1!important}
.nl-infraction-empty{display:none!important;padding:10px 12px!important;color:var(--nl-muted)!important;font-size:13px!important;font-weight:700!important;text-align:center!important}
.nl-infraction-menu.is-search-empty .nl-infraction-empty{display:block!important}

/* V42 fallback without :has(): keeps the final casier shape rules valid everywhere. */
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body{border-radius:24px 24px 0 0!important}
.nl-casier-stats .nl-casier-card.nl-no-card-footer > .card-body,
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer) > .card-body{border-radius:24px!important}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body{border-radius:22px 22px 0 0!important}
  .nl-casier-stats .nl-casier-card.nl-no-card-footer > .card-body,
  .nl-casier-stats .nl-casier-card:not(.nl-has-card-footer) > .card-body{border-radius:22px!important}
}


/* =========================
   Nova-Life UI V43
   - Casier: retour au fond standard des cartes statistiques.
   - Modal infraction: input TailAdmin/datalist natif, sans menu custom flottant.
   - Règlement: onglets horizontaux.
   ========================= */
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  isolation:isolate!important;
  contain:paint!important;
}
.nl-casier-stats .nl-casier-card:before,
.nl-casier-stats .nl-casier-card.nl-stat-card:before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(150px,38%,250px)!important;
  height:100%!important;
  border-radius:0 24px 24px 108px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.24),rgba(70,95,255,.14))!important;
  pointer-events:none!important;
  display:block!important;
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card:before,
html[data-theme=dark] .nl-casier-stats .nl-casier-card.nl-stat-card:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  position:relative!important;
  z-index:1!important;
  min-height:112px!important;
  padding:24px 26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
  isolation:auto!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card > .card-body:after,
.nl-casier-stats .nl-casier-card .card-icon:before,
.nl-casier-stats .nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card > .card-body > *,
.nl-casier-stats .nl-casier-card .card-title,
.nl-casier-stats .nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:1!important;
  padding:0 20px 20px!important;
  margin:0!important;
  border-top:0!important;
  background:transparent!important;
  border-radius:0!important;
}
#delitModal .ta-select-shell,
#delitModal .ta-select-menu,
#delitModal .nl-infraction-picker,
body > .nl-infraction-menu{
  display:none!important;
}
#delitModal .nl-infraction-input{
  width:100%!important;
}
#delitModal .form-text{
  display:block!important;
  margin-top:6px!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:600!important;
}
#delitModal .nl-infraction-divider hr{
  margin:20px 0!important;
}
.nl-reglement-layout{
  row-gap:16px!important;
}
.nl-reglement-layout .nl-reglement-tabs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:20px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  scrollbar-width:thin!important;
}
.nl-reglement-layout .nl-reglement-tabs .nav-item{
  flex:0 0 auto!important;
  width:auto!important;
}
.nl-reglement-layout .nl-reglement-tabs .nav-link{
  width:auto!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  justify-content:center!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card{border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-casier-stats .nl-casier-card:before,
  .nl-casier-stats .nl-casier-card.nl-stat-card:before{border-radius:0 22px 22px 88px!important;width:clamp(128px,42%,190px)!important}
  .nl-casier-stats .nl-casier-card > .card-body{min-height:104px!important;padding:20px!important}
}

/* =========================
   Nova-Life UI V44
   - Casier: fond des cartes statistiques remis sur le motif standard TailAdmin.
   - Modal infraction: select searchable intégré, sans menu flottant body/fixed.
   - Règlement: toolbar, accordéons et flèches harmonisés.
   ========================= */
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:24px!important;
  overflow:hidden!important;
  clip-path:none!important;
  contain:none!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-casier-stats .nl-casier-card:before,
.nl-casier-stats .nl-casier-card.nl-stat-card:before{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card > .card-body{
  position:relative!important;
  z-index:1!important;
  min-height:112px!important;
  padding:22px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-92px!important;
  right:-64px!important;
  width:205px!important;
  height:205px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(124,140,255,.30),rgba(70,95,255,.16))!important;
  z-index:0!important;
  pointer-events:none!important;
}
.nl-casier-stats .nl-casier-card > .card-body:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-36px!important;
  right:28px!important;
  width:74px!important;
  height:74px!important;
  border-radius:999px!important;
  background:rgba(124,140,255,.10)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.nl-casier-stats .nl-casier-card .card-title,
.nl-casier-stats .nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  background:linear-gradient(180deg,rgba(102,112,133,.03),rgba(102,112,133,.07))!important;
  border-radius:0!important;
  overflow:visible!important;
}
html:not([data-theme=dark]) .nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  background:linear-gradient(180deg,rgba(249,250,251,.2),rgba(249,250,251,.86))!important;
}

#delitModal .nl-infraction-select{
  position:relative!important;
  width:100%!important;
}
#delitModal .nl-infraction-select-toggle{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 42px 10px 14px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:12px!important;
  background-color:var(--nl-card)!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
#delitModal .nl-infraction-select-toggle:focus,
#delitModal .nl-infraction-select.is-open .nl-infraction-select-toggle{
  border-color:var(--nl-primary)!important;
  box-shadow:var(--nl-ring)!important;
}
#delitModal .nl-infraction-select-label{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#delitModal .nl-infraction-select-menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  z-index:1085!important;
  display:none!important;
  max-height:min(360px,45vh)!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  box-shadow:0 20px 48px rgba(16,24,40,.18)!important;
  overflow:hidden!important;
}
html[data-theme=dark] #delitModal .nl-infraction-select-menu{
  box-shadow:0 20px 48px rgba(0,0,0,.45)!important;
}
#delitModal .nl-infraction-select.is-open .nl-infraction-select-menu{
  display:block!important;
}
#delitModal .nl-infraction-select-search{
  position:relative!important;
  margin-bottom:8px!important;
}
#delitModal .nl-infraction-select-search i{
  position:absolute!important;
  left:13px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  color:var(--nl-muted)!important;
  font-size:17px!important;
  pointer-events:none!important;
}
#delitModal .nl-infraction-select-search-input{
  width:100%!important;
  min-height:40px!important;
  padding:9px 12px 9px 38px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:12px!important;
  background:var(--nl-card)!important;
  color:var(--nl-text)!important;
  font-size:13px!important;
  font-weight:600!important;
  outline:0!important;
  box-shadow:none!important;
}
#delitModal .nl-infraction-select-search-input:focus{
  border-color:var(--nl-primary)!important;
  box-shadow:var(--nl-ring)!important;
}
#delitModal .nl-infraction-select-options{
  max-height:276px!important;
  overflow:auto!important;
  padding-right:3px!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--nl-border) transparent!important;
}
#delitModal .nl-infraction-select-option{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:background-color .15s ease,color .15s ease,transform .15s ease!important;
}
#delitModal .nl-infraction-select-option:hover,
#delitModal .nl-infraction-select-option:focus{
  outline:0!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  transform:translateX(1px)!important;
}
#delitModal .nl-infraction-select-option.is-selected{
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
}
#delitModal .nl-infraction-select-option.is-hidden{
  display:none!important;
}
#delitModal .nl-infraction-select-option-text{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
#delitModal .nl-infraction-select-option-text strong{
  color:inherit!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.04em!important;
}
#delitModal .nl-infraction-select-option-text small{
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#delitModal .nl-infraction-select-option:hover small,
#delitModal .nl-infraction-select-option.is-selected small{
  color:inherit!important;
}
#delitModal .nl-infraction-select-option > i{
  flex:0 0 auto!important;
  color:var(--nl-primary)!important;
  opacity:0!important;
  font-size:18px!important;
}
#delitModal .nl-infraction-select-option.is-selected > i{
  opacity:1!important;
}
#delitModal .nl-infraction-select-empty{
  display:none!important;
  padding:12px!important;
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:700!important;
  text-align:center!important;
}
#delitModal .nl-infraction-select.is-empty .nl-infraction-select-empty{
  display:block!important;
}
#delitModal .nl-infraction-select.is-empty .nl-infraction-select-options{
  display:none!important;
}

.nl-reglement-toolbar{
  display:flex!important;
  align-items:stretch!important;
  gap:12px!important;
  padding:12px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-reglement-toolbar .input-wrapper{
  flex:1 1 auto!important;
  min-width:240px!important;
  margin:0!important;
}
.nl-reglement-toolbar-actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.nl-reglement-toolbar-actions .btn{
  min-height:44px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
}
.nl-reglement-layout{
  margin-top:0!important;
  row-gap:18px!important;
}
.nl-reglement-layout .tab-content{
  padding-top:0!important;
}
.nl-reglement-layout .tab-pane > .d-flex.mb-3{
  align-items:center!important;
  padding:18px 20px!important;
  margin-bottom:14px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.05))!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-reglement-layout .accordion{
  gap:12px!important;
}
.nl-reglement-layout .accordion-button:after{
  content:""!important;
  width:9px!important;
  height:9px!important;
  margin-left:auto!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  transform:rotate(45deg)!important;
  transition:transform .18s ease!important;
  background:none!important;
  font-family:inherit!important;
  flex:0 0 9px!important;
}
.nl-reglement-layout .accordion-button:not(.collapsed):after{
  transform:rotate(225deg)!important;
}
.nl-reglement-layout .accordion-button{
  min-height:54px!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card{border-radius:22px!important}
  .nl-casier-stats .nl-casier-card > .card-body{min-height:104px!important;padding:20px!important}
  .nl-casier-stats .nl-casier-card > .card-body:before{top:-82px!important;right:-72px!important;width:190px!important;height:190px!important}
  .nl-reglement-toolbar{display:grid!important}
  .nl-reglement-toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .nl-reglement-toolbar-actions .btn{width:100%!important;justify-content:center!important}
}
#delitModal .nl-infraction-select-toggle.is-invalid{
  border-color:var(--nl-danger)!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.12)!important;
}

/* Catalogue tapis TailAdmin carousel */
.nl-catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.nl-catalogue-card{overflow:hidden;border:1px solid var(--nl-border);border-radius:var(--nl-radius-2xl);background:var(--nl-panel);box-shadow:var(--nl-shadow-sm)}.nl-catalogue-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--nl-border)}.nl-catalogue-eyebrow,.nl-catalogue-current-label{display:block;margin-bottom:4px;color:var(--nl-muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.nl-catalogue-card-header h5{margin:0;color:var(--nl-heading);font-size:18px;font-weight:900}.nl-catalogue-count{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border:1px solid var(--nl-border);border-radius:999px;background:var(--nl-soft);color:var(--nl-muted);font-size:12px;font-weight:900;white-space:nowrap}.nl-tailadmin-carousel{padding:14px;background:var(--nl-panel)}.nl-tailadmin-carousel .carousel-inner{aspect-ratio:16/10;border-radius:22px;background:var(--nl-soft);box-shadow:inset 0 0 0 1px var(--nl-border)}.nl-tailadmin-carousel .carousel-item{height:100%}.nl-tailadmin-carousel .carousel-item.active{height:100%}.nl-tailadmin-carousel .carousel-item img{height:100%;object-fit:cover}.nl-tailadmin-carousel .carousel-control-prev,.nl-tailadmin-carousel .carousel-control-next{top:50%;bottom:auto;width:42px;height:42px;margin:0 18px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(15,23,42,.62);box-shadow:0 10px 30px rgba(15,23,42,.22);backdrop-filter:blur(10px);opacity:1;transition:var(--nl-transition)}.nl-tailadmin-carousel .carousel-control-prev:hover,.nl-tailadmin-carousel .carousel-control-next:hover{background:rgba(15,23,42,.82);transform:translateY(-50%) scale(1.04)}.nl-tailadmin-carousel .carousel-control-prev{left:0}.nl-tailadmin-carousel .carousel-control-next{right:0}.nl-tailadmin-carousel .carousel-control-prev-icon,.nl-tailadmin-carousel .carousel-control-next-icon{width:22px;height:22px;background:transparent;color:#fff}.nl-tailadmin-carousel .carousel-control-prev-icon:before,.nl-tailadmin-carousel .carousel-control-next-icon:before{font-family:inherit;font-size:28px;line-height:.75}.nl-tailadmin-carousel .carousel-control-prev-icon:before{content:"‹"}.nl-tailadmin-carousel .carousel-control-next-icon:before{content:"›"}.nl-tailadmin-carousel .carousel-indicators{bottom:24px;gap:7px;margin:0;align-items:center}.nl-tailadmin-carousel .carousel-indicators [data-bs-target]{width:8px;height:8px;margin:0;border:0;border-radius:999px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.25);opacity:.55;transition:var(--nl-transition)}.nl-tailadmin-carousel .carousel-indicators .active{width:24px;opacity:1}.nl-catalogue-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-top:1px solid var(--nl-border);background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04))}.nl-catalogue-current-title{display:block;color:var(--nl-heading);font-size:16px;font-weight:900}.nl-copy-link-btn{display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap}.nl-copy-link-btn-copied{background:var(--nl-success)!important;border-color:var(--nl-success)!important}@media (max-width:991.98px){.nl-catalogue-grid{grid-template-columns:1fr}}@media (max-width:575.98px){.nl-catalogue-card-header,.nl-catalogue-card-footer{align-items:flex-start;flex-direction:column}.nl-copy-link-btn{width:100%;justify-content:center}.nl-tailadmin-carousel{padding:10px}.nl-tailadmin-carousel .carousel-inner{aspect-ratio:4/3}}

/* =========================
   Nova-Life UI V46
   - Catalogue tapis fade transition.
   - TailAdmin-style cards, info lists and tables on personnage/entreprise.
   ========================= */
.nl-tailadmin-carousel.carousel-fade .carousel-inner{position:relative!important;overflow:hidden!important}
.nl-tailadmin-carousel.carousel-fade .carousel-item{position:absolute!important;inset:0!important;display:block!important;float:none!important;margin-right:0!important;opacity:0!important;transform:none!important;transition:opacity .45s ease-in-out!important;z-index:0!important}
.nl-tailadmin-carousel.carousel-fade .carousel-item.active{position:relative!important;opacity:1!important;z-index:1!important}
.nl-tailadmin-carousel.carousel-fade .carousel-item-next.carousel-item-start,
.nl-tailadmin-carousel.carousel-fade .carousel-item-prev.carousel-item-end{opacity:1!important;z-index:2!important}
.nl-tailadmin-carousel.carousel-fade .active.carousel-item-start,
.nl-tailadmin-carousel.carousel-fade .active.carousel-item-end{opacity:0!important;z-index:1!important}

.nl-user-hero-card{overflow:hidden!important;border:1px solid var(--nl-border)!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important}
.nl-user-hero-card .user-profile-header{position:relative!important;min-height:168px!important;margin:0!important;padding:26px 28px!important;overflow:hidden!important;border-radius:0!important;background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.08))!important;border:0!important}
.nl-user-hero-card .user-profile-header:after{content:""!important;position:absolute!important;right:-68px!important;top:-82px!important;width:230px!important;height:230px!important;border-radius:999px!important;background:rgba(124,140,255,.16)!important;pointer-events:none!important}
.nl-user-hero-card .user-profile-header>*{position:relative!important;z-index:2!important}
.nl-user-hero-card .user-profile-img{width:118px!important;height:118px!important;object-fit:cover!important;border-radius:28px!important;border:5px solid var(--nl-card)!important;box-shadow:var(--nl-shadow)!important;background:var(--nl-card)!important}
.nl-user-hero-card .user-profile-info h4{margin:0 0 12px!important;color:var(--nl-heading)!important;font-size:clamp(24px,2vw,30px)!important;font-weight:900!important;letter-spacing:-.03em!important}
.nl-user-hero-card .list-inline{gap:8px!important}
.nl-user-hero-card .list-inline-item{min-height:34px!important;padding:8px 11px!important;border:1px solid var(--nl-border)!important;border-radius:999px!important;background:rgba(102,112,133,.06)!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:800!important}
.nl-user-hero-card #connectionStatusButton{min-height:42px!important;border-radius:14px!important;box-shadow:0 12px 28px rgba(70,95,255,.22)!important;white-space:nowrap!important}

.nl-profile-dashboard{row-gap:24px!important}
.nl-profile-dashboard>.col-xl-4,
.nl-profile-dashboard>.col-xl-8{min-width:0!important}
.nl-tailadmin-info-card,
.nl-tailadmin-summary-card,
.nl-tailadmin-members-card,
.nl-tailadmin-table-card{border:1px solid var(--nl-border)!important;border-radius:24px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important;overflow:hidden!important;transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important}
.nl-tailadmin-info-card:hover,
.nl-tailadmin-summary-card:hover,
.nl-tailadmin-members-card:hover,
.nl-tailadmin-table-card:hover{border-color:var(--nl-border-2)!important;box-shadow:var(--nl-shadow)!important;transform:translateY(-1px)!important}
.nl-tailadmin-info-card .card-body{padding:24px!important}
.nl-tailadmin-info-card .card-text.text-uppercase{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 12px!important;color:var(--nl-heading)!important;font-size:13px!important;font-weight:900!important;letter-spacing:.08em!important}
.nl-tailadmin-info-card .card-text.text-uppercase:before{content:""!important;width:10px!important;height:10px!important;border-radius:999px!important;background:var(--nl-primary)!important;box-shadow:0 0 0 5px var(--nl-primary-soft)!important}
.nl-tailadmin-info-card .list-unstyled{display:grid!important;gap:10px!important;margin:0 0 22px!important;padding:0!important}
.nl-tailadmin-info-card .list-unstyled:last-child{margin-bottom:0!important}
.nl-tailadmin-info-card .list-unstyled>li{display:grid!important;grid-template-columns:40px minmax(120px,1fr) minmax(0,auto)!important;align-items:center!important;gap:12px!important;min-height:58px!important;margin:0!important;padding:12px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(102,112,133,.045),rgba(102,112,133,.02))!important}
.nl-tailadmin-info-card .list-unstyled>li>i{width:40px!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;border-radius:14px!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;font-size:19px!important}
.nl-tailadmin-info-card .list-unstyled>li>.fw-bold{margin:0!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.nl-tailadmin-info-card .list-unstyled>li>span:not(.fw-bold){min-width:0!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:800!important;text-align:right!important;overflow-wrap:anywhere!important}
.nl-tailadmin-info-card .list-unstyled>li:has(.ti-file-description){grid-template-columns:40px 1fr!important;align-items:start!important}
.nl-tailadmin-info-card .list-unstyled>li:has(.ti-file-description)>span:not(.fw-bold){grid-column:2!important;text-align:left!important;line-height:1.5!important}

.nl-tailadmin-summary-card>.card-header,
.nl-tailadmin-members-card>.card-header,
.nl-tailadmin-table-card .card-datatable>.card-body:first-child{padding:18px 22px!important;border-bottom:1px solid var(--nl-border)!important;background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.05))!important}
.nl-tailadmin-summary-card>.card-header h5,
.nl-tailadmin-members-card>.card-header h5,
.nl-tailadmin-table-card h5{margin:0!important;color:var(--nl-heading)!important;font-size:17px!important;font-weight:900!important;letter-spacing:-.01em!important}
.nl-tailadmin-summary-card>.card-body{padding:20px 22px!important}
.nl-tailadmin-metric-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.nl-tailadmin-metric-list>li{display:flex!important;align-items:center!important;gap:12px!important;min-height:78px!important;margin:0!important;padding:14px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:rgba(102,112,133,.045)!important}
.nl-tailadmin-metric-list>li>.badge{width:42px!important;height:42px!important;min-width:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;border-radius:14px!important}
.nl-tailadmin-metric-list>li>.d-flex{min-width:0!important;flex:1 1 auto!important;align-items:flex-start!important;gap:8px!important}
.nl-tailadmin-metric-list>li h6{margin:0!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.nl-tailadmin-metric-list>li p{margin:0!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:900!important;text-align:right!important;overflow-wrap:anywhere!important}
.nl-inner-table-wrap{border-top:1px solid var(--nl-border)!important;background:var(--nl-card)!important}
.nl-inner-table-wrap .card-body{padding:18px 22px!important;background:var(--nl-card)!important;border-bottom:1px solid var(--nl-border)!important}
.nl-tailadmin-table-card .card-datatable{overflow-x:auto!important;scrollbar-width:thin!important;scrollbar-color:var(--nl-border-2) transparent!important}
.nl-tailadmin-table-card .tailadmin-data-table,
.nl-inner-table-wrap .tailadmin-data-table{margin:0!important;background:transparent!important}
.nl-tailadmin-table-card .tailadmin-data-table tbody tr:hover,
.nl-inner-table-wrap .tailadmin-data-table tbody tr:hover{background:var(--nl-primary-soft)!important}
.nl-compact-table td{font-size:13px!important;font-weight:700!important}
.nl-compact-table td:first-child{color:var(--nl-heading)!important;font-weight:900!important}

.nl-tailadmin-members-card .card-body{padding:20px 22px!important}
.nl-tailadmin-member-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.nl-tailadmin-member-list>li{margin:0!important;padding:14px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:rgba(102,112,133,.045)!important;transition:background var(--nl-transition-fast),border-color var(--nl-transition-fast),transform var(--nl-transition-fast)!important}
.nl-tailadmin-member-list>li:hover{border-color:var(--nl-primary-border)!important;background:var(--nl-primary-soft)!important;transform:translateY(-1px)!important}
.nl-tailadmin-member-list>li>.d-flex{gap:12px!important}
.nl-tailadmin-member-list>li>.d-flex:before{content:"\eb4d"!important;font-family:"tabler-icons"!important;width:40px!important;height:40px!important;min-width:40px!important;border-radius:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;font-size:19px!important}
.nl-tailadmin-member-list h6{margin:0!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:900!important;overflow-wrap:anywhere!important}
.nl-tailadmin-member-list .badge{border:1px solid currentColor!important;border-radius:999px!important;font-weight:900!important}

@media(max-width:1199.98px){
  .nl-tailadmin-metric-list,
  .nl-tailadmin-member-list{grid-template-columns:1fr!important}
}
@media(max-width:767.98px){
  .nl-user-hero-card .user-profile-header{padding:22px 18px!important}
  .nl-user-hero-card .user-profile-img{width:96px!important;height:96px!important;border-radius:22px!important}
  .nl-tailadmin-info-card .list-unstyled>li{grid-template-columns:38px 1fr!important;align-items:start!important}
  .nl-tailadmin-info-card .list-unstyled>li>span:not(.fw-bold){grid-column:2!important;text-align:left!important}
  .nl-tailadmin-metric-list>li{align-items:flex-start!important;flex-direction:column!important}
  .nl-tailadmin-metric-list>li>.d-flex{width:100%!important}
}

/* =========================
   Nova-Life UI V47
   - Profile pages inspired by TailAdmin User Profile.
   - Keep the original large identity card while modernizing nested cards/lists.
   ========================= */
.nl-tailadmin-profile-page{
  border:1px solid var(--nl-border)!important;
  border-radius:26px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-tailadmin-profile-page:hover{
  transform:none!important;
}
.nl-tailadmin-profile-page>.card-body{
  padding:24px!important;
}
.nl-tailadmin-profile-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:24px!important;
  padding:0 0 22px!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-tailadmin-profile-heading h3{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:20px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.nl-tailadmin-profile-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:8px 13px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.nl-tailadmin-profile-badge i{
  color:var(--nl-primary)!important;
  font-size:16px!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card,
.nl-tailadmin-profile-page .nl-tailadmin-summary-card,
.nl-tailadmin-profile-page .nl-tailadmin-members-card,
.nl-tailadmin-profile-page .nl-tailadmin-table-card{
  border-radius:22px!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card:hover,
.nl-tailadmin-profile-page .nl-tailadmin-summary-card:hover,
.nl-tailadmin-profile-page .nl-tailadmin-members-card:hover,
.nl-tailadmin-profile-page .nl-tailadmin-table-card:hover{
  border-color:var(--nl-border)!important;
  box-shadow:none!important;
  transform:none!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card .card-text.text-uppercase,
.nl-tailadmin-profile-page .nl-tailadmin-summary-card .card-title h5,
.nl-tailadmin-profile-page .nl-tailadmin-members-card .card-action-title,
.nl-tailadmin-profile-page .nl-tailadmin-table-card h5{
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card .card-text.text-uppercase:before{
  width:8px!important;
  height:8px!important;
  box-shadow:0 0 0 4px var(--nl-primary-soft)!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card .list-unstyled{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:16px!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card .list-unstyled>li{
  min-height:74px!important;
  padding:15px!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card .list-unstyled>li>i{
  background:var(--nl-card)!important;
  box-shadow:inset 0 0 0 1px var(--nl-border)!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-info-card .list-unstyled>li>.fw-bold{
  line-height:1.25!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-summary-card>.card-header,
.nl-tailadmin-profile-page .nl-tailadmin-members-card>.card-header,
.nl-tailadmin-profile-page .nl-tailadmin-table-card .card-datatable>.card-body:first-child,
.nl-tailadmin-profile-page .nl-inner-table-wrap .card-body{
  background:transparent!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-metric-list,
.nl-tailadmin-profile-page .nl-tailadmin-member-list{
  gap:14px!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-metric-list>li,
.nl-tailadmin-profile-page .nl-tailadmin-member-list>li{
  min-height:76px!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
}
.nl-tailadmin-profile-page .nl-tailadmin-member-list>li>.d-flex:before,
.nl-tailadmin-profile-page .nl-tailadmin-metric-list>li>.badge{
  box-shadow:inset 0 0 0 1px var(--nl-border)!important;
}
.nl-tailadmin-profile-page .tailadmin-data-table thead th{
  background:var(--nl-panel)!important;
}
.nl-tailadmin-profile-page .tailadmin-data-table tbody td{
  background:transparent!important;
}
@media(max-width:991.98px){
  .nl-tailadmin-profile-page .nl-tailadmin-info-card .list-unstyled{grid-template-columns:1fr!important}
}
@media(max-width:767.98px){
  .nl-tailadmin-profile-page>.card-body{padding:18px!important}
  .nl-tailadmin-profile-heading{align-items:flex-start!important;flex-direction:column!important;margin-bottom:18px!important;padding-bottom:18px!important}
  .nl-tailadmin-profile-badge{width:100%!important}
}

/* =========================
   Nova-Life UI V48
   - Clean TailAdmin profile components for personnage.php and entreprise.php.
   ========================= */
.nl-ta-profile-shell{
  border:1px solid var(--nl-border)!important;
  border-radius:26px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-ta-profile-shell>.card-body{
  padding:24px!important;
}
.nl-ta-profile-shell .row>[class*="col-"]{
  min-width:0!important;
}
.nl-ta-shell-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:24px!important;
  padding-bottom:22px!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-ta-shell-header h3{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.nl-ta-eyebrow{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.nl-ta-header-pill,
.nl-ta-count{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:8px 13px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.nl-ta-header-pill i,
.nl-ta-count i{
  color:var(--nl-primary)!important;
  font-size:16px!important;
}
.nl-ta-stack{
  display:grid!important;
  gap:24px!important;
}
.nl-ta-card{
  height:auto;
  min-width:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
  transition:border-color var(--nl-transition),box-shadow var(--nl-transition),transform var(--nl-transition)!important;
}
.nl-ta-card:hover{
  border-color:var(--nl-border-2)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-ta-card-header{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:78px!important;
  padding:18px 22px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.045))!important;
}
.nl-ta-card-header>div{
  min-width:0!important;
  flex:1 1 auto!important;
}
.nl-ta-card-header h5{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
}
.nl-ta-card-icon,
.nl-ta-kpi-icon,
.nl-ta-member-avatar{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:14px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
}
.nl-ta-card-icon i,
.nl-ta-kpi-icon i,
.nl-ta-member-avatar i{
  font-size:20px!important;
  line-height:1!important;
}
.nl-ta-card-icon-warning,
.nl-ta-kpi-icon-warning{
  border-color:rgba(247,144,9,.28)!important;
  background:rgba(247,144,9,.11)!important;
  color:var(--nl-warning)!important;
}
.nl-ta-kpi-icon-danger{
  border-color:rgba(240,68,56,.28)!important;
  background:rgba(240,68,56,.12)!important;
  color:var(--nl-danger)!important;
}
.nl-ta-kpi-icon-muted{
  border-color:var(--nl-border)!important;
  background:var(--nl-soft)!important;
  color:var(--nl-muted)!important;
}
.nl-ta-detail-grid,
.nl-ta-stat-grid,
.nl-ta-kpi-grid,
.nl-ta-member-grid{
  display:grid!important;
  min-width:0!important;
  gap:14px!important;
  padding:20px 22px!important;
}
.nl-ta-detail-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.nl-ta-stat-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.nl-ta-kpi-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.nl-ta-member-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.nl-ta-detail-item,
.nl-ta-stat-item,
.nl-ta-kpi-item,
.nl-ta-member-item{
  min-width:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-ta-detail-item,
.nl-ta-stat-item{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:82px!important;
  padding:16px!important;
}
.nl-ta-detail-wide,
.nl-ta-stat-wide,
.nl-ta-kpi-wide{
  grid-column:1 / -1!important;
}
.nl-ta-detail-item>span,
.nl-ta-stat-item>span,
.nl-ta-kpi-item span:not(.nl-ta-kpi-icon),
.nl-ta-member-item span:not(.badge):not(.nl-ta-member-avatar){
  display:block!important;
  min-width:0!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
}
.nl-ta-detail-item>strong,
.nl-ta-stat-item>strong,
.nl-ta-kpi-item strong,
.nl-ta-member-item strong{
  display:block!important;
  min-width:0!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.45!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.nl-ta-stat-item>strong{
  font-size:18px!important;
  letter-spacing:-.02em!important;
}
.nl-ta-kpi-item{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:86px!important;
  padding:16px!important;
}
.nl-ta-kpi-item>div{
  min-width:0!important;
  flex:1 1 auto!important;
}
.nl-ta-kpi-item strong{
  margin-top:5px!important;
}
.nl-ta-table-block{
  margin:0 22px 22px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-card)!important;
  overflow:hidden!important;
}
.nl-ta-table-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:16px 18px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:var(--nl-panel)!important;
}
.nl-ta-table-title h5{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:16px!important;
  font-weight:900!important;
}
.nl-ta-table-title span{
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.nl-ta-card>.table-responsive{
  margin:0!important;
}
.nl-ta-profile-shell .tailadmin-data-table{
  margin:0!important;
  background:transparent!important;
}
.nl-ta-profile-shell .tailadmin-data-table thead th{
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.nl-ta-profile-shell .tailadmin-data-table tbody td{
  color:var(--nl-text)!important;
  font-size:13px!important;
  font-weight:700!important;
  vertical-align:middle!important;
}
.nl-ta-profile-shell .tailadmin-data-table tbody tr:hover{
  background:var(--nl-primary-soft)!important;
}
.nl-ta-member-item{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  min-height:78px!important;
  padding:14px!important;
  transition:background var(--nl-transition),border-color var(--nl-transition),transform var(--nl-transition)!important;
}
.nl-ta-member-item:hover{
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-primary-soft)!important;
  transform:translateY(-1px)!important;
}
.nl-ta-member-item>div{
  min-width:0!important;
}
.nl-ta-member-item .badge{
  justify-self:end!important;
  border:1px solid currentColor!important;
  border-radius:999px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.nl-ta-empty-state{
  grid-column:1 / -1!important;
  padding:22px!important;
  border:1px dashed var(--nl-border)!important;
  border-radius:18px!important;
  color:var(--nl-muted)!important;
  text-align:center!important;
  font-weight:800!important;
}
@media(max-width:1199.98px){
  .nl-ta-detail-grid,
  .nl-ta-stat-grid,
  .nl-ta-kpi-grid,
  .nl-ta-member-grid{grid-template-columns:1fr!important}
}
@media(max-width:767.98px){
  .nl-ta-profile-shell>.card-body{padding:18px!important}
  .nl-ta-shell-header{align-items:flex-start!important;flex-direction:column!important;margin-bottom:18px!important;padding-bottom:18px!important}
  .nl-ta-header-pill{width:100%!important}
  .nl-ta-card-header{align-items:flex-start!important;padding:16px!important}
  .nl-ta-detail-grid,
  .nl-ta-stat-grid,
  .nl-ta-kpi-grid,
  .nl-ta-member-grid{padding:16px!important}
  .nl-ta-table-block{margin:0 16px 16px!important}
  .nl-ta-member-item{grid-template-columns:42px minmax(0,1fr)!important}
  .nl-ta-member-item .badge{grid-column:2!important;justify-self:start!important}
}


/* =========================
   Nova-Life UI V49
   - Profile/enterprise tables use the TailAdmin DataTable component.
   - Better proportions for the personnage assets tables.
   ========================= */
.nl-ta-profile-shell .nl-ta-datatable-host,
.nl-ta-profile-shell .card-datatable{
  width:100%!important;
  overflow:visible!important;
  background:transparent!important;
}
.nl-ta-profile-shell .nl-ta-card > .card-datatable{
  border-top:0!important;
}
.nl-ta-profile-shell .ta-datatable3{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nl-ta-profile-shell .ta-datatable3-toolbar{
  padding:16px 18px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
}
.nl-ta-profile-shell .ta-datatable3-table-wrap{
  border-radius:0!important;
  border-inline:0!important;
  background:transparent!important;
  overflow-x:auto!important;
}
.nl-ta-profile-shell .ta-datatable3-footer{
  padding:14px 18px!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
}
.nl-ta-profile-shell .nl-ta-table-block .ta-datatable3-toolbar,
.nl-ta-profile-shell .nl-ta-table-block .ta-datatable3-footer{
  background:var(--nl-panel)!important;
}
.nl-ta-profile-shell .nl-ta-table-block .ta-datatable3-table-wrap{
  border:0!important;
}
.nl-ta-profile-shell .nl-profile-datatable,
.nl-ta-profile-shell .nl-profile-datatable.dataTable{
  width:100%!important;
  min-width:0!important;
}
.nl-ta-profile-shell .nl-ta-areas-card .nl-profile-datatable,
.nl-ta-profile-shell .nl-ta-areas-card .nl-profile-datatable.dataTable{
  min-width:420px!important;
}
.nl-ta-profile-shell .nl-ta-vehicles-card .nl-profile-datatable,
.nl-ta-profile-shell .nl-ta-vehicles-card .nl-profile-datatable.dataTable{
  min-width:720px!important;
}
.nl-ta-table-user{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.nl-ta-table-user>div{
  min-width:0!important;
}
.nl-ta-table-user strong{
  display:block!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
.nl-ta-table-user span:not(.nl-ta-member-avatar){
  display:block!important;
  margin-top:2px!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
}
.nl-ta-rank-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:999px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
@media(min-width:1200px){
  .nl-ta-profile-shell .nl-ta-areas-card .ta-datatable3-table-wrap,
  .nl-ta-profile-shell .nl-ta-areas-card .card-datatable{
    overflow-x:visible!important;
  }
}
@media(max-width:767.98px){
  .nl-ta-profile-shell .nl-profile-datatable,
  .nl-ta-profile-shell .nl-profile-datatable.dataTable{
    min-width:680px!important;
  }
  .nl-ta-profile-shell .nl-ta-areas-card .nl-profile-datatable,
  .nl-ta-profile-shell .nl-ta-areas-card .nl-profile-datatable.dataTable{
    min-width:420px!important;
  }
}


/* =========================
   Nova-Life UI V50
   - Roomier TailAdmin profile cards.
   - Admin joueur/compte/entreprise pages reuse the profile component language.
   ========================= */
.nl-ta-profile-shell{
  padding:0!important;
}
.nl-ta-profile-shell>.card-body{
  padding:32px!important;
}
.nl-ta-profile-shell .nl-ta-shell-header{
  margin:0 0 28px!important;
  padding:0 2px 24px!important;
}
.nl-ta-profile-shell .row.g-4{
  --bs-gutter-x:1.75rem!important;
  --bs-gutter-y:1.75rem!important;
}
.nl-ta-profile-shell .nl-ta-card > .card-datatable,
.nl-ta-profile-shell .nl-ta-card > .nl-ta-datatable-host{
  padding:20px 22px 22px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
}
.nl-ta-profile-shell .nl-ta-card > .card-datatable .ta-datatable3,
.nl-ta-profile-shell .nl-ta-card > .nl-ta-datatable-host .ta-datatable3,
.nl-ta-profile-shell .nl-ta-table-block .card-datatable .ta-datatable3,
.nl-ta-profile-shell .nl-ta-table-block .nl-ta-datatable-host .ta-datatable3{
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
}
.nl-ta-profile-shell .nl-ta-table-block .card-datatable,
.nl-ta-profile-shell .nl-ta-table-block .nl-ta-datatable-host{
  padding:16px!important;
  background:var(--nl-card)!important;
}
.nl-ta-profile-shell .nl-ta-table-block{
  margin:4px 22px 22px!important;
}
.nl-ta-profile-shell .ta-datatable3-toolbar,
.nl-ta-profile-shell .ta-datatable3-footer{
  padding-left:18px!important;
  padding-right:18px!important;
}

.nl-admin-action-bar{
  gap:12px!important;
  margin:0 0 24px!important;
}
.nl-admin-action-bar>[class*="col-"]{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
.nl-admin-action-bar .btn{
  min-height:42px!important;
  border-radius:14px!important;
  padding:10px 14px!important;
  font-weight:800!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-admin-profile-shell{
  background:var(--nl-card)!important;
}
.nl-admin-profile-shell .row>[class*="col-"]{
  min-width:0!important;
  margin-bottom:0!important;
}
.nl-admin-profile-shell .row>[class*="col-"]>.col-xl-12,
.nl-admin-profile-shell .row>[class*="col-"]>.col-md-12,
.nl-admin-profile-shell .row>[class*="col-"]>.col-md-6,
.nl-admin-profile-shell .row>[class*="col-"]>.col-lg-12,
.nl-admin-profile-shell .row>[class*="col-"]>.col-xl-12{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
}
.nl-admin-profile-shell .card:not(.nl-ta-profile-shell){
  height:100%!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-admin-profile-shell .card:not(.nl-ta-profile-shell):hover{
  border-color:var(--nl-border-2)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-admin-profile-shell .card>.card-header,
.nl-admin-profile-shell .card-datatable>.card-body:first-child,
.nl-admin-profile-shell .card>h5.card-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:76px!important;
  padding:18px 22px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.045))!important;
}
.nl-admin-profile-shell .card>.card-header h5,
.nl-admin-profile-shell .card-datatable>.card-body:first-child h5,
.nl-admin-profile-shell .card>h5.card-header{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.nl-admin-profile-shell .card>.card-body:not(:first-child),
.nl-admin-profile-shell .card>.card-body:first-child:not(:only-child),
.nl-admin-profile-shell .card>form,
.nl-admin-profile-shell .card form{
  padding:22px!important;
}
.nl-admin-profile-shell .card>.card-body:first-child:last-child{
  padding:22px!important;
}
.nl-admin-profile-shell .card-body>small.card-text,
.nl-admin-profile-shell .card-body>small.text-uppercase{
  display:block!important;
  margin:0 0 14px!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
}
.nl-admin-profile-shell .card-body>ul.list-unstyled{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0 0 22px!important;
  padding:0!important;
}
.nl-admin-profile-shell .card-body>ul.list-unstyled>li{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:72px!important;
  margin:0!important;
  padding:14px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-admin-profile-shell .card-body>ul.list-unstyled>li>i,
.nl-admin-profile-shell .card-body>ul.p-0>li .badge{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:14px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  padding:0!important;
}
.nl-admin-profile-shell .card-body>ul.list-unstyled>li .fw-bold,
.nl-admin-profile-shell .card-body>ul.p-0>li h6{
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.nl-admin-profile-shell .card-body>ul.list-unstyled>li span:last-child,
.nl-admin-profile-shell .card-body>ul.p-0>li p{
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
}
.nl-admin-profile-shell .card-body>ul.p-0{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
}
.nl-admin-profile-shell .card-body>ul.p-0>li{
  display:flex!important;
  align-items:center!important;
  min-height:82px!important;
  margin:0!important;
  padding:16px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-admin-profile-shell .card-body>ul.p-0>li .w-100,
.nl-admin-profile-shell .card-body>ul.p-0>li .ms-3{
  min-width:0!important;
  flex:1 1 auto!important;
}
.nl-admin-profile-shell .card-datatable{
  padding:20px 22px 22px!important;
  background:var(--nl-card)!important;
}
.nl-admin-profile-shell .card-datatable>.card-body:first-child{
  margin:-20px -22px 20px!important;
}
.nl-admin-profile-shell .card-datatable .ta-datatable3{
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-admin-profile-shell .tailadmin-data-table,
.nl-admin-profile-shell .tailadmin-data-table.dataTable{
  width:100%!important;
  min-width:760px!important;
}
.nl-admin-profile-shell .tailadmin-data-table thead th{
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.nl-admin-profile-shell .tailadmin-data-table tbody td{
  color:var(--nl-text)!important;
  font-size:13px!important;
  font-weight:700!important;
}
.nl-admin-profile-shell .form-label{
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.nl-admin-profile-shell .form-control,
.nl-admin-profile-shell .form-select,
.nl-admin-profile-shell .select2-selection{
  min-height:44px!important;
  border-radius:14px!important;
  border-color:var(--nl-border)!important;
  background:var(--nl-panel)!important;
  color:var(--nl-heading)!important;
  font-weight:700!important;
}

@media(max-width:1199.98px){
  .nl-admin-action-bar>[class*="col-"]{width:100%!important;flex:1 1 220px!important}
  .nl-admin-action-bar .btn{width:100%!important}
  .nl-admin-profile-shell .card-body>ul.list-unstyled,
  .nl-admin-profile-shell .card-body>ul.p-0{grid-template-columns:1fr!important}
}
@media(max-width:767.98px){
  .nl-ta-profile-shell>.card-body{padding:20px!important}
  .nl-ta-profile-shell .nl-ta-card > .card-datatable,
  .nl-ta-profile-shell .nl-ta-card > .nl-ta-datatable-host,
  .nl-ta-profile-shell .nl-ta-table-block .card-datatable,
  .nl-ta-profile-shell .nl-ta-table-block .nl-ta-datatable-host{padding:14px!important}
  .nl-ta-profile-shell .nl-ta-table-block{margin:0 14px 14px!important}
  .nl-admin-profile-shell .card-datatable{padding:14px!important}
  .nl-admin-profile-shell .card-datatable>.card-body:first-child{margin:-14px -14px 14px!important;padding:16px!important}
}

/* =========================
   Nova-Life UI V51
   - Extra spacing fix for personnage.php and entreprise.php profile pages.
   ========================= */
.nl-profile-page{
  padding-inline:18px!important;
}
.nl-profile-page>h4.fw-bold.py-3.mb-4,
.nl-profile-page>.row,
.nl-profile-page>.alert,
.nl-profile-page>.card,
.nl-profile-page>.nav,
.nl-profile-page>.nl-ta-profile-shell{
  max-width:100%!important;
}
.nl-profile-page>.row{
  margin-left:0!important;
  margin-right:0!important;
}
.nl-profile-page>.row>[class*="col-"]{
  padding-left:0!important;
  padding-right:0!important;
}
.nl-profile-page .card:not(.nl-ta-card):not(.nl-ta-profile-shell){
  border-radius:26px!important;
}
.nl-profile-page .card:not(.nl-ta-card):not(.nl-ta-profile-shell)>.card-body,
.nl-profile-page .card:not(.nl-ta-card):not(.nl-ta-profile-shell)>.user-profile-header{
  margin:0!important;
}
.nl-profile-page .nl-ta-profile-shell{
  padding:24px!important;
  border-radius:30px!important;
}
.nl-profile-page .nl-ta-profile-shell>.card-body{
  padding:0!important;
}
.nl-profile-page .nl-ta-shell-header{
  margin:0 0 28px!important;
  padding:0 4px 24px!important;
}
.nl-profile-page .nl-ta-card{
  border-radius:24px!important;
}
.nl-profile-page .nl-ta-card-header{
  padding:22px 24px!important;
}
.nl-profile-page .nl-ta-detail-grid,
.nl-profile-page .nl-ta-stat-grid,
.nl-profile-page .nl-ta-kpi-grid,
.nl-profile-page .nl-ta-member-grid{
  padding:24px!important;
}
.nl-profile-page .nl-ta-card>.card-datatable,
.nl-profile-page .nl-ta-card>.nl-ta-datatable-host,
.nl-profile-page .nl-ta-table-block .card-datatable,
.nl-profile-page .nl-ta-table-block .nl-ta-datatable-host{
  padding:24px!important;
}
.nl-profile-page .nl-ta-table-block{
  margin:8px 24px 24px!important;
}
.nl-profile-page .nl-ta-table-title{
  padding:18px 22px!important;
}
.nl-profile-page .ta-datatable3-toolbar,
.nl-profile-page .ta-datatable3-footer{
  padding-left:22px!important;
  padding-right:22px!important;
}
.nl-profile-page .tailadmin-data-table thead th,
.nl-profile-page .tailadmin-data-table tbody td{
  padding-left:22px!important;
  padding-right:22px!important;
}
@media(max-width:767.98px){
  .nl-profile-page{
    padding-inline:0!important;
  }
  .nl-profile-page .nl-ta-profile-shell{
    padding:18px!important;
  }
  .nl-profile-page .nl-ta-card-header,
  .nl-profile-page .nl-ta-detail-grid,
  .nl-profile-page .nl-ta-stat-grid,
  .nl-profile-page .nl-ta-kpi-grid,
  .nl-profile-page .nl-ta-card>.card-datatable,
  .nl-profile-page .nl-ta-card>.nl-ta-datatable-host,
  .nl-profile-page .nl-ta-table-block .card-datatable,
  .nl-profile-page .nl-ta-table-block .nl-ta-datatable-host{
    padding:18px!important;
  }
  .nl-profile-page .nl-ta-table-block{
    margin:6px 18px 18px!important;
  }
}

/* =========================
   Nova-Life UI V52
   - Fix profile/enterprise pages clipping caused by Bootstrap row negative gutters inside the TailAdmin shell.
   ========================= */
.nl-profile-page{
  padding-inline:24px!important;
  padding-bottom:28px!important;
  overflow:visible!important;
}
.nl-profile-page>.row,
.nl-profile-page>.alert,
.nl-profile-page>h4.fw-bold.py-3.mb-4,
.nl-profile-page>.nl-ta-profile-shell{
  width:100%!important;
  max-width:100%!important;
}
.nl-profile-page .nl-ta-profile-shell{
  overflow:visible!important;
  padding:32px!important;
  border-radius:30px!important;
}
.nl-profile-page .nl-ta-profile-shell>.card-body{
  padding:0!important;
  overflow:visible!important;
}
.nl-profile-page .nl-ta-profile-shell .row.g-4{
  --bs-gutter-x:1.75rem!important;
  --bs-gutter-y:1.75rem!important;
  margin:0!important;
  row-gap:var(--bs-gutter-y)!important;
}
.nl-profile-page .nl-ta-profile-shell .row.g-4>[class*="col-"]{
  margin-top:0!important;
  min-width:0!important;
}
.nl-profile-page .nl-ta-profile-shell .nl-ta-card{
  overflow:hidden!important;
}
.nl-profile-page .nl-ta-profile-shell .nl-ta-card:hover{
  transform:none!important;
}
.nl-profile-page .nl-ta-profile-shell .ta-datatable3,
.nl-profile-page .nl-ta-profile-shell .ta-datatable3-table-wrap{
  max-width:100%!important;
}
@media(max-width:767.98px){
  .nl-profile-page{padding-inline:12px!important;padding-bottom:18px!important}
  .nl-profile-page .nl-ta-profile-shell{padding:18px!important;border-radius:24px!important;overflow:visible!important}
  .nl-profile-page .nl-ta-profile-shell .row.g-4{--bs-gutter-x:0!important;--bs-gutter-y:18px!important}
}

/* =========================
   Nova-Life UI V53
   - Administration player/account/company pages use the same TailAdmin profile blocks.
   ========================= */
.nl-admin-profile-shell .nl-ta-admin-form{
  padding:24px!important;
}
.nl-admin-profile-shell .nl-ta-admin-form textarea.form-control{
  min-height:112px!important;
  resize:vertical!important;
}
.nl-admin-profile-shell .nl-ta-card .select2-container{
  width:100%!important;
}
.nl-admin-profile-shell .nl-ta-card .select2-container--default .select2-selection--single{
  min-height:44px!important;
  border-radius:14px!important;
  border-color:var(--nl-border)!important;
  background:var(--nl-panel)!important;
  display:flex!important;
  align-items:center!important;
}
.nl-admin-profile-shell .nl-ta-card .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--nl-heading)!important;
  font-weight:800!important;
  line-height:44px!important;
  padding-left:14px!important;
}
.nl-admin-profile-shell .nl-ta-card .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:44px!important;
}
@media(max-width:767.98px){
  .nl-admin-profile-shell .nl-ta-admin-form{padding:18px!important}
}
.nl-admin-profile-shell .nl-ta-areas-card .tailadmin-data-table,
.nl-admin-profile-shell .nl-ta-areas-card .tailadmin-data-table.dataTable{
  min-width:420px!important;
}
.nl-admin-profile-shell #adminBizMembersTable,
.nl-admin-profile-shell #adminBizMembersTable.dataTable{
  min-width:640px!important;
}

/* =========================
   Nova-Life UI V54
   - Administration player action card and account identity cleanup.
   ========================= */
.nl-admin-management-card{
  display:flex!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 26px!important;
  padding:10px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-admin-management-card .nl-admin-action-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0!important;
  max-width:1120px!important;
}
.nl-admin-management-card .nl-admin-action-bar>[class*="col-"]{
  width:auto!important;
  max-width:none!important;
  flex:0 1 auto!important;
  padding:0!important;
  margin:0!important;
}
.nl-admin-management-card .nl-admin-action-bar .btn{
  width:auto!important;
  min-width:190px!important;
  height:100%!important;
  margin:0!important;
  white-space:normal!important;
}
@media(max-width:767.98px){
  .nl-admin-management-card{
    width:100%!important;
    padding:8px!important;
  }
  .nl-admin-management-card .nl-admin-action-bar>[class*="col-"],
  .nl-admin-management-card .nl-admin-action-bar .btn{
    width:100%!important;
    min-width:0!important;
  }
}

/* =========================
   Nova-Life UI V55
   - Administration player management actions aligned like casier action band.
   ========================= */
.nl-admin-player-action-band{
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 26px!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}
.nl-admin-player-action-band .btn{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  padding:9px 12px!important;
  font-size:12.5px!important;
  line-height:1.2!important;
}
@media(max-width:1199.98px){
  .nl-admin-player-action-band{
    flex-wrap:wrap!important;
  }
}
@media(max-width:767.98px){
  .nl-admin-player-action-band{
    width:100%!important;
    align-items:stretch!important;
  }
  .nl-admin-player-action-band .btn{
    width:100%!important;
    justify-content:center!important;
  }
}


/* =========================
   Nova-Life UI V57
   - Server page: tabs use the same card-header tab format as administration/accueil.php.
   ========================= */
.nl-page-serveur .nl-server-card > .card-header{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:14px 16px 0!important;
  border-bottom:0!important;
  border-top-left-radius:24px!important;
  border-top-right-radius:24px!important;
  background:var(--nl-panel-2)!important;
  overflow:hidden!important;
}
.nl-page-serveur .nl-server-card > .card-header > .nav,
.nl-page-serveur .nl-server-card > .card-header > .nav-tabs,
.nl-page-serveur .nl-server-card > .card-header > .card-header-tabs,
.nl-page-serveur .nl-server-card > .card-header > .nl-card-tabs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:flex-end!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.nl-page-serveur .nl-server-card > .card-header > .nav .nav-item,
.nl-page-serveur .nl-server-card > .card-header > .nav-tabs .nav-item,
.nl-page-serveur .nl-server-card > .card-header > .card-header-tabs .nav-item,
.nl-page-serveur .nl-server-card > .card-header > .nl-card-tabs .nav-item{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
}
.nl-page-serveur .nl-server-card > .card-header > .nav .nav-link,
.nl-page-serveur .nl-server-card > .card-header > .nav-tabs .nav-link,
.nl-page-serveur .nl-server-card > .card-header > .card-header-tabs .nav-link,
.nl-page-serveur .nl-server-card > .card-header > .nl-card-tabs .nav-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:max-content!important;
  min-height:42px!important;
  padding:10px 14px!important;
  border:1px solid var(--nl-border)!important;
  border-bottom:0!important;
  border-radius:14px 14px 0 0!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.nl-page-serveur .nl-server-card > .card-header > .nav .nav-link:hover,
.nl-page-serveur .nl-server-card > .card-header > .nav-tabs .nav-link:hover,
.nl-page-serveur .nl-server-card > .card-header > .card-header-tabs .nav-link:hover,
.nl-page-serveur .nl-server-card > .card-header > .nl-card-tabs .nav-link:hover{
  color:var(--nl-primary)!important;
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-primary-soft)!important;
}
.nl-page-serveur .nl-server-card > .card-header > .nav .nav-link.active,
.nl-page-serveur .nl-server-card > .card-header > .nav-tabs .nav-link.active,
.nl-page-serveur .nl-server-card > .card-header > .card-header-tabs .nav-link.active,
.nl-page-serveur .nl-server-card > .card-header > .nl-card-tabs .nav-link.active{
  color:#fff!important;
  border-color:transparent!important;
  border-bottom:0!important;
  border-radius:14px 14px 0 0!important;
  background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;
  box-shadow:0 12px 24px rgba(70,95,255,.25)!important;
}
.nl-page-serveur .nl-server-card > .card-body{
  border-top:1px solid var(--nl-border)!important;
  border-bottom-left-radius:24px!important;
  border-bottom-right-radius:24px!important;
}
@media(max-width:767.98px){
  .nl-page-serveur .nl-server-card > .card-header{
    display:block!important;
    padding:12px 14px 0!important;
  }
  .nl-page-serveur .nl-server-card > .card-header > .nav .nav-link,
  .nl-page-serveur .nl-server-card > .card-header > .nav-tabs .nav-link,
  .nl-page-serveur .nl-server-card > .card-header > .card-header-tabs .nav-link,
  .nl-page-serveur .nl-server-card > .card-header > .nl-card-tabs .nav-link{
    min-height:38px!important;
    padding:9px 12px!important;
  }
}


/* =========================
   Nova-Life UI V62
   - TailAdmin Danger Alert confirmation modals for prefecture delete actions.
   - Better positioned close button in the modal corner.
   ========================= */
.nl-danger-alert-modal .modal-dialog{
  max-width:460px!important;
}
.nl-danger-alert-modal .modal-content{
  border-radius:28px!important;
  overflow:hidden!important;
}
.nl-danger-alert-modal .modal-body{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  padding:34px 30px 30px!important;
  text-align:center!important;
}
.nl-danger-alert-modal .nl-danger-alert-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  background-color:rgba(148,163,184,.12)!important;
  background-position:center!important;
  background-size:10px!important;
  opacity:1!important;
  transition:background-color .2s ease, opacity .2s ease!important;
}
.nl-danger-alert-modal .nl-danger-alert-close:hover{
  background-color:rgba(148,163,184,.18)!important;
  opacity:1!important;
}
.nl-danger-alert-icon{
  display:grid!important;
  place-items:center!important;
  width:80px!important;
  height:80px!important;
  margin:4px auto 22px!important;
  border:8px solid rgba(240,68,56,.08)!important;
  border-radius:999px!important;
  background:rgba(240,68,56,.12)!important;
  color:var(--nl-danger)!important;
  box-shadow:0 14px 32px rgba(240,68,56,.14)!important;
}
.nl-danger-alert-icon i{
  font-size:36px!important;
  line-height:1!important;
}
.nl-danger-alert-modal h3{
  margin:0 0 10px!important;
  color:var(--nl-heading)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
}
.nl-danger-alert-modal p{
  max-width:360px!important;
  margin:0 auto 24px!important;
  color:var(--nl-muted)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.6!important;
}
.nl-danger-alert-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
}
.nl-danger-alert-actions .btn{
  min-width:132px!important;
}
@media(max-width:575.98px){
  .nl-danger-alert-modal .modal-body{
    padding:30px 20px 24px!important;
  }
  .nl-danger-alert-actions{
    flex-direction:column-reverse!important;
    align-items:stretch!important;
  }
  .nl-danger-alert-actions .btn{
    width:100%!important;
  }
}

/* V63 - TailAdmin proposal for prefecture convocation detail pages. */
.nl-page-heading-card{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  padding:24px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,var(--nl-card),var(--nl-panel-2))!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-page-heading-card:after{
  content:""!important;
  position:absolute!important;
  right:-42px!important;
  top:50%!important;
  width:160px!important;
  height:160px!important;
  border-radius:999px!important;
  background:var(--nl-primary-soft)!important;
  transform:translateY(-50%)!important;
  pointer-events:none!important;
}
.nl-page-heading-icon{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  flex:0 0 auto!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:18px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
}
.nl-page-heading-icon i{font-size:28px!important;line-height:1!important}
.nl-page-heading-content{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.nl-page-kicker{
  margin:0 0 4px!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.nl-page-heading-content h4{
  margin:0!important;
  color:var(--nl-heading)!important;
  font-size:26px!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
  line-height:1.15!important;
}
.nl-page-heading-content p{
  margin:8px 0 0!important;
  color:var(--nl-muted)!important;
  font-size:14px!important;
  font-weight:700!important;
}
.nl-page-heading-actions{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
.prefecture-convocation-page .convocation-preview{align-items:flex-start!important}
.nl-convocation-preview-card{overflow:hidden!important}
.nl-convocation-preview-card>.card-header,
.nl-convocation-action-card>.card-header,
.nl-convocation-info-card>.card-header{
  align-items:flex-start!important;
}
.nl-convocation-paper-shell{
  padding:28px!important;
  overflow:auto!important;
  background:linear-gradient(180deg,var(--nl-panel-2),var(--nl-bg))!important;
}
.nl-convocation-paper{
  width:min(100%,780px)!important;
  min-height:980px!important;
  margin:0 auto!important;
  padding:44px 52px 54px!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 18px 50px rgba(15,23,42,.14)!important;
  font-family:"Open Sans",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.65!important;
}
.nl-convocation-paper *{color:#111827!important}
.nl-letter-header{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 0 22px!important;
  margin:0 0 24px!important;
  border-bottom:1px solid #eef2f7!important;
}
.nl-letter-header img{max-width:300px!important;height:auto!important}
.nl-letter-brand-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:20px!important;
}
.nl-letter-brand-row img{height:auto!important;object-fit:contain!important}
.nl-letter-direction{
  margin:0 0 26px!important;
  font-weight:800!important;
  line-height:1.45!important;
}
.nl-letter-recipient{
  margin:0 0 34px!important;
  font-weight:800!important;
  line-height:1.55!important;
  text-align:center!important;
}
.nl-letter-subject{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 24px!important;
  font-weight:800!important;
  line-height:1.7!important;
}
.nl-letter-subject span{
  display:inline-block!important;
  margin-right:4px!important;
  text-decoration:underline!important;
}
.nl-letter-subject>div:last-child{
  flex:0 0 190px!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.nl-letter-body p{
  margin:0 0 14px!important;
  text-align:left!important;
}
.nl-letter-body strong{font-weight:900!important}
.nl-letter-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  margin-top:22px!important;
  text-align:right!important;
}
.nl-letter-footer h6{
  margin:0 0 4px!important;
  color:#111827!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.nl-letter-footer img{
  display:block!important;
  width:145px!important;
  height:auto!important;
  margin-top:10px!important;
}
.nl-convocation-action-card{
  position:sticky!important;
  top:calc(var(--nl-topbar-h,72px) + 20px)!important;
}
.nl-convocation-action-card .card-body{padding:22px!important}
.nl-convocation-meta-list{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.nl-convocation-meta-list>div{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:14px 0!important;
  border-bottom:1px solid var(--nl-border)!important;
}
.nl-convocation-meta-list>div:first-child{padding-top:0!important}
.nl-convocation-meta-list>div:last-child{
  padding-bottom:0!important;
  border-bottom:0!important;
}
.nl-convocation-meta-list span{
  flex:0 0 118px!important;
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:800!important;
}
.nl-convocation-meta-list strong{
  min-width:0!important;
  color:var(--nl-heading)!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:right!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:1199.98px){
  .nl-convocation-action-card{position:relative!important;top:auto!important}
}
@media(max-width:767.98px){
  .nl-page-heading-card{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:20px!important;
  }
  .nl-page-heading-actions{width:100%!important;justify-content:flex-start!important}
  .nl-page-heading-actions .btn{width:100%!important}
  .nl-convocation-paper-shell{padding:16px!important}
  .nl-convocation-paper{
    width:100%!important;
    min-height:0!important;
    padding:30px 24px 34px!important;
    border-radius:14px!important;
  }
  .nl-letter-subject{flex-direction:column!important;gap:8px!important}
  .nl-letter-subject>div:last-child{flex:0 0 auto!important;text-align:left!important;white-space:normal!important}
}
@media print{
  body *{visibility:hidden!important}
  #impression,
  #impression *{visibility:visible!important}
  #impression{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    min-height:auto!important;
    margin:0!important;
    padding:16mm!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
}

/* V64 - TailAdmin proposal for prefecture audition detail and auditions table. */
.prefecture-audition-page .nl-convocation-paper{min-height:0!important}
.nl-audition-paper{padding:42px 48px 50px!important}
.nl-audition-doc-header{display:flex!important;align-items:center!important;gap:22px!important;margin:0 0 28px!important;padding:0 0 24px!important;border-bottom:1px solid #eef2f7!important}
.nl-audition-doc-header img{width:120px!important;height:120px!important;object-fit:cover!important;border-radius:18px!important;border:1px solid #e5e7eb!important}
.nl-audition-doc-header span{display:block!important;margin:0 0 5px!important;color:#2563eb!important;font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.nl-audition-doc-header h2{margin:0!important;color:#111827!important;font-size:28px!important;font-weight:900!important;line-height:1.1!important;letter-spacing:-.03em!important}
.nl-audition-doc-header p{margin:8px 0 0!important;color:#4b5563!important;font-size:13px!important;font-weight:800!important}
.nl-audition-section{margin:0 0 22px!important;padding:18px!important;border:1px solid #e5e7eb!important;border-radius:18px!important;background:#fff!important;break-inside:avoid!important}
.nl-audition-section-title{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 14px!important;color:#1d4ed8!important;font-size:13px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.nl-audition-section-title i{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;border-radius:10px!important;background:#eff6ff!important;color:#2563eb!important;font-size:17px!important}
.nl-audition-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-bottom:12px!important}
.nl-audition-grid:last-child{margin-bottom:0!important}
.nl-audition-field{padding:13px 14px!important;border:1px solid #eef2f7!important;border-radius:14px!important;background:#f8fafc!important}
.nl-audition-field span,.nl-audition-block span{display:block!important;margin:0 0 7px!important;color:#64748b!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.nl-audition-field strong{display:block!important;color:#111827!important;font-size:14px!important;font-weight:900!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.nl-audition-block{margin-top:12px!important;padding:14px!important;border:1px solid #eef2f7!important;border-radius:14px!important;background:#f8fafc!important}
.nl-audition-block-danger{border-color:#fecdd3!important;background:#fff1f2!important}
.nl-audition-block-danger span{color:#be123c!important}
.nl-audition-block p{margin:0!important;color:#111827!important;font-size:13px!important;line-height:1.65!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
.nl-audition-block-large{min-height:120px!important;background:#fff!important}
.nl-audition-signature{padding-top:8px!important}
.nl-audition-signature p{margin:0 0 8px!important}
.prefecture-auditions-page .nl-tailadmin-table-card{overflow:hidden!important}
.prefecture-auditions-page .tailadmin-data-table tbody td{vertical-align:middle!important}
.nl-table-avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;min-width:38px!important;border-radius:14px!important;font-size:13px!important;font-weight:900!important;line-height:1!important;text-transform:uppercase!important}
@media(max-width:767.98px){
  .nl-audition-paper{padding:28px 22px 32px!important}
  .nl-audition-doc-header{align-items:flex-start!important;flex-direction:column!important}
  .nl-audition-doc-header img{width:96px!important;height:96px!important}
  .nl-audition-doc-header h2{font-size:24px!important}
  .nl-audition-grid{grid-template-columns:1fr!important}
}
@media print{
  .nl-audition-section{box-shadow:none!important}
  .nl-audition-paper{padding:0!important}
}


/* V68 - TailAdmin complaint/pre-complaint detail pages. */
.prefecture-complaint-page .nl-complaint-paper{position:relative!important;min-height:0!important;overflow:hidden!important}
.prefecture-complaint-page .nl-complaint-paper>.nl-audition-doc-header,
.prefecture-complaint-page .nl-complaint-paper>.nl-audition-section,
.prefecture-complaint-page .nl-complaint-paper>.nl-complaint-signature-grid,
.prefecture-complaint-page .nl-complaint-paper>p{position:relative!important;z-index:4!important}
.nl-complaint-signature-grid{display:grid!important;grid-template-columns:1fr 1fr 1.2fr!important;gap:18px!important;align-items:start!important;margin-top:22px!important;padding-top:18px!important;border-top:1px solid #eef2f7!important}
.nl-complaint-signature-grid h6{margin:0 0 8px!important;color:#111827!important;font-size:13px!important;line-height:1.3!important}
.nl-complaint-signature-grid p{margin:0!important;color:#111827!important}
.nl-confirm-alert-modal .modal-dialog{max-width:410px!important}
.nl-confirm-alert-modal .modal-content{border:0!important;border-radius:26px!important;background:var(--nl-card)!important;box-shadow:0 24px 70px rgba(15,23,42,.24)!important}
.nl-confirm-alert-modal .modal-body{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;padding:34px 28px 28px!important;text-align:center!important}
.nl-confirm-alert-modal .nl-danger-alert-close{position:absolute!important;top:14px!important;right:14px!important}
.nl-confirm-alert-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:64px!important;height:64px!important;margin:0 auto 18px!important;border-radius:999px!important;background:rgba(16,185,129,.12)!important;color:#059669!important;font-size:30px!important}
.nl-confirm-alert-modal h3{margin:0 0 8px!important;color:var(--nl-heading)!important;font-size:20px!important;font-weight:900!important;letter-spacing:-.02em!important}
.nl-confirm-alert-modal p{margin:0 0 24px!important;color:var(--nl-muted)!important;font-size:14px!important;font-weight:700!important;line-height:1.55!important}
@media(max-width:767.98px){.nl-complaint-signature-grid{grid-template-columns:1fr!important}}
@media print{.prefecture-complaint-page .nl-complaint-paper{padding:0!important}.nl-complaint-signature-grid{break-inside:avoid!important}}

/* =========================
   Nova-Life UI V70
   - TailAdmin layout for fourriere demandes / demande / fiche / vehicules pages.
   ========================= */
.fourriere-list-page .nl-tailadmin-table-card,
.fourriere-detail-page .nl-convocation-preview-card,
.fourriere-detail-page .nl-convocation-action-card,
.fourriere-detail-page .nl-convocation-info-card{
  overflow:hidden!important;
}
.nl-fourriere-paper{
  min-height:760px!important;
}
.nl-fourriere-doc-header{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  margin:0 0 28px!important;
  padding:0 0 24px!important;
  border-bottom:1px solid #eef2f7!important;
}
.nl-fourriere-doc-icon{
  display:grid!important;
  place-items:center!important;
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  border:1px solid #bfdbfe!important;
  border-radius:24px!important;
  background:#eff6ff!important;
  color:#2563eb!important;
}
.nl-fourriere-doc-icon .ti,
.nl-fourriere-doc-icon i{
  font-size:36px!important;
  line-height:1!important;
}
.nl-fourriere-doc-header span{
  display:block!important;
  margin:0 0 5px!important;
  color:#2563eb!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.nl-fourriere-doc-header h2{
  margin:0!important;
  color:#111827!important;
  font-size:28px!important;
  font-weight:900!important;
  line-height:1.12!important;
  letter-spacing:-.03em!important;
}
.nl-fourriere-doc-header p{
  margin:8px 0 0!important;
  color:#4b5563!important;
  font-size:13px!important;
  font-weight:800!important;
}
.fourriere-detail-page .nl-audition-signature{
  margin-top:26px!important;
  padding-top:20px!important;
  border-top:1px solid #eef2f7!important;
}
.fourriere-detail-page .nl-audition-signature p{
  color:#4b5563!important;
  font-weight:800!important;
}
.fourriere-list-page .card-datatable{
  overflow:auto!important;
}
.fourriere-list-page .tailadmin-data-table tbody td{
  vertical-align:middle!important;
}
@media(max-width:767.98px){
  .nl-fourriere-doc-header{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .nl-fourriere-doc-header h2{
    font-size:23px!important;
  }
}


/* =========================
   Nova-Life UI V71
   - Fourriere form pages and dark-mode text hardening.
   ========================= */
.fourriere-detail-page .card,
.fourriere-form-page .card{
  color:var(--nl-text)!important;
}
.fourriere-detail-page .card h1,
.fourriere-detail-page .card h2,
.fourriere-detail-page .card h3,
.fourriere-detail-page .card h4,
.fourriere-detail-page .card h5,
.fourriere-detail-page .card h6,
.fourriere-form-page .card h1,
.fourriere-form-page .card h2,
.fourriere-form-page .card h3,
.fourriere-form-page .card h4,
.fourriere-form-page .card h5,
.fourriere-form-page .card h6{
  color:var(--nl-heading)!important;
}
.fourriere-detail-page .card p,
.fourriere-detail-page .card small,
.fourriere-form-page .card p,
.fourriere-form-page .card small{
  color:var(--nl-muted)!important;
}
.fourriere-detail-page .nl-convocation-paper,
.fourriere-detail-page .nl-convocation-paper *,
.fourriere-detail-page .nl-fourriere-paper,
.fourriere-detail-page .nl-fourriere-paper *{
  color:#111827!important;
}
.fourriere-detail-page .nl-convocation-paper,
.fourriere-detail-page .nl-fourriere-paper{
  background:#fff!important;
  border-color:#e5e7eb!important;
}
.fourriere-detail-page .nl-audition-section,
.fourriere-detail-page .nl-audition-block-large{
  background:#fff!important;
}
.fourriere-detail-page .nl-audition-field,
.fourriere-detail-page .nl-audition-block:not(.nl-audition-block-large){
  background:#f8fafc!important;
}
.fourriere-detail-page .nl-fourriere-doc-icon,
.fourriere-detail-page .nl-audition-section-title i{
  color:#2563eb!important;
}
.fourriere-detail-page .nl-audition-section-title,
.fourriere-detail-page .nl-fourriere-doc-header span{
  color:#1d4ed8!important;
}
.fourriere-detail-page .nl-fourriere-doc-header p,
.fourriere-detail-page .nl-audition-signature p{
  color:#4b5563!important;
}
.fourriere-form-page .nl-fourriere-form-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.fourriere-form-page .nl-fourriere-form-card>.card-header{
  padding:20px 24px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.05))!important;
}
.fourriere-form-page .nl-fourriere-form-card>.card-body{
  display:grid!important;
  gap:24px!important;
  padding:24px!important;
}
.nl-fourriere-form-section{
  padding:18px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(102,112,133,.045),rgba(102,112,133,.02))!important;
}
.nl-fourriere-form-section-title{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  margin-bottom:18px!important;
}
.nl-fourriere-form-section-title>span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:16px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  font-size:20px!important;
}
.nl-fourriere-form-section-title h6{
  margin:0 0 4px!important;
  color:var(--nl-heading)!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.nl-fourriere-form-section-title p{
  margin:0!important;
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
.fourriere-form-page .form-label{
  color:var(--nl-heading)!important;
  font-size:13px!important;
  font-weight:900!important;
}
.fourriere-form-page .form-control,
.fourriere-form-page .form-select,
.fourriere-form-page textarea.form-control{
  border-color:var(--nl-border)!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.fourriere-form-page .form-control:disabled,
.fourriere-form-page .form-control[readonly]{
  background:var(--nl-soft)!important;
  color:var(--nl-muted)!important;
  -webkit-text-fill-color:var(--nl-muted)!important;
  opacity:1!important;
}
.fourriere-form-page textarea.form-control{
  min-height:180px!important;
  resize:vertical!important;
}
.nl-fourriere-form-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
  padding:18px 24px!important;
  border-top:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04))!important;
}
.nl-fourriere-check-list{
  display:grid!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.nl-fourriere-check-list li{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:rgba(102,112,133,.045)!important;
  color:var(--nl-text)!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.45!important;
}
.nl-fourriere-check-list i{
  margin-top:2px!important;
  color:var(--nl-success)!important;
  font-size:17px!important;
}
.nl-fourriere-check-list span{
  min-width:0!important;
  color:var(--nl-text)!important;
}
html[data-theme=dark] .fourriere-detail-page .nl-convocation-preview-card .card-header,
html[data-theme=dark] .fourriere-detail-page .nl-convocation-action-card .card-header,
html[data-theme=dark] .fourriere-detail-page .nl-convocation-info-card .card-header,
html[data-theme=dark] .fourriere-form-page .card-header,
html[data-theme=dark] .fourriere-form-page .card-footer{
  background:linear-gradient(135deg,var(--nl-panel),rgba(124,140,255,.08))!important;
}
@media(max-width:767.98px){
  .fourriere-form-page .nl-fourriere-form-card>.card-header{flex-direction:column!important;padding:18px!important}
  .fourriere-form-page .nl-fourriere-form-card>.card-body{padding:18px!important;gap:18px!important}
  .nl-fourriere-form-section{padding:16px!important;border-radius:18px!important}
  .nl-fourriere-form-actions{align-items:stretch!important;flex-direction:column-reverse!important;padding:16px!important}
  .nl-fourriere-form-actions .btn{width:100%!important;justify-content:center!important}
}


/* =========================
   Nova-Life UI V72
   - Fourrière dark-mode text hardening, table header cleanup and TailAdmin progress bar.
   ========================= */
.fourriere-detail-page,
.fourriere-detail-page .container-xxl,
.fourriere-detail-page h4.fw-bold,
.fourriere-form-page,
.fourriere-form-page .container-xxl,
.fourriere-form-page h4.fw-bold{
  color:var(--nl-heading)!important;
}
.fourriere-detail-page h4 .text-muted,
.fourriere-form-page h4 .text-muted,
.fourriere-list-page h4 .text-muted{
  color:var(--nl-muted)!important;
}
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body,
.fourriere-form-page .card-header,
.fourriere-form-page .card-body,
.fourriere-form-page .card-footer{
  color:var(--nl-text)!important;
}
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header h1,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header h2,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header h3,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header h4,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header h5,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-header h6,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body h1,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body h2,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body h3,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body h4,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body h5,
.fourriere-detail-page .card:not(.nl-convocation-preview-card) .card-body h6{
  color:var(--nl-heading)!important;
}
.fourriere-detail-page .nl-convocation-preview-card>.card-header h5,
.fourriere-detail-page .nl-convocation-preview-card>.card-header .badge,
.fourriere-detail-page .nl-convocation-action-card>.card-header h5,
.fourriere-detail-page .nl-convocation-info-card>.card-header h5{
  color:var(--nl-heading)!important;
}
.fourriere-detail-page .nl-convocation-preview-card>.card-header small,
.fourriere-detail-page .nl-convocation-action-card .card-body p,
.fourriere-detail-page .nl-convocation-info-card .card-body p,
.fourriere-detail-page .nl-convocation-meta-list span{
  color:var(--nl-muted)!important;
}
.fourriere-detail-page .nl-convocation-meta-list strong{
  color:var(--nl-heading)!important;
}
.fourriere-detail-page .nl-stat-card .card-title small{
  color:var(--nl-muted)!important;
}
.fourriere-detail-page .nl-stat-card .card-title h5{
  color:var(--nl-heading)!important;
}
/* Keep the PDF preview/document intentionally light and readable in both themes. */
.fourriere-detail-page .nl-convocation-preview-card .nl-convocation-paper,
.fourriere-detail-page .nl-convocation-preview-card .nl-convocation-paper *,
.fourriere-detail-page .nl-convocation-preview-card .nl-fourriere-paper,
.fourriere-detail-page .nl-convocation-preview-card .nl-fourriere-paper *{
  color:#111827!important;
}
.fourriere-detail-page .nl-convocation-preview-card .nl-convocation-paper,
.fourriere-detail-page .nl-convocation-preview-card .nl-fourriere-paper{
  background:#fff!important;
}
.fourriere-detail-page .nl-convocation-preview-card .nl-audition-field span,
.fourriere-detail-page .nl-convocation-preview-card .nl-audition-block span{
  color:#64748b!important;
}
.fourriere-detail-page .nl-convocation-preview-card .nl-audition-field strong,
.fourriere-detail-page .nl-convocation-preview-card .nl-audition-block p{
  color:#111827!important;
}
.fourriere-list-page .nl-tailadmin-table-card>.card-header{
  align-items:center!important;
  min-height:64px!important;
}
.fourriere-list-page .nl-tailadmin-table-card>.card-header h5{
  margin:0!important;
}
.nl-tailadmin-progress-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-tailadmin-progress-card .card-body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:16px!important;
  min-height:132px!important;
  padding:22px!important;
}
.nl-tailadmin-progress-header,
.nl-tailadmin-progress-footer{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.nl-tailadmin-progress-header h5{
  color:var(--nl-heading)!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.nl-tailadmin-progress-header p,
.nl-tailadmin-progress-footer span{
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:750!important;
}
.nl-tailadmin-progress-value{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
  height:32px!important;
  padding:0 12px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:999px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  font-size:13px!important;
  font-weight:900!important;
}
.nl-tailadmin-progress-track{
  position:relative!important;
  width:100%!important;
  height:12px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:rgba(102,112,133,.16)!important;
}
.nl-tailadmin-progress-bar{
  height:100%!important;
  min-width:4px!important;
  border-radius:999px!important;
  transition:width .35s ease!important;
}
.nl-tailadmin-progress-success{background:var(--nl-success)!important;}
.nl-tailadmin-progress-warning{background:var(--nl-warning)!important;}
.nl-tailadmin-progress-danger{background:var(--nl-danger)!important;}
.nl-tailadmin-progress-footer strong{
  color:var(--nl-heading)!important;
  font-size:13px!important;
  font-weight:900!important;
}
html[data-theme=dark] .nl-tailadmin-progress-track{
  background:rgba(255,255,255,.08)!important;
}
@media(max-width:575.98px){
  .nl-tailadmin-progress-header,
  .nl-tailadmin-progress-footer{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .nl-tailadmin-progress-value{min-width:0!important}
}

/* =========================
   Nova-Life UI V73
   - Garage section TailAdmin refresh.
   ========================= */
.garage-home-page .nl-fourriere-form-card,
.garage-form-page .nl-fourriere-form-card,
.garage-list-page .nl-tailadmin-table-card,
.garage-detail-page .nl-convocation-preview-card,
.garage-detail-page .nl-convocation-action-card,
.garage-detail-page .nl-convocation-info-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.garage-home-page .card-header,
.garage-form-page .card-header,
.garage-detail-page .card-header{
  color:var(--nl-heading)!important;
}
.garage-home-page .card-body,
.garage-form-page .card-body,
.garage-detail-page .card-body,
.garage-list-page .card-body{
  color:var(--nl-text)!important;
}
.garage-home-page h4 .text-muted,
.garage-form-page h4 .text-muted,
.garage-detail-page h4 .text-muted,
.garage-list-page h4 .text-muted{
  color:var(--nl-muted)!important;
}
.nl-garage-vehicle-hero{overflow:hidden!important;}
.nl-garage-vehicle-hero .user-profile-header{min-height:172px!important;}
.nl-garage-vehicle-img{
  padding:10px!important;
  object-fit:contain!important;
  background:linear-gradient(135deg,var(--nl-panel),var(--nl-soft))!important;
}
.nl-garage-color-dot{
  width:14px!important;
  height:14px!important;
  display:inline-block!important;
  border:1px solid var(--nl-border-2)!important;
  border-radius:999px!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-garage-color-swatch{
  width:92px!important;
  height:28px!important;
  display:inline-block!important;
  border:1px solid var(--nl-border-2)!important;
  border-radius:12px!important;
  box-shadow:var(--nl-shadow-sm)!important;
  vertical-align:middle!important;
}
.nl-garage-action-strip{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 auto!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.nl-garage-action-strip>.card-body{
  padding:14px!important;
}
.nl-garage-damage-preview{
  border-radius:18px!important;
  box-shadow:none!important;
}
.nl-garage-damage-preview .card-body{
  min-height:0!important;
  padding:18px!important;
}
.garage-detail-page .nl-convocation-preview-card .nl-convocation-paper,
.garage-detail-page .nl-convocation-preview-card .nl-convocation-paper *,
.garage-detail-page .nl-convocation-preview-card .nl-fourriere-paper,
.garage-detail-page .nl-convocation-preview-card .nl-fourriere-paper *{
  color:#111827!important;
}
.garage-detail-page .nl-convocation-preview-card .nl-convocation-paper,
.garage-detail-page .nl-convocation-preview-card .nl-fourriere-paper{
  background:#fff!important;
}
.garage-detail-page .nl-audition-signature{
  margin-top:26px!important;
  text-align:right!important;
}
.garage-detail-page .nl-audition-signature p{
  margin:0!important;
  color:#111827!important;
  font-weight:800!important;
}
@media(max-width:575.98px){
  .nl-garage-action-strip{display:flex!important;width:100%!important;}
  .nl-garage-action-strip>.card-body{width:100%!important;flex-direction:column!important;}
  .nl-garage-action-strip .btn{width:100%!important;}
}


/* =========================
   Nova-Life UI V74
   - LeBonPlan and Darkweb TailAdmin refresh.
   ========================= */
.lebonplan-page .nl-stat-card,
.darkweb-page .nl-stat-card{height:100%!important}
.lebonplan-filter-tabs{overflow-x:auto!important;padding-bottom:2px!important}
.lebonplan-filter-tabs .nav-link{white-space:nowrap!important}
.nl-lbp-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
  transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important;
}
.nl-lbp-card:hover{border-color:var(--nl-primary-border)!important;box-shadow:var(--nl-shadow)!important;transform:translateY(-2px)!important}
.nl-lbp-image{position:relative!important;display:block!important;width:100%!important;height:236px!important;padding:0!important;border:0!important;background:var(--nl-soft)!important;overflow:hidden!important;text-align:left!important}
.nl-lbp-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .35s ease!important}
.nl-lbp-card:hover .nl-lbp-image img{transform:scale(1.035)!important}
.nl-lbp-image:after{content:""!important;position:absolute!important;inset:auto 0 0!important;height:44%!important;background:linear-gradient(180deg,transparent,rgba(2,6,23,.58))!important;pointer-events:none!important}
.nl-lbp-category{position:absolute!important;left:16px!important;bottom:16px!important;z-index:2!important;box-shadow:0 10px 22px rgba(2,6,23,.18)!important}
.nl-lbp-title{color:var(--nl-heading)!important;font-size:18px!important;font-weight:900!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.nl-lbp-price-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.nl-lbp-price-row>div{min-width:0!important;padding:14px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:rgba(102,112,133,.05)!important}
.nl-lbp-price-row span{display:block!important;margin-bottom:4px!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.nl-lbp-price-row strong{display:block!important;color:var(--nl-heading)!important;font-size:15px!important;font-weight:900!important;line-height:1.3!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.nl-lbp-description{min-height:72px!important;max-height:116px!important;overflow:auto!important;margin:0 0 16px!important;color:var(--nl-text)!important;font-weight:650!important;line-height:1.55!important;scrollbar-width:thin!important}
.nl-lbp-contact-list{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.nl-lbp-contact-list span{display:inline-flex!important;align-items:center!important;gap:7px!important;max-width:100%!important;padding:8px 10px!important;border:1px solid var(--nl-border)!important;border-radius:999px!important;background:var(--nl-panel)!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:850!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.nl-lbp-contact-list i{font-size:16px!important;color:var(--nl-primary)!important;flex:0 0 auto!important}
.nl-lbp-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;padding:16px 20px!important;border-top:1px solid var(--nl-border)!important;background:var(--nl-panel)!important}
.nl-lbp-image-modal .modal-content{position:relative!important;display:grid!important;place-items:center!important;min-height:220px!important;max-height:92vh!important;padding:14px!important;border-radius:28px!important;background:rgba(15,23,42,.92)!important;box-shadow:var(--nl-shadow)!important;overflow:hidden!important}
.nl-lbp-image-modal img{max-width:100%!important;max-height:86vh!important;object-fit:contain!important;border-radius:18px!important}
.nl-lbp-image-modal .btn-close{filter:invert(1)!important;background-color:rgba(255,255,255,.14)!important}
.nl-lbp-form-card{border:1px solid var(--nl-border)!important;border-radius:24px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important;overflow:hidden!important}
.nl-lbp-form-card>.card-header,.nl-lbp-preview-card>.card-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:20px 24px!important;border-bottom:1px solid var(--nl-border)!important;background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04))!important}
.nl-lbp-form-card>.card-body,.nl-lbp-preview-card>.card-body{padding:24px!important}
.nl-lbp-option{height:100%!important;cursor:pointer!important}
.nl-lbp-option .custom-option-content{height:100%!important;align-items:flex-start!important;position:relative!important;padding:16px!important}
.nl-lbp-option .form-check-input{position:absolute!important;top:16px!important;right:16px!important}
.nl-lbp-option-icon{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;border-radius:15px!important;border:1px solid currentColor!important}
.nl-lbp-option-icon i{font-size:20px!important}
.nl-lbp-option:has(input:checked){border-color:var(--nl-primary)!important;background:var(--nl-primary-soft)!important;box-shadow:var(--nl-ring)!important}
.nl-lbp-switch-card{display:flex!important;align-items:flex-start!important;gap:12px!important;height:100%!important;margin:0!important;padding:16px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:var(--nl-panel)!important;cursor:pointer!important;transition:var(--nl-transition)!important}
.nl-lbp-switch-card:hover{border-color:var(--nl-primary-border)!important;box-shadow:var(--nl-shadow-sm)!important}
.nl-lbp-switch-card strong{display:block!important;color:var(--nl-heading)!important;font-size:14px!important;font-weight:900!important;line-height:1.3!important}
.nl-lbp-switch-card small{display:block!important;margin-top:3px!important;color:var(--nl-muted)!important;font-weight:700!important;line-height:1.45!important}
.nl-lbp-preview-card{border:1px solid var(--nl-border)!important;border-radius:24px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important;overflow:hidden!important;top:calc(var(--nl-topbar-h) + 22px)!important}
.nl-lbp-preview-image{position:relative!important;display:grid!important;place-items:center!important;width:100%!important;min-height:220px!important;border:1px dashed var(--nl-border-2)!important;border-radius:20px!important;background:var(--nl-soft)!important;overflow:hidden!important}
.nl-lbp-preview-image img{display:none;width:100%!important;height:260px!important;object-fit:cover!important}
.nl-lbp-preview-image span{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;color:var(--nl-muted)!important;font-weight:900!important}
.nl-lbp-preview-image span i{font-size:24px!important}
.darkweb-page .nl-page-heading-card{margin-bottom:24px!important}
.nl-darkweb-heading .nl-page-heading-actions{position:relative!important;z-index:2!important;margin-left:auto!important;flex:0 0 auto!important}
.nl-darkweb-chat-card,.nl-darkweb-login-card,.nl-darkweb-message-modal .modal-content{border:1px solid var(--nl-border)!important;border-radius:26px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-sm)!important;overflow:hidden!important}
.nl-darkweb-chat-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:20px 24px!important;border-bottom:1px solid var(--nl-border)!important;background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04))!important}
.nl-darkweb-chat-window{height:620px!important;overflow:auto!important;padding:22px!important;background:radial-gradient(circle at 15% 0%,rgba(70,95,255,.10),transparent 28rem),var(--nl-panel-2)!important;scrollbar-width:thin!important}
.nl-darkweb-chat-window.admin{height:680px!important}
.nl-darkweb-chat-list{display:flex!important;flex-direction:column!important;gap:14px!important;margin:0!important;padding:0!important}
.nl-darkweb-message{display:flex!important;width:100%!important}
.nl-darkweb-message.is-mine{justify-content:flex-end!important}
.nl-darkweb-message.is-other{justify-content:flex-start!important}
.nl-darkweb-bubble{display:block!important;max-width:min(680px,78%)!important;padding:14px 16px!important;border:1px solid var(--nl-border)!important;border-radius:20px!important;background:var(--nl-card)!important;color:var(--nl-text)!important;text-align:left!important;box-shadow:var(--nl-shadow-sm)!important;overflow-wrap:anywhere!important}
button.nl-darkweb-bubble{cursor:pointer!important;transition:var(--nl-transition)!important}
button.nl-darkweb-bubble:hover{border-color:var(--nl-primary-border)!important;box-shadow:var(--nl-shadow)!important;transform:translateY(-1px)!important}
.nl-darkweb-message.is-mine .nl-darkweb-bubble{border-color:var(--nl-primary-border)!important;background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;color:#fff!important}
.nl-darkweb-message.is-mine .nl-darkweb-bubble small{color:rgba(255,255,255,.72)!important}
.nl-darkweb-message.is-hidden .nl-darkweb-bubble{border-color:rgba(240,68,56,.28)!important;background:rgba(240,68,56,.08)!important}
.nl-darkweb-bubble p{margin:0 0 8px!important;color:inherit!important;font-weight:700!important;line-height:1.55!important}
.nl-darkweb-bubble small{display:block!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:800!important}
.nl-darkweb-composer{display:flex!important;align-items:center!important;gap:12px!important;padding:16px!important;border-top:1px solid var(--nl-border)!important;background:var(--nl-card)!important}
.nl-darkweb-login-card .card-body{padding:34px!important;text-align:center!important}
.nl-darkweb-login-icon{display:grid!important;place-items:center!important;width:78px!important;height:78px!important;margin:0 auto 18px!important;border-radius:26px!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;box-shadow:0 16px 34px rgba(70,95,255,.16)!important}
.nl-darkweb-login-icon i{font-size:38px!important}
.nl-darkweb-login-card h3{margin-bottom:8px!important;font-size:24px!important;font-weight:900!important}
.nl-darkweb-login-card form{text-align:left!important;margin-top:24px!important}
.nl-darkweb-message-modal .modal-header,.nl-darkweb-message-modal .modal-footer{padding:18px 22px!important;border-color:var(--nl-border)!important;background:var(--nl-panel)!important}
.nl-darkweb-message-modal .modal-body{padding:22px!important}
.nl-darkweb-message-modal .modal-footer{gap:10px!important}.nl-darkweb-message-modal .modal-footer form{margin:0!important}
.nl-darkweb-modal-message{padding:16px!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;background:var(--nl-panel)!important;color:var(--nl-heading)!important;font-weight:750!important;line-height:1.6!important;overflow-wrap:anywhere!important}
@media(max-width:767.98px){
  .nl-lbp-price-row{grid-template-columns:1fr!important}.nl-lbp-actions{align-items:stretch!important;flex-direction:column!important}.nl-lbp-actions .btn{width:100%!important}.nl-darkweb-heading{align-items:flex-start!important;flex-direction:column!important}.nl-darkweb-heading .nl-page-heading-actions{margin-left:0!important}.nl-darkweb-chat-header{align-items:flex-start!important;flex-direction:column!important}.nl-darkweb-chat-window,.nl-darkweb-chat-window.admin{height:560px!important;padding:16px!important}.nl-darkweb-bubble{max-width:92%!important}.nl-darkweb-composer{align-items:stretch!important;flex-direction:column!important}.nl-darkweb-composer .btn{width:100%!important}
}

/* =========================
   Nova-Life UI V75
   - Cleanups fourriere/garage, LeBonPlan tabs/forms and Darkweb modal layering.
   ========================= */
.nl-lbp-filter-shell{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-lbp-filter-shell>.card-body{
  padding:14px!important;
}
.nl-lbp-filter-shell .lebonplan-filter-tabs{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  padding:4px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
}
.nl-lbp-filter-shell .lebonplan-filter-tabs .nav-link{
  gap:6px!important;
  min-height:40px!important;
  padding:9px 13px!important;
  border-radius:14px!important;
  color:var(--nl-muted)!important;
  font-weight:850!important;
}
.nl-lbp-filter-shell .lebonplan-filter-tabs .nav-link:hover{
  color:var(--nl-heading)!important;
  background:var(--nl-soft)!important;
}
.nl-lbp-filter-shell .lebonplan-filter-tabs .nav-link.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;
  box-shadow:0 12px 24px rgba(70,95,255,.22)!important;
}
.nl-lbp-tab-count{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px!important;
  height:22px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:var(--nl-soft)!important;
  color:var(--nl-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
}
.nl-lbp-filter-shell .nav-link.active .nl-lbp-tab-count{
  background:rgba(255,255,255,.20)!important;
  color:#fff!important;
}
.nl-lbp-create-btn{
  flex:0 0 auto!important;
  min-height:44px!important;
}
.nl-lbp-radio-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.nl-lbp-radio-option{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  height:100%!important;
  min-height:92px!important;
  margin:0!important;
  padding:16px 44px 16px 16px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:20px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  cursor:pointer!important;
  box-shadow:var(--nl-shadow-sm)!important;
  transition:var(--nl-transition)!important;
}
.nl-lbp-radio-option:hover{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-lbp-radio-option strong{
  display:block!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
}
.nl-lbp-radio-option small{
  display:block!important;
  margin-top:4px!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.4!important;
}
.nl-lbp-radio-check{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-card)!important;
  color:transparent!important;
  font-size:15px!important;
  transition:var(--nl-transition)!important;
}
.btn-check:checked + .nl-lbp-radio-option{
  border-color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
  box-shadow:var(--nl-ring)!important;
}
.btn-check:checked + .nl-lbp-radio-option .nl-lbp-radio-check{
  border-color:var(--nl-primary)!important;
  background:var(--nl-primary)!important;
  color:#fff!important;
}
.lebonplan-form-page .form-control,
.lebonplan-form-page .form-select,
.lebonplan-form-page textarea.form-control{
  border-color:var(--nl-border)!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
}
.lebonplan-form-page .form-label{
  color:var(--nl-heading)!important;
  font-weight:900!important;
}
.lebonplan-form-page .input-group-text{
  border-color:var(--nl-border)!important;
  background:var(--nl-soft)!important;
  color:var(--nl-muted)!important;
}
.nl-darkweb-admin-notice{
  border:1px solid rgba(247,144,9,.28)!important;
  border-radius:22px!important;
  background:rgba(247,144,9,.10)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-darkweb-admin-notice h6{
  color:var(--nl-heading)!important;
  font-weight:900!important;
}
.nl-darkweb-admin-notice p{
  color:var(--nl-text)!important;
  font-weight:700!important;
}
.nl-darkweb-admin-notice-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:16px!important;
  background:rgba(247,144,9,.16)!important;
  color:#f79009!important;
  font-size:22px!important;
}
.nl-darkweb-message-modal{
  z-index:1105!important;
}
.nl-darkweb-message-modal .modal-dialog,
.nl-darkweb-message-modal .modal-content{
  pointer-events:auto!important;
}
.darkweb-chat-page .nl-darkweb-chat-card{
  margin-top:0!important;
}
@media(max-width:1199.98px){
  .nl-lbp-radio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767.98px){
  .nl-lbp-filter-shell>.card-body{padding:12px!important}
  .nl-lbp-filter-shell .lebonplan-filter-tabs{width:100%!important;flex:1 1 100%!important}
  .nl-lbp-create-btn{width:100%!important;justify-content:center!important}
  .nl-lbp-radio-grid{grid-template-columns:1fr!important}
}
.nl-lbp-radio-grid .btn-check{
  position:absolute!important;
  clip:rect(0,0,0,0)!important;
  pointer-events:none!important;
}


/* =========================
   Nova-Life UI V76
   - Darkweb admin notification + LeBonPlan tabs action alignment.
   ========================= */
.nl-lbp-tabs-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
}
.nl-lbp-tabs-row .lebonplan-filter-tabs{
  flex:1 1 auto!important;
  max-width:calc(100% - 230px)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.nl-lbp-tabs-row .nl-lbp-create-btn{
  margin-left:auto!important;
  white-space:nowrap!important;
}
.darkweb-admin-page .nl-darkweb-admin-notice{
  display:none!important;
}
@media(max-width:991.98px){
  .nl-lbp-tabs-row{align-items:stretch!important;flex-direction:column!important}
  .nl-lbp-tabs-row .lebonplan-filter-tabs{max-width:100%!important;width:100%!important;flex:1 1 auto!important}
  .nl-lbp-tabs-row .nl-lbp-create-btn{width:100%!important;justify-content:center!important;margin-left:0!important}
}


/* =========================
   Nova-Life UI V78
   - Remove the V77 inset border hardening that made cards look double/thick.
   - Casier stat cards: force the same rounded decorative background on all 4 cards.
   ========================= */
.card{
  background-clip:border-box!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.card:hover{
  box-shadow:var(--nl-shadow)!important;
}

.nl-casier-stats{
  align-items:flex-start!important;
}
.nl-casier-stats > [class*="col-"]{
  align-self:flex-start!important;
}
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 22px)!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-casier-stats .nl-casier-card:hover,
.nl-casier-stats .nl-casier-card.nl-stat-card:hover{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-casier-stats .nl-casier-card > .card-body,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:112px!important;
  padding:24px 26px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:37%!important;
  min-width:132px!important;
  height:100%!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 22px 22px 98px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:before,
html[data-theme=dark] .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.20),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card > .card-body:after,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:after,
.nl-casier-stats .nl-casier-card .card-icon:before,
.nl-casier-stats .nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card .card-title,
.nl-casier-stats .nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-casier-stats .nl-casier-card .card-icon,
.nl-casier-stats .nl-casier-card .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  flex-basis:52px!important;
}
.nl-casier-stats .nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  border-radius:0!important;
  overflow:visible!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card{border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-casier-stats .nl-casier-card > .card-body{min-height:104px!important;padding:20px!important}
  .nl-casier-stats .nl-casier-card > .card-body:before{width:42%!important;min-width:118px!important;border-radius:0 22px 22px 80px!important}
}

/* =========================
   Nova-Life UI V79
   - Administration accueil: same decorative stat-card design as casier.
   - Administration tabs: cleaner TailAdmin pills bar across admin pages.
   ========================= */
body.nl-section-administration .nl-top-tabs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  margin-bottom:24px!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,var(--nl-card),var(--nl-panel))!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
}
body.nl-section-administration .nl-top-tabs .nav-item{
  flex:0 0 auto!important;
}
body.nl-section-administration .nl-top-tabs .nav-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:42px!important;
  min-width:max-content!important;
  padding:10px 14px!important;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:transparent!important;
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
  transition:background-color var(--nl-transition-fast),border-color var(--nl-transition-fast),color var(--nl-transition-fast),box-shadow var(--nl-transition-fast)!important;
}
body.nl-section-administration .nl-top-tabs .nav-link i{
  font-size:16px!important;
  line-height:1!important;
}
body.nl-section-administration .nl-top-tabs .nav-link:hover{
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
}
body.nl-section-administration .nl-top-tabs .nav-link.active,
body.nl-section-administration .nl-top-tabs .nav-link.show,
body.nl-section-administration .nl-top-tabs .show>.nav-link{
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-primary)!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(70,95,255,.22)!important;
}
body.nl-section-administration .nl-top-tabs .nav-link.active i,
body.nl-section-administration .nl-top-tabs .nav-link.show i{
  color:inherit!important;
}

.nl-admin-home-stat-cards{
  align-items:flex-start!important;
}
.nl-admin-home-stat-cards > [class*="col-"]{
  align-self:flex-start!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:152px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 22px)!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat:hover{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat > .card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:112px!important;
  padding:24px 26px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:37%!important;
  min-width:132px!important;
  height:100%!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 22px 22px 98px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-admin-home-stat-cards .nl-admin-home-stat > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.20),rgba(124,140,255,.11))!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat > .card-body:after,
.nl-admin-home-stat-cards .nl-admin-home-stat .card-icon:before,
.nl-admin-home-stat-cards .nl-admin-home-stat .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat .card-title,
.nl-admin-home-stat-cards .nl-admin-home-stat .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat .card-icon,
.nl-admin-home-stat-cards .nl-admin-home-stat .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  flex-basis:52px!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat > .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  border-radius:0!important;
  overflow:visible!important;
}
.nl-admin-home-stat-cards .nl-admin-home-stat > .nl-casier-card-footer .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  border-radius:14px!important;
  font-weight:900!important;
}
@media(max-width:767.98px){
  body.nl-section-administration .nl-top-tabs{
    margin-bottom:18px!important;
    padding:7px!important;
    border-radius:20px!important;
  }
  body.nl-section-administration .nl-top-tabs .nav-link{
    min-height:40px!important;
    padding:9px 12px!important;
    border-radius:14px!important;
  }
  .nl-admin-home-stat-cards .nl-admin-home-stat{border-radius:22px!important;clip-path:inset(0 round 22px)!important}
  .nl-admin-home-stat-cards .nl-admin-home-stat > .card-body{min-height:104px!important;padding:20px!important}
  .nl-admin-home-stat-cards .nl-admin-home-stat > .card-body:before{width:42%!important;min-width:118px!important;border-radius:0 22px 22px 80px!important}
}

/* =========================
   Nova-Life UI V80
   - Administration accueil cards exactly aligned with casier stat cards.
   - Administration tabs/search/refresh controls unified in one TailAdmin bar.
   ========================= */
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 22px)!important;
  contain:paint!important;
  isolation:isolate!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:112px!important;
  padding:24px 26px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:transparent!important;
  isolation:isolate!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:37%!important;
  min-width:132px!important;
  height:100%!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 22px 22px 98px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.20),rgba(124,140,255,.11))!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:after,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-title,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-title h5{
  margin:0!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-title small{
  display:block!important;
  margin-top:4px!important;
  font-size:14px!important;
  font-weight:900!important;
  color:var(--nl-heading)!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon .badge{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  flex-basis:52px!important;
}
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  padding:14px 20px 20px!important;
  margin:0!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-card)!important;
  border-radius:0!important;
  overflow:visible!important;
}

body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs){
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 24px!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,var(--nl-card),var(--nl-panel))!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:visible!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) > [class*="col-"]{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) > [class*="col-"]:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .nl-top-tabs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .form-floating{
  width:min(320px,32vw)!important;
  min-width:230px!important;
  margin:0!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .form-floating > .form-control{
  min-height:42px!important;
  height:42px!important;
  border-radius:15px!important;
  padding-top:1.15rem!important;
  padding-bottom:.35rem!important;
  background:var(--nl-card)!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .form-floating > label{
  padding:.68rem .875rem!important;
  color:var(--nl-muted)!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .btn{
  min-height:42px!important;
  border-radius:15px!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .d-flex.justify-content-xl-end,
body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .d-flex.justify-content-start{
  justify-content:flex-end!important;
}
@media(max-width:991.98px){
  body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs){
    flex-wrap:wrap!important;
    border-radius:20px!important;
  }
  body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) > [class*="col-"]{
    flex:1 1 100%!important;
    width:100%!important;
  }
  body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .form-floating{
    width:100%!important;
    min-width:0!important;
  }
  body.nl-section-administration .container-p-y > .row:has(.nl-top-tabs) .btn{
    width:100%!important;
  }
}

/* V80 fallback without relying on :has(): all admin tab rows get the same unified bar. */
body.nl-section-administration .container-p-y > .nl-admin-tabs-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 24px!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,var(--nl-card),var(--nl-panel))!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:visible!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row > [class*="col-"]{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row > [class*="col-"]:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row .nl-top-tabs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row .form-floating{
  width:min(320px,32vw)!important;
  min-width:230px!important;
  margin:0!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row .form-floating > .form-control{
  min-height:42px!important;
  height:42px!important;
  border-radius:15px!important;
  padding-top:1.15rem!important;
  padding-bottom:.35rem!important;
  background:var(--nl-card)!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row .form-floating > label{
  padding:.68rem .875rem!important;
  color:var(--nl-muted)!important;
}
body.nl-section-administration .container-p-y > .nl-admin-tabs-row .btn{
  min-height:42px!important;
  border-radius:15px!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
@media(max-width:991.98px){
  body.nl-section-administration .container-p-y > .nl-admin-tabs-row{
    flex-wrap:wrap!important;
    border-radius:20px!important;
  }
  body.nl-section-administration .container-p-y > .nl-admin-tabs-row > [class*="col-"]{
    flex:1 1 100%!important;
    width:100%!important;
  }
  body.nl-section-administration .container-p-y > .nl-admin-tabs-row .form-floating{
    width:100%!important;
    min-width:0!important;
  }
  body.nl-section-administration .container-p-y > .nl-admin-tabs-row .btn{
    width:100%!important;
  }
}
/* V80: keep the administration home decorative shape at the same visual size as casier cards, even on 3-column cards. */
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  max-width:190px!important;
}

/* =========================
   Nova-Life UI V81
   - Administration search bar redesign.
   - Administration companies listing redesigned with TailAdmin-style cards.
   - Decorative stat-card background adjusted to fill large card corners more cleanly.
   ========================= */
.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  top:-1px!important;
  right:-1px!important;
  bottom:-1px!important;
  width:clamp(168px,42%,270px)!important;
  min-width:168px!important;
  max-width:none!important;
  height:calc(100% + 2px)!important;
  border-radius:0 23px 23px 108px!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card > .card-body:before,
  .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
    width:clamp(130px,46%,220px)!important;
    min-width:130px!important;
    border-radius:0 23px 23px 86px!important;
  }
}

body.nl-section-administration .container-p-y > .nl-admin-tabs-row .nl-admin-tabs-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-left:auto!important;
}
body.nl-section-administration .nl-admin-search{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:min(360px,34vw)!important;
  min-width:260px!important;
  height:44px!important;
}
body.nl-section-administration .nl-admin-search > i{
  position:absolute!important;
  left:15px!important;
  top:50%!important;
  z-index:2!important;
  transform:translateY(-50%)!important;
  color:var(--nl-muted)!important;
  font-size:18px!important;
  line-height:1!important;
  pointer-events:none!important;
}
body.nl-section-administration .nl-admin-search > input{
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 16px 0 44px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--nl-heading)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  outline:0!important;
  box-shadow:none!important;
  transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),background-color var(--nl-transition-fast)!important;
}
html[data-theme=dark] body.nl-section-administration .nl-admin-search > input{
  background:rgba(15,23,42,.72)!important;
}
body.nl-section-administration .nl-admin-search > input::placeholder{
  color:var(--nl-muted)!important;
  font-weight:800!important;
}
body.nl-section-administration .nl-admin-search > input:focus{
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-ring)!important;
}
body.nl-section-administration .nl-admin-search:focus-within > i{
  color:var(--nl-primary)!important;
}
@media(max-width:991.98px){
  body.nl-section-administration .container-p-y > .nl-admin-tabs-row .nl-admin-tabs-actions{
    width:100%!important;
    justify-content:stretch!important;
  }
  body.nl-section-administration .nl-admin-search{
    width:100%!important;
    min-width:0!important;
  }
}

.nl-admin-companies-page .nl-page-header-card,
.nl-admin-companies-page .nl-empty-state-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.nl-admin-companies-page .nl-page-header-card .card-body{
  padding:22px 24px!important;
}
.nl-section-icon,
.nl-empty-state-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:16px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
}
.nl-section-icon i,
.nl-empty-state-icon i{
  font-size:22px!important;
  line-height:1!important;
}
.nl-card-kicker{
  display:block!important;
  margin-bottom:4px!important;
  color:var(--nl-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.nl-admin-companies-page .nl-page-header-card h5{
  color:var(--nl-heading)!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.nl-admin-company-total{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:10px 13px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-heading)!important;
}
.nl-admin-company-total span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:32px!important;
  height:32px!important;
  border-radius:999px!important;
  background:var(--nl-primary)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
}
.nl-admin-company-total small{
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
}
.nl-admin-companies-grid .nl-admin-company-link{
  display:block!important;
  height:100%!important;
  color:inherit!important;
  text-decoration:none!important;
}
.nl-admin-company-card{
  position:relative!important;
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
  transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),transform var(--nl-transition-fast)!important;
}
.nl-admin-company-card:hover{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-shadow)!important;
  transform:translateY(-1px)!important;
}
.nl-admin-company-card:before{
  content:""!important;
  position:absolute!important;
  top:-1px!important;
  right:-1px!important;
  width:clamp(150px,30%,230px)!important;
  height:104px!important;
  border-radius:0 24px 0 92px!important;
  background:linear-gradient(135deg,rgba(70,95,255,.15),rgba(70,95,255,.07))!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-admin-company-card:before{
  background:linear-gradient(135deg,rgba(124,140,255,.18),rgba(124,140,255,.09))!important;
}
.nl-admin-company-card .card-header{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:22px 24px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:transparent!important;
}
.nl-admin-company-card .card-title{
  color:var(--nl-heading)!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.nl-company-avatar{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:16px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
}
.nl-company-avatar i{font-size:22px!important;line-height:1!important}
.nl-company-activity{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  max-width:190px!important;
  padding:7px 11px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nl-admin-company-card .card-body{
  position:relative!important;
  z-index:1!important;
  padding:22px 24px!important;
}
.nl-company-info-box{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  min-height:76px!important;
  padding:14px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
}
.nl-company-info-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border:1px solid currentColor!important;
  border-radius:13px!important;
  background:rgba(70,95,255,.08)!important;
}
.nl-company-info-icon i{font-size:18px!important;line-height:1!important}
.nl-company-info-box small{
  display:block!important;
  margin-bottom:4px!important;
  color:var(--nl-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.nl-company-info-box strong{
  display:block!important;
  min-width:0!important;
  color:var(--nl-heading)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
.nl-admin-company-card .card-footer{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:15px 24px!important;
  border-top:1px solid var(--nl-border)!important;
  background:var(--nl-panel)!important;
  color:var(--nl-primary)!important;
  font-size:13px!important;
  font-weight:900!important;
}
.nl-admin-company-card .card-footer i{
  font-size:18px!important;
  line-height:1!important;
  transition:transform var(--nl-transition-fast)!important;
}
.nl-admin-company-card:hover .card-footer i{
  transform:translateX(2px)!important;
}
.nl-empty-state-card .nl-empty-state-icon{
  margin-bottom:14px!important;
}
@media(max-width:767.98px){
  .nl-admin-company-card .card-header{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .nl-company-activity{
    max-width:none!important;
    width:max-content!important;
  }
  .nl-admin-companies-page .nl-page-header-card .card-body,
  .nl-admin-company-card .card-header,
  .nl-admin-company-card .card-body,
  .nl-admin-company-card .card-footer{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* =========================
   Nova-Life UI V82
   - Better decorative stat-card fill on wide cards.
   - Real page icon inside standard header square.
   ========================= */
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card{
  border-radius:24px!important;
  clip-path:inset(0 round 24px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body{
  min-height:112px!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:-1px!important;
  right:-1px!important;
  bottom:-1px!important;
  left:auto!important;
  width:clamp(168px,34%,270px)!important;
  height:auto!important;
  min-width:0!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 24px 24px 108px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:before,
html[data-theme=dark] .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
html[data-theme=dark] .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
  border-radius:0 24px 0 108px!important;
}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body:before{
  border-radius:0 24px 24px 108px!important;
}
.nl-casier-stats .nl-casier-card > .card-body:after,
.nl-casier-stats .nl-casier-card .card-icon:before,
.nl-casier-stats .nl-casier-card .card-icon:after,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:after,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card .card-title,
.nl-casier-stats .nl-casier-card .card-icon,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-title,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card{
    border-radius:22px!important;
    clip-path:inset(0 round 22px)!important;
  }
  .nl-casier-stats .nl-casier-card > .card-body:before,
  .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
    width:clamp(130px,42%,190px)!important;
    border-radius:0 22px 22px 86px!important;
  }
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
    border-radius:0 22px 0 86px!important;
  }
}
.nl-page-host h4.fw-bold.py-3.mb-4 .nl-page-header-icon{
  position:absolute!important;
  left:26px!important;
  top:50%!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  transform:translateY(-50%)!important;
  color:var(--nl-primary)!important;
  font-size:19px!important;
  line-height:1!important;
  pointer-events:none!important;
}
.nl-page-host h4.fw-bold.py-3.mb-4:before{
  z-index:1!important;
}
.nl-page-host h4.fw-bold.py-3.mb-4 > span,
.nl-page-host h4.fw-bold.py-3.mb-4{
  position:relative!important;
}

/* =========================
   Nova-Life UI V83
   - Decorative accents fill large card corners correctly.
   - Header icon rendered as a real TailAdmin-style icon badge.
   ========================= */
.nl-page-host h4.fw-bold.py-3.mb-4{
  isolation:isolate!important;
  overflow:hidden!important;
  padding-left:88px!important;
}
.nl-page-host h4.fw-bold.py-3.mb-4:before{
  content:none!important;
  display:none!important;
}
.nl-page-host h4.fw-bold.py-3.mb-4:after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:clamp(132px,10vw,190px)!important;
  height:auto!important;
  border-radius:0 var(--nl-radius-2xl) var(--nl-radius-2xl) 105px!important;
  background:linear-gradient(135deg,rgba(70,95,255,.14),rgba(70,95,255,.08))!important;
  pointer-events:none!important;
  transform:none!important;
}
html[data-theme=dark] .nl-page-host h4.fw-bold.py-3.mb-4:after{
  background:linear-gradient(135deg,rgba(124,140,255,.18),rgba(124,140,255,.10))!important;
}
.nl-page-host h4.fw-bold.py-3.mb-4 .nl-page-header-icon{
  position:absolute!important;
  left:28px!important;
  top:50%!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.08))!important;
  color:var(--nl-primary)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 24px rgba(70,95,255,.10)!important;
  font-size:21px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-page-host h4.fw-bold.py-3.mb-4 .nl-page-header-icon{
  background:linear-gradient(135deg,rgba(124,140,255,.20),rgba(124,140,255,.08))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.18)!important;
}
.nl-page-host h4.fw-bold.py-3.mb-4 > span,
.nl-page-host h4.fw-bold.py-3.mb-4 .text-muted{
  position:relative!important;
  z-index:2!important;
}

.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before,
.nl-stat-card > .card-body:before{
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:clamp(152px,36%,278px)!important;
  height:auto!important;
  border-radius:0 24px 24px 104px!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
  border-radius:0 24px 0 104px!important;
}
@media(max-width:767.98px){
  .nl-page-host h4.fw-bold.py-3.mb-4{
    padding-left:74px!important;
  }
  .nl-page-host h4.fw-bold.py-3.mb-4:after{
    width:clamp(104px,28vw,150px)!important;
    border-radius:0 22px 22px 82px!important;
  }
  .nl-page-host h4.fw-bold.py-3.mb-4 .nl-page-header-icon{
    left:20px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:15px!important;
    font-size:19px!important;
  }
  .nl-casier-stats .nl-casier-card > .card-body:before,
  .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before,
  .nl-stat-card > .card-body:before{
    width:clamp(122px,44%,190px)!important;
    border-radius:0 22px 22px 84px!important;
  }
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
    border-radius:0 22px 0 84px!important;
  }
}


/* =========================
   Nova-Life UI V84
   - Restore the previous decorative stat-card shape after V83.
   - Public standalone pages for errors, règlement and carte.
   ========================= */
.nl-stat-card > .card-body:before{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card,
.nl-casier-stats .nl-casier-card.nl-stat-card,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card{
  border-radius:24px!important;
  clip-path:inset(0 round 24px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body{
  min-height:112px!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.nl-casier-stats .nl-casier-card > .card-body:before,
.nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:-1px!important;
  right:-1px!important;
  bottom:-1px!important;
  left:auto!important;
  width:clamp(168px,34%,270px)!important;
  height:auto!important;
  min-width:0!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 24px 24px 108px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-casier-stats .nl-casier-card > .card-body:before,
html[data-theme=dark] .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
html[data-theme=dark] .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card.nl-has-card-footer > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
  border-radius:0 24px 0 108px!important;
}
.nl-casier-stats .nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:not(.nl-has-card-footer):not(:has(.nl-casier-card-footer)) > .card-body:before{
  border-radius:0 24px 24px 108px!important;
}
.nl-casier-stats .nl-casier-card > .card-body:after,
.nl-casier-stats .nl-casier-card .card-icon:before,
.nl-casier-stats .nl-casier-card .card-icon:after,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:after,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon:before,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-casier-stats .nl-casier-card .card-title,
.nl-casier-stats .nl-casier-card .card-icon,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-title,
.nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:767.98px){
  .nl-casier-stats .nl-casier-card,
  .nl-casier-stats .nl-casier-card.nl-stat-card,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card{
    border-radius:22px!important;
    clip-path:inset(0 round 22px)!important;
  }
  .nl-casier-stats .nl-casier-card > .card-body:before,
  .nl-casier-stats .nl-casier-card.nl-stat-card > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card > .card-body:before{
    width:clamp(130px,42%,190px)!important;
    border-radius:0 22px 22px 86px!important;
  }
  .nl-casier-stats .nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-casier-stats .nl-casier-card:has(.nl-casier-card-footer) > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card.nl-has-card-footer > .card-body:before,
  .nl-admin-home-stat-cards.nl-casier-stats .nl-admin-home-stat.nl-casier-card:has(.nl-casier-card-footer) > .card-body:before{
    border-radius:0 22px 0 86px!important;
  }
}

.nl-public-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top right,rgba(70,95,255,.16),transparent 32rem),
    radial-gradient(circle at bottom left,rgba(20,184,166,.10),transparent 28rem),
    var(--nl-bg);
}
.nl-public-shell{
  width:100%;
  min-height:100vh;
  padding:32px;
}
.nl-public-shell .nl-page-host{
  max-width:1320px;
  margin:0 auto;
}
.nl-public-shell--center{
  display:grid;
  place-items:center;
}
.nl-public-shell--center .nl-page-host{
  width:min(100%,980px);
}
.nl-status-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--nl-border);
  border-radius:30px;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.05));
  box-shadow:var(--nl-shadow-lg);
}
.nl-status-card:after{
  content:"";
  position:absolute;
  top:-80px;
  right:-80px;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(70,95,255,.14);
  pointer-events:none;
}
.nl-status-card .card-body{
  position:relative;
  z-index:1;
  padding:44px;
}
.nl-status-code{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  padding:8px 14px;
  border:1px solid var(--nl-primary-border);
  border-radius:999px;
  color:var(--nl-primary);
  background:var(--nl-primary-soft);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nl-status-icon{
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  margin-bottom:22px;
  border-radius:26px;
  border:1px solid var(--nl-primary-border);
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.08));
  color:var(--nl-primary);
  font-size:40px;
}
.nl-status-title{
  margin:0 0 12px;
  color:var(--nl-heading);
  font-size:clamp(32px,5vw,64px);
  font-weight:950;
  letter-spacing:-.04em;
  line-height:.95;
}
.nl-status-text{
  max-width:620px;
  margin:0 0 26px;
  color:var(--nl-muted);
  font-size:16px;
  font-weight:700;
  line-height:1.7;
}
.nl-status-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.nl-public-map-card .card-body{padding:18px!important}
.nl-public-map-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.nl-public-map-toolbar .badge{white-space:nowrap}
.nl-public-map-card #layerMap{height:calc(100vh - 255px);min-height:600px}
.nl-public-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--nl-border);
  border-radius:18px;
  background:var(--nl-soft);
  color:var(--nl-muted);
  font-weight:700;
}
.nl-public-note i{color:var(--nl-primary);font-size:20px;line-height:1.2}
@media(max-width:767.98px){
  .nl-public-shell{padding:16px}
  .nl-status-card .card-body{padding:28px 22px}
  .nl-status-icon{width:62px;height:62px;border-radius:22px;font-size:32px}
  .nl-public-map-toolbar{align-items:flex-start;flex-direction:column}
  .nl-public-map-card #layerMap{height:70vh;min-height:420px}
}

/* =========================
   Nova-Life UI V85
   TailAdmin-style public pages: 403 / 404 / Coming Soon / Maintenance
   ========================= */
.nl-tailadmin-error-shell{
  position:relative;
  z-index:1;
  display:flex;
  min-height:100vh;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:32px 24px;
}
.nl-tailadmin-grid{
  position:absolute;
  z-index:-1;
  width:min(42vw,450px);
  opacity:.78;
  pointer-events:none;
}
.nl-tailadmin-grid img{display:block;width:100%;height:auto}
.nl-tailadmin-grid-top{top:0;right:0}
.nl-tailadmin-grid-bottom{left:0;bottom:0;transform:rotate(180deg)}
.nl-tailadmin-error-content{
  width:100%;
  max-width:472px;
  margin-inline:auto;
  text-align:center;
}
.nl-public-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
  color:var(--nl-heading);
  font-size:15px;
  font-weight:900;
  letter-spacing:.02em;
}
.nl-public-brand-mark{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:14px;
  border:1px solid var(--nl-primary-border);
  background:linear-gradient(135deg,var(--nl-primary-soft),rgba(70,95,255,.08));
  color:var(--nl-primary);
  box-shadow:var(--nl-shadow-sm);
}
.nl-public-brand-mark i{font-size:20px}
.nl-tailadmin-error-kicker{
  margin:0 0 32px;
  color:var(--nl-heading);
  font-size:clamp(40px,8vw,76px);
  font-weight:950;
  line-height:.95;
  letter-spacing:-.055em;
}
.nl-tailadmin-page-title{
  margin:0 0 18px;
  color:var(--nl-heading);
  font-size:clamp(38px,7vw,64px);
  font-weight:950;
  line-height:1;
  letter-spacing:-.055em;
}
.nl-tailadmin-error-visual{
  width:100%;
  max-width:472px;
  margin:0 auto;
}
.nl-tailadmin-error-visual img{display:block;width:100%;height:auto}
html[data-theme=dark] .nl-error-visual-light{display:none!important}
html:not([data-theme=dark]) .nl-error-visual-dark{display:none!important}
.nl-error-number{
  margin:0 auto 18px;
  color:var(--nl-primary);
  font-size:clamp(86px,18vw,158px);
  font-weight:950;
  line-height:.88;
  letter-spacing:-.08em;
  text-shadow:0 20px 50px rgba(70,95,255,.16);
}
.nl-tailadmin-error-text{
  max-width:620px;
  margin:28px auto 26px;
  color:var(--nl-muted);
  font-size:clamp(15px,2vw,18px);
  font-weight:700;
  line-height:1.65;
}
.nl-tailadmin-error-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.nl-tailadmin-error-footer{
  position:absolute;
  left:50%;
  bottom:24px;
  margin:0;
  transform:translateX(-50%);
  color:var(--nl-muted);
  font-size:13px;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
.nl-coming-countdown{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:30px 0;
}
.nl-coming-countdown>div{
  min-width:0;
  padding:16px 10px;
  border:1px solid var(--nl-border);
  border-radius:18px;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04));
  box-shadow:var(--nl-shadow-sm);
}
.nl-coming-countdown strong{
  display:block;
  margin-bottom:4px;
  color:var(--nl-heading);
  font-size:clamp(24px,4vw,36px);
  font-weight:950;
  line-height:1;
  letter-spacing:-.04em;
}
.nl-coming-countdown span{
  display:block;
  color:var(--nl-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.nl-coming-form{
  margin:0 auto;
  padding:18px;
  border:1px solid var(--nl-border);
  border-radius:22px;
  background:var(--nl-panel);
  box-shadow:var(--nl-shadow-sm);
  text-align:left;
}
.nl-coming-form label{
  display:block;
  margin-bottom:12px;
  color:var(--nl-heading);
  font-size:14px;
  font-weight:900;
}
.nl-coming-input-row{
  display:flex;
  gap:10px;
}
.nl-coming-input-row .form-control{flex:1 1 auto;min-width:0}
.nl-coming-input-row .btn{white-space:nowrap}
.nl-coming-feedback{
  display:none;
  align-items:center;
  gap:6px;
  margin:12px 0 0;
  color:var(--nl-success);
  font-size:13px;
  font-weight:800;
}
.nl-coming-form.is-submitted .nl-coming-feedback{display:flex}
.nl-coming-socials{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:22px;
}
.nl-coming-socials a{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid var(--nl-border);
  border-radius:14px;
  background:var(--nl-panel);
  color:var(--nl-muted);
  box-shadow:var(--nl-shadow-sm);
  transition:var(--nl-transition);
}
.nl-coming-socials a:hover{
  border-color:var(--nl-primary-border);
  color:var(--nl-primary);
  background:var(--nl-primary-soft);
  transform:translateY(-1px);
}
.nl-maintenance-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  width:min(100%,420px);
  margin:0 auto 34px;
  padding:30px;
  border:1px solid var(--nl-border);
  border-radius:30px;
  background:radial-gradient(circle at 50% 20%,rgba(70,95,255,.16),transparent 60%),linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.04));
  box-shadow:var(--nl-shadow-sm);
}
.nl-maintenance-visual span{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border:1px solid var(--nl-primary-border);
  border-radius:24px;
  background:var(--nl-primary-soft);
  color:var(--nl-primary);
  box-shadow:var(--nl-shadow-sm);
}
.nl-maintenance-visual span:nth-child(2){
  width:92px;
  height:92px;
  border-radius:30px;
  background:linear-gradient(135deg,var(--nl-primary),#7c8cff);
  color:#fff;
  transform:translateY(-10px);
  box-shadow:0 22px 50px rgba(70,95,255,.22);
}
.nl-maintenance-visual i{font-size:34px}
.nl-maintenance-visual span:nth-child(2) i{font-size:42px}
.nl-maintenance-title{letter-spacing:.04em;text-transform:uppercase}
@media(max-width:767.98px){
  .nl-tailadmin-error-shell{padding:24px 18px 72px}
  .nl-tailadmin-grid{width:min(70vw,260px);opacity:.55}
  .nl-public-brand{margin-bottom:20px}
  .nl-tailadmin-error-kicker{margin-bottom:24px}
  .nl-tailadmin-error-text{margin:22px auto 22px}
  .nl-tailadmin-error-footer{bottom:18px}
  .nl-coming-countdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .nl-coming-input-row{flex-direction:column}
  .nl-maintenance-visual{gap:10px;padding:20px;border-radius:24px}
  .nl-maintenance-visual span{width:56px;height:56px;border-radius:20px}
  .nl-maintenance-visual span:nth-child(2){width:72px;height:72px;border-radius:24px}
  .nl-maintenance-visual i{font-size:26px}
  .nl-maintenance-visual span:nth-child(2) i{font-size:34px}
}

/* =========================
   Nova-Life UI V89
   - Admin + prefecture vehicle detail pages.
   - Optional legacy assets/img/logo and hourly backgrounds support.
   ========================= */
body.nl-auth-page{
  background-image:
    linear-gradient(135deg,rgba(15,23,42,.72),rgba(15,23,42,.36)),
    var(--nl-auth-background,radial-gradient(circle at 18% 18%,rgba(70,95,255,.32),transparent 32rem),radial-gradient(circle at 82% 76%,rgba(20,184,166,.18),transparent 28rem));
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
}
.nl-auth-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:46px!important;
  color:var(--nl-heading)!important;
  text-decoration:none!important;
}
.nl-auth-logo-img{
  display:block!important;
  width:auto!important;
  max-width:220px!important;
  max-height:58px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 12px 26px rgba(15,23,42,.14));
}
.nl-brand-mark-logo{
  background:var(--nl-panel)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  padding:5px!important;
}
html[data-theme=dark] .nl-brand-mark-logo{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.nl-brand-mark-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.nl-admin-vehicle-page .nl-admin-vehicle-action-band{
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.nl-admin-vehicle-hero{
  overflow:hidden!important;
  border:1px solid var(--nl-border)!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.05))!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-admin-vehicle-hero .card-body{
  padding:24px!important;
}
.nl-admin-vehicle-hero-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
}
.nl-admin-vehicle-image-frame{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:190px!important;
  min-width:190px!important;
  height:126px!important;
  overflow:hidden!important;
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:radial-gradient(circle at 50% 34%,rgba(70,95,255,.12),transparent 68%),var(--nl-soft)!important;
}
.nl-admin-vehicle-image-frame img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  max-width:88%!important;
  max-height:90%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 14px 20px rgba(15,23,42,.18));
}
.nl-admin-vehicle-image-empty{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:none!important;
  place-items:center!important;
  color:var(--nl-primary)!important;
  font-size:48px!important;
}
.nl-admin-vehicle-image-frame.is-empty .nl-admin-vehicle-image-empty{display:grid!important}
.nl-admin-vehicle-hero-content{
  min-width:0!important;
  flex:1 1 auto!important;
}
.nl-admin-vehicle-hero-content h3{
  margin:0 0 10px!important;
  color:var(--nl-heading)!important;
  font-size:clamp(24px,3vw,36px)!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
.nl-admin-vehicle-hero-content .list-inline-item{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 11px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-muted)!important;
  font-size:13px!important;
  font-weight:800!important;
}
.nl-admin-vehicle-hero-content .list-inline-item i{
  color:var(--nl-primary)!important;
  font-size:17px!important;
}
.nl-admin-vehicle-color{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}
.nl-color-swatch{
  display:inline-block!important;
  width:42px!important;
  height:24px!important;
  min-width:42px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:9px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;
}
.nl-admin-vehicle-flocage{
  display:block!important;
  width:auto!important;
  max-width:min(260px,100%)!important;
  max-height:150px!important;
  object-fit:contain!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-soft)!important;
  padding:8px!important;
}
.nl-admin-vehicle-actions{
  display:grid!important;
  gap:12px!important;
}
.nl-modal-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  height:56px!important;
  margin-bottom:14px!important;
  border:1px solid var(--nl-primary-border)!important;
  border-radius:20px!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  font-size:28px!important;
}
@media(max-width:991.98px){
  .nl-admin-vehicle-hero-inner{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .nl-admin-vehicle-image-frame{
    width:100%!important;
    min-width:0!important;
    height:180px!important;
  }
  .nl-admin-vehicle-hero-inner>.nl-status-pill{
    align-self:flex-start!important;
  }
}
@media(max-width:575.98px){
  .nl-admin-vehicle-page .nl-admin-vehicle-action-band{
    width:100%!important;
  }
  .nl-admin-vehicle-hero .card-body{padding:18px!important}
  .nl-admin-vehicle-image-frame{height:150px!important;border-radius:20px!important}
}


/* Nova-Life UI V89 - vehicle detail refinements and legacy media folders. */
.nl-admin-vehicle-hero-content .nl-garage-color-dot{
  flex:0 0 auto!important;
}
.nl-prefecture-vehicle-page .nl-admin-vehicle-action-band{
  margin-left:0!important;
}
.nl-prefecture-vehicle-page .nl-ta-profile-shell,
.nl-admin-vehicle-page .nl-ta-profile-shell{
  overflow:hidden!important;
}
.nl-auth-page .authentication-wrapper{
  background:rgba(16,24,40,.50)!important;
  backdrop-filter:blur(2px)!important;
}


/* Nova-Life UI V89 - legacy logos/backgrounds + shared vehicle thumbnails. */
.nl-brand-mark-logo{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-theme=dark] .nl-brand-mark-logo{
  background:transparent!important;
  border-color:transparent!important;
}
.nl-brand-mark-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
  display:block!important;
}
.nl-admin-vehicle-image-frame{
  padding:10px!important;
  background:linear-gradient(135deg,var(--nl-panel),var(--nl-soft))!important;
}
.nl-admin-vehicle-image-frame img{
  max-width:96%!important;
  max-height:96%!important;
}
.nl-garage-vehicle-thumbnail{
  width:190px!important;
  min-width:190px!important;
  height:126px!important;
  border-radius:24px!important;
  flex:0 0 auto!important;
}
.nl-garage-vehicle-hero .user-profile-header{
  align-items:center!important;
  gap:22px!important;
}
.nl-garage-vehicle-hero .user-profile-info{
  min-width:0!important;
}
@media(max-width:767.98px){
  .nl-garage-vehicle-thumbnail{
    width:100%!important;
    min-width:0!important;
    height:150px!important;
  }
  .nl-garage-vehicle-hero .user-profile-header{
    align-items:stretch!important;
    text-align:left!important;
  }
  .nl-garage-vehicle-hero .user-profile-info .list-inline{
    justify-content:flex-start!important;
  }
}


/* Nova-Life UI V90 - auth dark mode/backgrounds, custom character select, transparent vehicle thumbnails. */
body.nl-auth-page{
  min-height:100vh!important;
  background-color:#0b1220!important;
  background-image:
    linear-gradient(135deg,rgba(15,23,42,.58),rgba(15,23,42,.24)),
    var(--nl-auth-background,radial-gradient(circle at 18% 18%,rgba(70,95,255,.32),transparent 32rem),radial-gradient(circle at 82% 76%,rgba(20,184,166,.18),transparent 28rem))!important;
  background-size:cover,cover!important;
  background-position:center,center!important;
  background-repeat:no-repeat,no-repeat!important;
  background-attachment:fixed!important;
}
.nl-auth-page .authentication-wrapper{
  min-height:100vh!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(15,23,42,.32)!important;
  backdrop-filter:blur(1px)!important;
}
.nl-auth-page .authentication-inner{
  width:100%!important;
  max-width:460px!important;
  margin:0 auto!important;
}
.nl-auth-page .card{
  width:100%!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:color-mix(in srgb,var(--nl-card) 92%,transparent)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(18px)!important;
}
html[data-theme=light] .nl-auth-page .card{
  border-color:rgba(255,255,255,.55)!important;
  background:rgba(255,255,255,.92)!important;
}
.nl-auth-page .app-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  text-align:center!important;
}
.nl-auth-page .nl-auth-logo{
  width:100%!important;
  max-width:310px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.nl-auth-page .nl-auth-logo-img{
  display:block!important;
  width:auto!important;
  max-width:min(280px,100%)!important;
  max-height:76px!important;
  margin:0 auto!important;
  object-fit:contain!important;
}
.nl-auth-select{
  position:relative!important;
  width:100%!important;
}
.nl-auth-native-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
  left:0!important;
  bottom:0!important;
}
.nl-auth-select-trigger{
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:11px 14px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  font-weight:800!important;
  text-align:left!important;
  transition:border var(--nl-transition),box-shadow var(--nl-transition),background var(--nl-transition),color var(--nl-transition)!important;
}
.nl-auth-select-trigger:hover,
.nl-auth-select.is-open .nl-auth-select-trigger{
  border-color:var(--nl-primary-border)!important;
  box-shadow:var(--nl-ring)!important;
}
.nl-auth-select-trigger:disabled{
  cursor:not-allowed!important;
  color:var(--nl-muted)!important;
  background:var(--nl-soft)!important;
  box-shadow:none!important;
}
.nl-auth-select-current{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.nl-auth-select-trigger i{
  flex:0 0 auto!important;
  color:var(--nl-muted)!important;
  font-size:18px!important;
  transition:transform var(--nl-transition),color var(--nl-transition)!important;
}
.nl-auth-select.is-open .nl-auth-select-trigger i{
  transform:rotate(180deg)!important;
  color:var(--nl-primary)!important;
}
.nl-auth-select-menu{
  position:absolute!important;
  z-index:1100!important;
  top:calc(100% + 10px)!important;
  left:0!important;
  right:0!important;
  display:grid!important;
  gap:4px!important;
  max-height:270px!important;
  overflow:auto!important;
  padding:8px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:18px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.18),0 8px 22px rgba(15,23,42,.10)!important;
}
html[data-theme=dark] .nl-auth-select-menu{
  box-shadow:0 24px 60px rgba(0,0,0,.44)!important;
}
.nl-auth-select-menu[hidden]{display:none!important;}
.nl-auth-select-option{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--nl-text)!important;
  font-weight:800!important;
  text-align:left!important;
  transition:background var(--nl-transition),color var(--nl-transition),transform var(--nl-transition)!important;
}
.nl-auth-select-option small{
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:900!important;
}
.nl-auth-select-option:hover,
.nl-auth-select-option:focus,
.nl-auth-select-option.is-selected{
  outline:0!important;
  color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
  transform:translateX(1px)!important;
}
.nl-auth-select-option:hover small,
.nl-auth-select-option:focus small,
.nl-auth-select-option.is-selected small{
  color:var(--nl-primary)!important;
}
.nl-admin-vehicle-hero,
.nl-garage-vehicle-hero,
.nl-garage-vehicle-hero .user-profile-header{
  overflow:visible!important;
}
.nl-admin-vehicle-image-frame,
.nl-garage-vehicle-thumbnail{
  width:220px!important;
  min-width:220px!important;
  height:154px!important;
  padding:0!important;
  overflow:visible!important;
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nl-admin-vehicle-image-frame img,
.nl-garage-vehicle-thumbnail img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(.94)!important;
  filter:drop-shadow(0 18px 22px rgba(15,23,42,.24))!important;
}
.nl-admin-vehicle-image-frame.is-empty{
  border:1px solid var(--nl-border)!important;
  background:var(--nl-soft)!important;
  overflow:hidden!important;
}
@media(max-width:991.98px){
  .nl-admin-vehicle-image-frame,
  .nl-garage-vehicle-thumbnail{
    width:100%!important;
    min-width:0!important;
    height:180px!important;
  }
}
@media(max-width:575.98px){
  .nl-admin-vehicle-image-frame,
  .nl-garage-vehicle-thumbnail{
    height:160px!important;
  }
}

/* Nova-Life UI V91 - auth backgrounds visible, unclipped dropdowns, centered prefecture action, transparent vehicle images. */
.nl-prefecture-vehicle-page .nl-admin-vehicle-action-band{
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
}
body.nl-auth-page{
  background-color:#050b18!important;
  background-image:
    linear-gradient(135deg,rgba(5,11,24,.28),rgba(5,11,24,.14)),
    var(--nl-auth-background,url('../img/backgrounds/12.webp'))!important;
  background-size:cover,cover!important;
  background-position:center,center!important;
  background-repeat:no-repeat,no-repeat!important;
  background-attachment:fixed,fixed!important;
}
.nl-auth-page .authentication-wrapper{
  overflow:visible!important;
  background:rgba(5,11,24,.08)!important;
  backdrop-filter:none!important;
}
.nl-auth-page .authentication-inner,
.nl-auth-page .card,
.nl-auth-page .card-body,
.nl-auth-page form,
.nl-auth-page .mb-3,
.nl-auth-select{
  overflow:visible!important;
}
.nl-auth-page .authentication-inner{
  position:relative!important;
  z-index:2!important;
}
.nl-auth-page .card{
  position:relative!important;
  z-index:2!important;
}
.nl-auth-select-menu{
  z-index:9999!important;
  max-height:min(300px,42vh)!important;
}
.nl-auth-select.is-open{
  z-index:9999!important;
}
.nl-admin-vehicle-hero,
.nl-admin-vehicle-hero .card-body,
.nl-admin-vehicle-hero-inner,
.nl-garage-vehicle-hero,
.nl-garage-vehicle-hero .user-profile-header{
  overflow:visible!important;
}
.nl-admin-vehicle-image-frame,
.nl-garage-vehicle-thumbnail{
  width:240px!important;
  min-width:240px!important;
  height:170px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nl-admin-vehicle-image-frame img,
.nl-garage-vehicle-thumbnail img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  background:transparent!important;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.28))!important;
}
.nl-admin-vehicle-image-frame.is-empty{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-soft)!important;
  overflow:hidden!important;
}
@media(max-width:991.98px){
  .nl-admin-vehicle-image-frame,
  .nl-garage-vehicle-thumbnail{
    width:100%!important;
    min-width:0!important;
    height:190px!important;
  }
}
@media(max-width:575.98px){
  .nl-admin-vehicle-image-frame,
  .nl-garage-vehicle-thumbnail{height:170px!important;}
}


/* Nova-Life UI V92 - WebP-only auth backgrounds and non-clipped character dropdown. */
body.nl-auth-page{
  overflow-y:auto!important;
  background-color:#050b18!important;
  background-image:
    linear-gradient(135deg,rgba(5,11,24,.16),rgba(5,11,24,.06)),
    var(--nl-auth-background,url('/assets/img/backgrounds/12.webp'))!important;
  background-size:cover,cover!important;
  background-position:center,center!important;
  background-repeat:no-repeat,no-repeat!important;
  background-attachment:fixed,fixed!important;
}
.nl-auth-page .authentication-wrapper{
  min-height:100svh!important;
  overflow:visible!important;
  background:transparent!important;
  backdrop-filter:none!important;
}
.nl-auth-page .authentication-inner,
.nl-auth-page .card,
.nl-auth-page .card-body,
.nl-auth-page form,
.nl-auth-page .mb-3,
.nl-auth-select{
  overflow:visible!important;
}
.nl-auth-page .card{
  isolation:auto!important;
}
.nl-auth-select-menu{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  margin-top:10px!important;
  z-index:9999!important;
  max-height:min(320px,44vh)!important;
  overflow:auto!important;
}
.nl-auth-select.is-open .nl-auth-select-menu{
  display:grid!important;
}


/* Nova-Life UI V93 - lighter auth overlay and floating character dropdown. */
body.nl-auth-page{
  background-image:
    linear-gradient(135deg,rgba(5,11,24,.055),rgba(5,11,24,.015)),
    var(--nl-auth-background,url('/assets/img/backgrounds/12.webp'))!important;
}
.nl-auth-page .authentication-wrapper{
  background:rgba(5,11,24,.04)!important;
}
.nl-auth-page .card{
  background:rgba(15,23,42,.84)!important;
}
html[data-theme=light] .nl-auth-page .card{
  background:rgba(255,255,255,.84)!important;
}
.nl-auth-select{
  position:relative!important;
}
.nl-auth-select-menu{
  position:fixed!important;
  top:var(--nl-auth-select-top,auto)!important;
  left:var(--nl-auth-select-left,auto)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--nl-auth-select-width,100%)!important;
  margin-top:0!important;
  z-index:2147483000!important;
  max-height:var(--nl-auth-select-max-height,min(320px,44vh))!important;
  overflow:auto!important;
}
.nl-auth-select.is-open{
  z-index:2147483000!important;
}
.nl-auth-select.is-open .nl-auth-select-menu{
  display:grid!important;
}


/* Nova-Life UI V94 - clearer auth backgrounds, body-level character dropdown, centered vehicle renders. */
body.nl-auth-page{
  background-image:
    linear-gradient(135deg,rgba(5,11,24,.02),rgba(5,11,24,0)),
    var(--nl-auth-background,url('/assets/img/backgrounds/12.webp'))!important;
}
.nl-auth-page .authentication-wrapper{
  background:transparent!important;
  backdrop-filter:none!important;
}
.nl-auth-page .card{
  background:rgba(15,23,42,.74)!important;
}
html[data-theme=light] .nl-auth-page .card{
  background:rgba(255,255,255,.76)!important;
}
body > .nl-auth-select-menu.nl-auth-select-menu-floating{
  position:fixed!important;
  top:var(--nl-auth-select-top,auto)!important;
  left:var(--nl-auth-select-left,auto)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--nl-auth-select-width,100%)!important;
  margin-top:0!important;
  z-index:2147483000!important;
  display:grid!important;
  max-height:var(--nl-auth-select-max-height,min(320px,44vh))!important;
  overflow:auto!important;
}
body > .nl-auth-select-menu.nl-auth-select-menu-floating[hidden]{
  display:none!important;
}
.nl-admin-vehicle-image-frame,
.nl-garage-vehicle-thumbnail{
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
}
.nl-admin-vehicle-image-frame img,
.nl-garage-vehicle-thumbnail img{
  object-position:center center!important;
  transform:translateY(-7%)!important;
}
@media(max-width:575.98px){
  .nl-admin-vehicle-image-frame img,
  .nl-garage-vehicle-thumbnail img{
    transform:translateY(-5%)!important;
  }
}


/* Nova-Life UI V95 - clearer auth backgrounds and garage stat cards with separated CTA footer. */
body.nl-auth-page{
  background-image:
    linear-gradient(135deg,rgba(5,11,24,0),rgba(5,11,24,0)),
    var(--nl-auth-background,url('/assets/img/backgrounds/12.webp'))!important;
}
.nl-auth-page .authentication-wrapper{
  background:transparent!important;
  backdrop-filter:none!important;
}
.nl-auth-page .card{
  background:rgba(15,23,42,.58)!important;
  border-color:rgba(255,255,255,.16)!important;
  backdrop-filter:blur(10px)!important;
}
html[data-theme=light] .nl-auth-page .card{
  background:rgba(255,255,255,.62)!important;
}
.nl-garage-vehicle-stats .nl-casier-card.nl-stat-card{
  height:100%!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-garage-vehicle-stats .nl-casier-card.nl-stat-card > .card-body{
  min-height:112px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border-bottom-left-radius:0!important;
  border-bottom-right-radius:0!important;
}
.nl-garage-vehicle-stats .nl-casier-card.nl-stat-card > .card-body:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:-1px!important;
  right:-1px!important;
  bottom:-1px!important;
  left:auto!important;
  width:clamp(168px,34%,270px)!important;
  height:auto!important;
  min-width:0!important;
  background:linear-gradient(135deg,rgba(70,95,255,.16),rgba(70,95,255,.09))!important;
  border-radius:0 24px 0 108px!important;
  transform:none!important;
  pointer-events:none!important;
}
html[data-theme=dark] .nl-garage-vehicle-stats .nl-casier-card.nl-stat-card > .card-body:before{
  background:linear-gradient(135deg,rgba(124,140,255,.22),rgba(124,140,255,.11))!important;
}
.nl-garage-vehicle-stats .nl-casier-card.nl-stat-card > .card-body:after,
.nl-garage-vehicle-stats .nl-casier-card .card-icon:before,
.nl-garage-vehicle-stats .nl-casier-card .card-icon:after{
  content:none!important;
  display:none!important;
}
.nl-garage-vehicle-stats .nl-casier-card .card-title,
.nl-garage-vehicle-stats .nl-casier-card .card-icon{
  position:relative!important;
  z-index:2!important;
}
.nl-garage-vehicle-stats .nl-casier-card .nl-casier-card-footer{
  position:relative!important;
  z-index:3!important;
  background:var(--nl-card)!important;
  border-top:1px solid var(--nl-border)!important;
}
@media(max-width:767.98px){
  .nl-garage-vehicle-stats .nl-casier-card.nl-stat-card > .card-body:before{
    width:clamp(130px,42%,190px)!important;
    border-radius:0 22px 0 86px!important;
  }
}


/* Nova-Life UI V96 - auth background opacity controlled by CSS variables.
   Change these 3 values to adjust login / character selection readability:
   --nl-auth-overlay-opacity: full-page dark veil over the background image
   --nl-auth-card-opacity: auth card opacity in dark mode
   --nl-auth-card-opacity-light: auth card opacity in light mode */
body.nl-auth-page{
  --nl-auth-overlay-opacity:.16;
  --nl-auth-card-opacity:.52;
  --nl-auth-card-opacity-light:.54;
  background-image:
    linear-gradient(135deg,rgba(5,11,24,var(--nl-auth-overlay-opacity)),rgba(5,11,24,var(--nl-auth-overlay-opacity))),
    var(--nl-auth-background,url('/assets/img/backgrounds/12.webp'))!important;
  background-size:cover,cover!important;
  background-position:center,center!important;
  background-repeat:no-repeat,no-repeat!important;
}
.nl-auth-page .authentication-wrapper{
  background:transparent!important;
  backdrop-filter:none!important;
}
.nl-auth-page .card{
  background:rgba(15,23,42,var(--nl-auth-card-opacity))!important;
  border-color:rgba(255,255,255,.14)!important;
  backdrop-filter:blur(8px)!important;
}
html[data-theme=light] .nl-auth-page .card{
  background:rgba(255,255,255,var(--nl-auth-card-opacity-light))!important;
}


/* Nova-Life UI V97 - auth background opacity actually controls the dark veil.
   Modifier ici :
   --nl-auth-overlay-opacity = voile sombre sur le screenshot de fond
   --nl-auth-card-opacity = opacité de la carte en dark mode
   --nl-auth-card-opacity-light = opacité de la carte en light mode */
body.nl-auth-page{
  --nl-auth-overlay-opacity:.04;
  --nl-auth-card-opacity:.52;
  --nl-auth-card-opacity-light:.54;
  background-color:#050b18!important;
  background-blend-mode:normal!important;
  background-image:
    linear-gradient(135deg,rgba(5,11,24,var(--nl-auth-overlay-opacity)),rgba(5,11,24,var(--nl-auth-overlay-opacity))),
    var(--nl-auth-background,url('/assets/img/backgrounds/12.webp'))!important;
  background-size:cover,cover!important;
  background-position:center,center!important;
  background-repeat:no-repeat,no-repeat!important;
  background-attachment:fixed,fixed!important;
}
body.nl-auth-page::before{
  content:none!important;
  display:none!important;
}
.nl-auth-page .authentication-wrapper{
  background:transparent!important;
  backdrop-filter:none!important;
}
.nl-auth-page .card{
  background:rgba(15,23,42,var(--nl-auth-card-opacity))!important;
  border-color:rgba(255,255,255,.14)!important;
  backdrop-filter:blur(8px)!important;
}
html[data-theme=light] .nl-auth-page .card{
  background:rgba(255,255,255,var(--nl-auth-card-opacity-light))!important;
}


/* Nova custom updates - notifications, copy buttons, CT alerts, darkweb meta */
.nl-notification-dropdown{position:relative}.nl-notification-toggle{position:relative}.nl-notification-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--nl-danger);color:#fff;font-size:11px;font-weight:900;border:2px solid var(--nl-panel);box-shadow:0 10px 24px rgba(240,68,56,.28)}.nl-notification-menu{width:min(390px,calc(100vw - 24px));padding:0!important;overflow:hidden;border:1px solid var(--nl-border)!important;border-radius:22px!important;background:var(--nl-card)!important;box-shadow:var(--nl-shadow-lg)!important}.nl-notification-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--nl-border);background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.06))}.nl-notification-menu-head strong{display:block;color:var(--nl-heading);font-size:15px;font-weight:900}.nl-notification-menu-head small{display:block;color:var(--nl-muted);font-size:12px;font-weight:800}.nl-notification-head-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:var(--nl-primary-soft);color:var(--nl-primary)}.nl-notification-list{display:grid;max-height:430px;overflow:auto}.nl-notification-item{display:flex!important;align-items:flex-start;gap:12px;padding:14px 16px;color:var(--nl-text)!important;border-bottom:1px solid var(--nl-border);text-decoration:none!important;transition:var(--nl-transition)}.nl-notification-item:last-child{border-bottom:0}.nl-notification-item:hover{background:var(--nl-panel);transform:translateX(1px)}.nl-notification-item-icon{width:36px;height:36px;min-width:36px;border-radius:13px;display:grid;place-items:center;background:var(--nl-primary-soft);color:var(--nl-primary)}.nl-notification-item.is-danger .nl-notification-item-icon{background:rgba(240,68,56,.12);color:var(--nl-danger)}.nl-notification-item.is-warning .nl-notification-item-icon{background:rgba(247,144,9,.14);color:var(--nl-warning)}.nl-notification-item.is-info .nl-notification-item-icon{background:rgba(14,165,233,.12);color:#0ea5e9}.nl-notification-item-content{min-width:0;display:grid;gap:4px;flex:1}.nl-notification-item-content strong{color:var(--nl-heading);font-size:13px;font-weight:900;line-height:1.25}.nl-notification-item-content small{color:var(--nl-muted);font-size:12px;font-weight:750;line-height:1.45}.nl-notification-chevron{align-self:center;color:var(--nl-muted)}.nl-notification-empty{padding:30px 18px;text-align:center;display:grid;justify-items:center;gap:8px}.nl-notification-empty span{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(18,183,106,.12);color:var(--nl-success)}.nl-notification-empty strong{color:var(--nl-heading);font-weight:900}.nl-notification-empty small{color:var(--nl-muted);font-weight:800}.nl-copy-id-line{display:inline-flex!important;align-items:center!important;gap:6px!important;min-width:0}.nl-copy-id-line>a,.nl-copy-id-line>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.nl-copy-id-btn{width:25px;height:25px;min-width:25px;border:1px solid var(--nl-border);border-radius:9px;display:inline-grid;place-items:center;background:var(--nl-panel);color:var(--nl-muted);box-shadow:var(--nl-shadow-sm);transition:var(--nl-transition);padding:0}.nl-copy-id-btn:hover{color:var(--nl-primary);border-color:var(--nl-primary-border);background:var(--nl-primary-soft);transform:translateY(-1px)}.nl-copy-id-btn.is-copied{color:#fff!important;background:var(--nl-success)!important;border-color:var(--nl-success)!important}.nl-copy-id-btn .ti{font-size:14px!important}.nl-ct-status-badge{font-size:13px!important;padding:9px 12px!important;border-radius:999px!important;box-shadow:var(--nl-shadow-sm)!important}.nl-ct-status-badge.is-danger{font-size:15px!important;padding:12px 16px!important;animation:nlCtPulse 1.8s ease-in-out infinite}.nl-ct-status-badge.is-danger i{font-size:20px!important}.nl-ct-expired-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid rgba(240,68,56,.28);border-radius:24px;background:linear-gradient(135deg,rgba(240,68,56,.16),rgba(240,68,56,.06));box-shadow:0 18px 40px rgba(240,68,56,.13)}.nl-ct-expired-alert-icon{width:58px;height:58px;min-width:58px;border-radius:20px;display:grid;place-items:center;background:rgba(240,68,56,.14);color:var(--nl-danger)}.nl-ct-expired-alert-icon .ti{font-size:30px!important}.nl-ct-expired-alert span{display:block;margin-bottom:4px;color:var(--nl-danger);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.nl-ct-expired-alert h5{margin:0 0 4px;color:var(--nl-heading);font-size:18px;font-weight:950}.nl-ct-expired-alert p{margin:0;color:var(--nl-text);font-weight:750}.nl-darkweb-message-stack{display:flex;flex-direction:column;gap:6px;max-width:min(680px,78%)}.nl-darkweb-message.is-mine .nl-darkweb-message-stack{align-items:flex-end}.nl-darkweb-message.is-other .nl-darkweb-message-stack{align-items:flex-start}.nl-darkweb-message-stack .nl-darkweb-bubble{max-width:100%!important}.nl-darkweb-meta{display:block;color:var(--nl-muted)!important;font-size:12px!important;font-weight:850!important;padding:0 4px}.nl-darkweb-bubble p{margin-bottom:0!important}@keyframes nlCtPulse{0%,100%{box-shadow:0 0 0 0 rgba(240,68,56,.28)}50%{box-shadow:0 0 0 8px rgba(240,68,56,0)}}@media(max-width:575.98px){.nl-notification-menu{width:calc(100vw - 18px)}.nl-ct-expired-alert{align-items:flex-start;flex-direction:column}.nl-ct-expired-alert .btn{width:100%}.nl-darkweb-message-stack{max-width:92%}}


/* Nova correction pass - cleaner notifications, integrated copy buttons, CT pill only, colored status pills, darkweb meta inside bubbles */
.nl-notification-menu{
  width:min(430px,calc(100vw - 22px))!important;
  padding:10px!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:var(--nl-card)!important;
  border:1px solid var(--nl-border)!important;
  box-shadow:0 22px 65px rgba(2,6,23,.28)!important;
}
.nl-notification-menu-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:4px 4px 10px!important;
  border-bottom:0!important;
  background:transparent!important;
}
.nl-notification-title{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.nl-notification-title span{
  display:inline-flex!important;
  color:var(--nl-heading)!important;
  font-size:15px!important;
  font-weight:950!important;
  line-height:1!important;
}
.nl-notification-title small{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:var(--nl-soft)!important;
  color:var(--nl-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
}
.nl-notification-head-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:12px!important;
}
.nl-notification-list{
  display:grid!important;
  gap:8px!important;
  max-height:430px!important;
  overflow:auto!important;
  padding:0 1px 1px!important;
}
.nl-notification-item{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:11px 12px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-text)!important;
  text-decoration:none!important;
  transition:var(--nl-transition)!important;
}
.nl-notification-item:hover{
  border-color:var(--nl-primary-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.06))!important;
  transform:none!important;
}
.nl-notification-item-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:12px!important;
  font-size:17px!important;
}
.nl-notification-item-content{
  min-width:0!important;
  display:block!important;
}
.nl-notification-item-content strong{
  display:block!important;
  margin-bottom:3px!important;
  color:var(--nl-heading)!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1.2!important;
}
.nl-notification-item-content small{
  display:block!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.nl-notification-chevron{
  margin-left:2px!important;
  color:var(--nl-muted)!important;
  font-size:16px!important;
}
.nl-copy-id-line{
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:rgba(102,112,133,.08)!important;
  border-color:var(--nl-border)!important;
}
html[data-theme=dark] .nl-copy-id-line{background:rgba(255,255,255,.045)!important;}
.nl-copy-id-line>i{
  margin-left:11px!important;
  margin-right:7px!important;
}
.nl-copy-id-line>a,
.nl-copy-id-line>span{
  min-width:0!important;
  max-width:190px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  padding:8px 6px 8px 0!important;
  color:var(--nl-primary)!important;
  font-weight:900!important;
}
.nl-copy-id-btn{
  align-self:stretch!important;
  width:34px!important;
  min-width:34px!important;
  height:auto!important;
  border:0!important;
  border-left:1px solid var(--nl-border)!important;
  border-radius:0!important;
  display:inline-grid!important;
  place-items:center!important;
  background:transparent!important;
  color:var(--nl-muted)!important;
  box-shadow:none!important;
  padding:0!important;
}
.nl-copy-id-btn:hover{
  color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
  transform:none!important;
}
.nl-copy-id-btn.is-copied{
  color:#fff!important;
  background:var(--nl-success)!important;
  border-left-color:var(--nl-success)!important;
}
.nl-copy-id-btn .ti{font-size:15px!important;}
.nl-colored-pill{
  border-color:transparent!important;
  font-weight:900!important;
}
.nl-colored-pill i{color:currentColor!important;}
.nl-colored-pill.is-danger{
  background:rgba(240,68,56,.13)!important;
  color:var(--nl-danger)!important;
  border-color:rgba(240,68,56,.26)!important;
}
.nl-colored-pill.is-success{
  background:rgba(18,183,106,.13)!important;
  color:var(--nl-success)!important;
  border-color:rgba(18,183,106,.25)!important;
}
.nl-colored-pill.is-warning{
  background:rgba(247,144,9,.15)!important;
  color:var(--nl-warning)!important;
  border-color:rgba(247,144,9,.28)!important;
}
.nl-ct-status-badge.is-danger{
  padding:12px 18px!important;
  font-size:15px!important;
  font-weight:950!important;
  border:1px solid rgba(240,68,56,.34)!important;
  background:rgba(240,68,56,.14)!important;
  color:var(--nl-danger)!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.08),0 16px 34px rgba(240,68,56,.12)!important;
}
.nl-ct-status-badge.is-danger i{font-size:20px!important;color:currentColor!important;}
.nl-ct-expired-alert{display:none!important;}
.nl-darkweb-message-stack{
  display:block!important;
  max-width:min(680px,78%)!important;
}
.nl-darkweb-message-stack .nl-darkweb-bubble{
  max-width:100%!important;
}
.nl-darkweb-bubble .nl-darkweb-meta,
.nl-darkweb-bubble small.nl-darkweb-meta{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:var(--nl-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.nl-darkweb-message.is-mine .nl-darkweb-bubble .nl-darkweb-meta,
.nl-darkweb-message.is-mine .nl-darkweb-bubble small.nl-darkweb-meta{
  color:rgba(255,255,255,.72)!important;
}
.nl-darkweb-bubble p{
  margin:0!important;
}
@media(max-width:575.98px){
  .nl-notification-menu{width:calc(100vw - 18px)!important;}
  .nl-darkweb-message-stack{max-width:92%!important;}
  .nl-copy-id-line>a,.nl-copy-id-line>span{max-width:145px!important;}
}

/* V103 - Matching complaint/pre-complaint watermarks in preview and generated PDF. */
.prefecture-complaint-page .nl-complaint-paper{
  position:relative!important;
}
.prefecture-complaint-page .nl-complaint-paper .watermark{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:60!important;
  opacity:1!important;
  pointer-events:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
.prefecture-complaint-page .nl-complaint-paper .watermark span{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  text-align:center!important;
  transform:rotate(-35deg)!important;
  transform-origin:center!important;
  color:rgba(220,38,38,.32)!important;
  background:transparent!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(30px,4.6vw,52px)!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.prefecture-complaint-page .nl-complaint-paper>.nl-audition-doc-header,
.prefecture-complaint-page .nl-complaint-paper>.nl-audition-section,
.prefecture-complaint-page .nl-complaint-paper>.nl-complaint-signature-grid,
.prefecture-complaint-page .nl-complaint-paper>p{
  position:relative!important;
  z-index:4!important;
}
.prefecture-complaint-page .nl-complaint-paper.light-mode .watermark,
.prefecture-complaint-page .nl-complaint-paper .watermark.light-mode{
  background:transparent!important;
  z-index:60!important;
  opacity:1!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}
.prefecture-complaint-page .nl-complaint-paper.light-mode .watermark span,
.prefecture-complaint-page .nl-complaint-paper .watermark span.light-mode{
  background:transparent!important;
  color:rgba(220,38,38,.32)!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}


/* V104 - Final watermark tuning: stronger preview, PDF generated with a clean per-page watermark. */
.prefecture-complaint-page .nl-complaint-paper .watermark span{
  color:rgba(220,38,38,.32)!important;
}
.prefecture-complaint-page .nl-complaint-paper.light-mode .watermark span,
.prefecture-complaint-page .nl-complaint-paper .watermark span.light-mode{
  color:rgba(220,38,38,.32)!important;
}


/* V105 - PDF export: hide the HTML watermark during print/PDF capture; jsPDF adds one clean centered watermark per page. */
.nl-pdf-exporting .prefecture-complaint-page .nl-complaint-paper .watermark,
.nl-pdf-exporting .nl-complaint-paper .watermark,
.nl-pdf-exporting .watermark{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
@media print{
  .prefecture-complaint-page .nl-complaint-paper .watermark,
  .nl-complaint-paper .watermark,
  .watermark{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
    z-index:9999!important;
    background:transparent!important;
    overflow:hidden!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .prefecture-complaint-page .nl-complaint-paper .watermark span,
  .nl-complaint-paper .watermark span,
  .watermark span{
    transform:rotate(-35deg)!important;
    transform-origin:center!important;
    color:rgba(220,38,38,.32)!important;
    background:transparent!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:48px!important;
    font-weight:900!important;
    letter-spacing:.045em!important;
    line-height:1.1!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
}

/* V106 - Center watermark on every printed/exported PDF page. */

/* === Correctifs design consolidés depuis nova-hotfix-design.css === */
/* Nova UI hotfix - force latest notification/copy/darkweb/CT design */
.nl-notification-dropdown{position:relative!important;}
.nl-notification-toggle{position:relative!important;}
.nl-notification-badge{position:absolute!important;top:-6px!important;right:-6px!important;min-width:20px!important;height:20px!important;padding:0 5px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--nl-danger)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;border:2px solid var(--nl-panel)!important;box-shadow:0 10px 24px rgba(240,68,56,.28)!important;}
.nl-notification-menu{width:min(430px,calc(100vw - 22px))!important;padding:10px!important;overflow:hidden!important;border-radius:22px!important;background:var(--nl-card)!important;border:1px solid var(--nl-border)!important;box-shadow:0 22px 65px rgba(2,6,23,.28)!important;}
.nl-notification-menu-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:4px 4px 10px!important;border-bottom:0!important;background:transparent!important;}
.nl-notification-title{min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
.nl-notification-title span{display:inline-flex!important;color:var(--nl-heading)!important;font-size:15px!important;font-weight:950!important;line-height:1!important;}
.nl-notification-title small{display:inline-flex!important;align-items:center!important;min-height:22px!important;padding:4px 8px!important;border-radius:999px!important;background:var(--nl-soft)!important;color:var(--nl-muted)!important;font-size:11px!important;font-weight:900!important;line-height:1!important;}
.nl-notification-head-icon{width:32px!important;height:32px!important;min-width:32px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;}
.nl-notification-list{display:grid!important;gap:8px!important;max-height:430px!important;overflow:auto!important;padding:0 1px 1px!important;}
.nl-notification-item{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:11px 12px!important;border:1px solid var(--nl-border)!important;border-radius:16px!important;background:var(--nl-panel)!important;color:var(--nl-text)!important;text-decoration:none!important;transition:var(--nl-transition)!important;}
.nl-notification-item:hover{border-color:var(--nl-primary-border)!important;background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.06))!important;transform:none!important;}
.nl-notification-item-icon{width:34px!important;height:34px!important;min-width:34px!important;border-radius:12px!important;font-size:17px!important;display:grid!important;place-items:center!important;background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important;}
.nl-notification-item.is-danger .nl-notification-item-icon{background:rgba(240,68,56,.12)!important;color:var(--nl-danger)!important;}
.nl-notification-item.is-warning .nl-notification-item-icon{background:rgba(247,144,9,.14)!important;color:var(--nl-warning)!important;}
.nl-notification-item.is-info .nl-notification-item-icon{background:rgba(14,165,233,.12)!important;color:#0ea5e9!important;}
.nl-notification-item-content{min-width:0!important;display:block!important;}
.nl-notification-item-content strong{display:block!important;margin-bottom:3px!important;color:var(--nl-heading)!important;font-size:13px!important;font-weight:950!important;line-height:1.2!important;}
.nl-notification-item-content small{display:block!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:750!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.nl-notification-chevron{margin-left:2px!important;color:var(--nl-muted)!important;font-size:16px!important;}
.nl-notification-empty{padding:30px 18px!important;text-align:center!important;display:grid!important;justify-items:center!important;gap:8px!important;}
.nl-notification-empty span{width:46px!important;height:46px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:rgba(18,183,106,.12)!important;color:var(--nl-success)!important;}
.nl-notification-empty strong{color:var(--nl-heading)!important;font-weight:900!important;}
.nl-notification-empty small{color:var(--nl-muted)!important;font-weight:800!important;}
.nl-copy-id-line{display:inline-flex!important;align-items:center!important;gap:0!important;min-width:0!important;padding:0!important;overflow:hidden!important;background:rgba(102,112,133,.08)!important;border:1px solid var(--nl-border)!important;border-radius:999px!important;vertical-align:middle!important;}
html[data-theme=dark] .nl-copy-id-line{background:rgba(255,255,255,.045)!important;}
.nl-copy-id-line>i{margin-left:11px!important;margin-right:7px!important;color:var(--nl-muted)!important;}
.nl-copy-id-line>a,.nl-copy-id-line>span{min-width:0!important;max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding:8px 6px 8px 0!important;color:var(--nl-primary)!important;font-weight:900!important;text-decoration:none!important;}
.nl-copy-id-btn{align-self:stretch!important;width:34px!important;min-width:34px!important;height:auto!important;border:0!important;border-left:1px solid var(--nl-border)!important;border-radius:0!important;display:inline-grid!important;place-items:center!important;background:transparent!important;color:var(--nl-muted)!important;box-shadow:none!important;padding:0!important;cursor:pointer!important;}
.nl-copy-id-btn:hover{color:var(--nl-primary)!important;background:var(--nl-primary-soft)!important;transform:none!important;}
.nl-copy-id-btn.is-copied{color:#fff!important;background:var(--nl-success)!important;border-left-color:var(--nl-success)!important;}
.nl-copy-id-btn .ti{font-size:15px!important;}
.nl-colored-pill{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:8px 13px!important;border:1px solid transparent!important;border-radius:999px!important;font-weight:900!important;line-height:1!important;}
.nl-colored-pill i{color:currentColor!important;}
.nl-colored-pill.is-danger{background:rgba(240,68,56,.13)!important;color:var(--nl-danger)!important;border-color:rgba(240,68,56,.26)!important;}
.nl-colored-pill.is-success{background:rgba(18,183,106,.13)!important;color:var(--nl-success)!important;border-color:rgba(18,183,106,.25)!important;}
.nl-colored-pill.is-warning{background:rgba(247,144,9,.15)!important;color:var(--nl-warning)!important;border-color:rgba(247,144,9,.28)!important;}
.nl-ct-status-badge.is-danger{padding:12px 18px!important;font-size:15px!important;font-weight:950!important;border:1px solid rgba(240,68,56,.34)!important;background:rgba(240,68,56,.14)!important;color:var(--nl-danger)!important;box-shadow:0 0 0 4px rgba(240,68,56,.08),0 16px 34px rgba(240,68,56,.12)!important;}
.nl-ct-status-badge.is-danger i{font-size:20px!important;color:currentColor!important;}
.nl-ct-expired-alert{display:none!important;}
.nl-darkweb-message-stack{display:block!important;max-width:min(680px,78%)!important;}
.nl-darkweb-message-stack .nl-darkweb-bubble{max-width:100%!important;}
.nl-darkweb-bubble .nl-darkweb-meta,.nl-darkweb-bubble small.nl-darkweb-meta{display:block!important;margin:0 0 8px!important;padding:0!important;color:var(--nl-muted)!important;font-size:12px!important;font-weight:800!important;line-height:1.25!important;}
.nl-darkweb-message.is-mine .nl-darkweb-bubble .nl-darkweb-meta,.nl-darkweb-message.is-mine .nl-darkweb-bubble small.nl-darkweb-meta{color:rgba(255,255,255,.72)!important;}
.nl-darkweb-bubble p{margin:0!important;}
@media(max-width:575.98px){.nl-notification-menu{width:calc(100vw - 18px)!important;}.nl-darkweb-message-stack{max-width:92%!important;}.nl-copy-id-line>a,.nl-copy-id-line>span{max-width:145px!important;}}


/* =========================
   Nova-Life UI V108
   - Prefecture form pages aligned with TailAdmin form layout.
   ========================= */
.fourriere-form-page .nl-convocation-info-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
}
.fourriere-form-page .nl-convocation-info-card>.card-header{
  padding:18px 22px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.05))!important;
}
.fourriere-form-page .nl-convocation-info-card>.card-body{
  padding:22px!important;
}
.prefecture-form-page .form-check{
  margin:0!important;
  padding:14px 14px 14px 46px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.prefecture-form-page .form-check-input{
  margin-left:-30px!important;
}
.prefecture-form-page .form-check-label{
  color:var(--nl-text)!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.45!important;
}
html[data-theme=dark] .fourriere-form-page .nl-convocation-info-card>.card-header{
  background:linear-gradient(135deg,var(--nl-panel),rgba(124,140,255,.08))!important;
}

/* Custom select validation states */
form.nl-form.nl-form-submitted .nl-auth-select:has(.nl-auth-native-select:invalid) .nl-auth-select-trigger,
form.nl-form.was-validated .nl-auth-select:has(.nl-auth-native-select:invalid) .nl-auth-select-trigger,
form.was-validated .nl-auth-select:has(.nl-auth-native-select:invalid) .nl-auth-select-trigger,
#delitModal .nl-infraction-select-toggle.is-invalid{
  border-color:var(--nl-danger)!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.12)!important;
}
form.nl-form.nl-form-submitted .nl-auth-select:has(.nl-auth-native-select:valid) .nl-auth-select-trigger,
form.nl-form.was-validated .nl-auth-select:has(.nl-auth-native-select:valid) .nl-auth-select-trigger,
form.was-validated .nl-auth-select:has(.nl-auth-native-select:valid) .nl-auth-select-trigger,
#delitModal .nl-infraction-select-toggle.is-valid{
  border-color:var(--nl-success)!important;
  box-shadow:0 0 0 4px rgba(18,183,106,.12)!important;
}

/* =========================
   Nova-Life UI V109
   Validation feedback scoped per field.
   Prevents every red message in a submitted form from showing at once.
   ========================= */
form.nl-form.was-validated .invalid-feedback,
form.nl-form.nl-form-submitted .invalid-feedback,
form.was-validated .invalid-feedback{
  display:none;
  color:var(--nl-danger);
}
form.nl-form.was-validated .valid-feedback,
form.nl-form.nl-form-submitted .valid-feedback,
form.was-validated .valid-feedback{
  display:none;
  color:var(--nl-success);
}
form.nl-form.was-validated .is-invalid ~ .invalid-feedback,
form.nl-form.was-validated :invalid ~ .invalid-feedback,
form.nl-form.nl-form-submitted .is-invalid ~ .invalid-feedback,
form.nl-form.nl-form-submitted :invalid ~ .invalid-feedback,
form.was-validated .is-invalid ~ .invalid-feedback,
form.was-validated :invalid ~ .invalid-feedback,
form.nl-form.was-validated .input-group:has(.is-invalid) ~ .invalid-feedback,
form.nl-form.was-validated .input-group:has(:invalid) ~ .invalid-feedback,
form.nl-form.nl-form-submitted .input-group:has(.is-invalid) ~ .invalid-feedback,
form.nl-form.nl-form-submitted .input-group:has(:invalid) ~ .invalid-feedback,
form.was-validated .input-group:has(.is-invalid) ~ .invalid-feedback,
form.was-validated .input-group:has(:invalid) ~ .invalid-feedback,
form.nl-form.was-validated .form-check:has(.form-check-input.is-invalid) .invalid-feedback,
form.nl-form.was-validated .form-check:has(.form-check-input:invalid) .invalid-feedback,
form.nl-form.nl-form-submitted .form-check:has(.form-check-input.is-invalid) .invalid-feedback,
form.nl-form.nl-form-submitted .form-check:has(.form-check-input:invalid) .invalid-feedback,
form.was-validated .form-check:has(.form-check-input.is-invalid) .invalid-feedback,
form.was-validated .form-check:has(.form-check-input:invalid) .invalid-feedback,
form.nl-form.was-validated .nl-infraction-select:has(.nl-infraction-select-toggle.is-invalid) ~ .invalid-feedback,
form.nl-form.nl-form-submitted .nl-infraction-select:has(.nl-infraction-select-toggle.is-invalid) ~ .invalid-feedback,
form.was-validated .nl-infraction-select:has(.nl-infraction-select-toggle.is-invalid) ~ .invalid-feedback{
  display:block;
  color:var(--nl-danger);
}
form.nl-form.was-validated .is-valid ~ .valid-feedback,
form.nl-form.was-validated :valid ~ .valid-feedback,
form.nl-form.nl-form-submitted .is-valid ~ .valid-feedback,
form.nl-form.nl-form-submitted :valid ~ .valid-feedback,
form.was-validated .is-valid ~ .valid-feedback,
form.was-validated :valid ~ .valid-feedback,
form.nl-form.was-validated .input-group:has(.is-valid) ~ .valid-feedback,
form.nl-form.was-validated .input-group:has(:valid) ~ .valid-feedback,
form.nl-form.nl-form-submitted .input-group:has(.is-valid) ~ .valid-feedback,
form.nl-form.nl-form-submitted .input-group:has(:valid) ~ .valid-feedback,
form.was-validated .input-group:has(.is-valid) ~ .valid-feedback,
form.was-validated .input-group:has(:valid) ~ .valid-feedback,
form.nl-form.was-validated .form-check:has(.form-check-input.is-valid) .valid-feedback,
form.nl-form.was-validated .form-check:has(.form-check-input:valid) .valid-feedback,
form.nl-form.nl-form-submitted .form-check:has(.form-check-input.is-valid) .valid-feedback,
form.nl-form.nl-form-submitted .form-check:has(.form-check-input:valid) .valid-feedback,
form.was-validated .form-check:has(.form-check-input.is-valid) .valid-feedback,
form.was-validated .form-check:has(.form-check-input:valid) .valid-feedback,
form.nl-form.was-validated .nl-infraction-select:has(.nl-infraction-select-toggle.is-valid) ~ .valid-feedback,
form.nl-form.nl-form-submitted .nl-infraction-select:has(.nl-infraction-select-toggle.is-valid) ~ .valid-feedback,
form.was-validated .nl-infraction-select:has(.nl-infraction-select-toggle.is-valid) ~ .valid-feedback{
  display:block;
  color:var(--nl-success);
}
form.nl-form.was-validated .form-control.is-invalid,
form.nl-form.was-validated .form-select.is-invalid,
form.nl-form.nl-form-submitted .form-control.is-invalid,
form.nl-form.nl-form-submitted .form-select.is-invalid,
form.nl-form.was-validated .form-check-input.is-invalid,
form.nl-form.nl-form-submitted .form-check-input.is-invalid{
  border-color:var(--nl-danger)!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.12)!important;
}
form.nl-form.was-validated .form-control.is-valid,
form.nl-form.was-validated .form-select.is-valid,
form.nl-form.nl-form-submitted .form-control.is-valid,
form.nl-form.nl-form-submitted .form-select.is-valid,
form.nl-form.was-validated .form-check-input.is-valid,
form.nl-form.nl-form-submitted .form-check-input.is-valid{
  border-color:var(--nl-success)!important;
  box-shadow:0 0 0 4px rgba(18,183,106,.12)!important;
}

/* =========================
   Nova-Life UI V110
   Validation dynamique champ par champ.
   Les messages ne dépendent plus de :valid/:invalid globaux mais des classes
   synchronisées par nova-ui.js, ce qui évite les champs bloqués rouge/vert.
   ========================= */
form.nl-form.was-validated .invalid-feedback,
form.nl-form.nl-form-submitted .invalid-feedback,
form.was-validated .invalid-feedback,
form.nl-form.was-validated .valid-feedback,
form.nl-form.nl-form-submitted .valid-feedback,
form.was-validated .valid-feedback,
form.nl-form.was-validated .fv-plugins-message-container,
form.nl-form.nl-form-submitted .fv-plugins-message-container,
form.was-validated .fv-plugins-message-container{
  display:none!important;
}
form.nl-form.was-validated .is-invalid ~ .invalid-feedback,
form.nl-form.nl-form-submitted .is-invalid ~ .invalid-feedback,
form.was-validated .is-invalid ~ .invalid-feedback,
form.nl-form.was-validated .input-group:has(.is-invalid) ~ .invalid-feedback,
form.nl-form.nl-form-submitted .input-group:has(.is-invalid) ~ .invalid-feedback,
form.was-validated .input-group:has(.is-invalid) ~ .invalid-feedback,
form.nl-form.was-validated .form-check:has(.form-check-input.is-invalid) .invalid-feedback,
form.nl-form.nl-form-submitted .form-check:has(.form-check-input.is-invalid) .invalid-feedback,
form.was-validated .form-check:has(.form-check-input.is-invalid) .invalid-feedback,
.nl-field-submitted.nl-field-invalid .invalid-feedback,
.nl-field-submitted.nl-field-invalid .fv-plugins-message-container{
  display:block!important;
  color:var(--nl-danger)!important;
}
form.nl-form.was-validated .is-valid ~ .valid-feedback,
form.nl-form.nl-form-submitted .is-valid ~ .valid-feedback,
form.was-validated .is-valid ~ .valid-feedback,
form.nl-form.was-validated .input-group:has(.is-valid) ~ .valid-feedback,
form.nl-form.nl-form-submitted .input-group:has(.is-valid) ~ .valid-feedback,
form.was-validated .input-group:has(.is-valid) ~ .valid-feedback,
form.nl-form.was-validated .form-check:has(.form-check-input.is-valid) .valid-feedback,
form.nl-form.nl-form-submitted .form-check:has(.form-check-input.is-valid) .valid-feedback,
form.was-validated .form-check:has(.form-check-input.is-valid) .valid-feedback,
.nl-field-submitted.nl-field-valid .valid-feedback{
  display:block!important;
  color:var(--nl-success)!important;
}
.nl-field-submitted.nl-field-valid .invalid-feedback,
.nl-field-submitted.nl-field-valid .fv-plugins-message-container,
.nl-field-submitted.nl-field-invalid .valid-feedback{
  display:none!important;
}
form.nl-form.nl-form-submitted .form-control.is-invalid,
form.nl-form.nl-form-submitted .form-select.is-invalid,
form.nl-form.nl-form-submitted .form-check-input.is-invalid,
form.nl-form.was-validated .form-control.is-invalid,
form.nl-form.was-validated .form-select.is-invalid,
form.nl-form.was-validated .form-check-input.is-invalid{
  border-color:var(--nl-danger)!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.12)!important;
  background-image:none!important;
}
form.nl-form.nl-form-submitted .form-control.is-valid,
form.nl-form.nl-form-submitted .form-select.is-valid,
form.nl-form.nl-form-submitted .form-check-input.is-valid,
form.nl-form.was-validated .form-control.is-valid,
form.nl-form.was-validated .form-select.is-valid,
form.nl-form.was-validated .form-check-input.is-valid{
  border-color:var(--nl-success)!important;
  box-shadow:0 0 0 4px rgba(18,183,106,.12)!important;
  background-image:none!important;
}

/* Pôle santé */
.nl-health-list{display:grid;gap:.75rem}.nl-health-list-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1px solid var(--nl-border);border-radius:16px;background:var(--nl-panel-2);color:var(--nl-text);transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.nl-health-list-item:hover{color:var(--nl-text);background:var(--nl-primary-soft);border-color:var(--nl-primary-border);transform:translateY(-1px)}.nl-health-list-icon,.nl-health-timeline-icon,.nl-health-patient-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:var(--nl-primary-soft);color:var(--nl-primary);border:1px solid var(--nl-primary-border)}.nl-health-list-icon{width:42px;height:42px}.nl-health-list-icon i{font-size:1.2rem}.nl-health-list-content{min-width:0;flex:1;display:grid;gap:.125rem}.nl-health-list-content strong{color:var(--nl-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-health-list-content small{color:var(--nl-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl-health-patient-head{display:flex;align-items:center;gap:1rem}.nl-health-patient-avatar{width:64px;height:64px;border-radius:22px}.nl-health-patient-avatar i{font-size:2rem}.nl-health-timeline{position:relative;display:grid;gap:1rem}.nl-health-timeline-item{display:flex;align-items:flex-start;gap:.875rem}.nl-health-timeline-icon{width:42px;height:42px}.nl-health-timeline-content{min-width:0;flex:1;padding:1rem;border:1px solid var(--nl-border);border-radius:18px;background:var(--nl-panel-2)}.nl-empty-state span{width:54px;height:54px;margin:0 auto .75rem;display:grid;place-items:center;border-radius:18px;background:var(--nl-primary-soft);color:var(--nl-primary);border:1px solid var(--nl-primary-border)}.nl-empty-state span i{font-size:1.6rem}.nl-empty-state strong{display:block;color:var(--nl-heading);margin-bottom:.25rem}.nl-empty-state small{display:block;color:var(--nl-muted)}.nl-empty-state.is-compact{padding:1.25rem}.nl-section-sante .nl-page-host h4.fw-bold.py-3.mb-4:before{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.25)}.nl-section-sante .nl-page-host h4.fw-bold.py-3.mb-4:after{background:rgba(16,185,129,.12)}@media(max-width:767.98px){.nl-health-list-item{align-items:flex-start;flex-wrap:wrap}.nl-health-list-content{flex-basis:calc(100% - 3.25rem)}.nl-health-patient-head{align-items:flex-start}.nl-health-list-content strong,.nl-health-list-content small{white-space:normal}}


/* =========================
   Pôle santé - dossier patient V5
   ========================= */
.sante-patient-page .nl-health-action-band{justify-content:center!important;align-items:center!important;text-align:center!important}
.sante-patient-page .nl-health-action-band .btn{min-width:190px!important}
.sante-patient-page .nl-health-profile-card,
.sante-patient-page .nl-fourriere-form-card{height:100%}
.sante-patient-page .nl-health-profile-card .nl-convocation-meta-list,
.sante-patient-page .nl-fourriere-form-card .nl-convocation-meta-list{width:100%}
.sante-home-page .nl-fourriere-form-card{width:100%!important}
.nl-tailadmin-table-card .dropdown-menu{border-radius:14px!important;border:1px solid var(--nl-border)!important;background:var(--nl-panel)!important;box-shadow:var(--nl-shadow)!important;padding:.45rem!important;min-width:12rem!important}
.nl-tailadmin-table-card .dropdown-item{border-radius:10px!important;font-weight:700!important;color:var(--nl-text)!important;display:flex!important;align-items:center!important;gap:.35rem!important}
.nl-tailadmin-table-card .dropdown-item:hover,.nl-tailadmin-table-card .dropdown-item:focus{background:var(--nl-primary-soft)!important;color:var(--nl-primary)!important}

/* =========================
   Pôle santé - calendrier accueil V9
   ========================= */

.nl-search-card{
  border:1px solid var(--nl-border)!important;
  border-radius:24px!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-shadow-sm)!important;
  overflow:hidden!important;
  text-align:left!important;
}
.nl-search-card>.card-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  padding:20px 24px!important;
  border-bottom:1px solid var(--nl-border)!important;
  background:linear-gradient(135deg,var(--nl-panel),rgba(70,95,255,.06))!important;
  color:var(--nl-heading)!important;
}
.nl-search-card>.card-body{
  padding:24px!important;
  color:var(--nl-text)!important;
}
.nl-search-card .card-title,
.nl-search-card h5,
.nl-search-card h6{
  color:var(--nl-heading)!important;
  font-weight:900!important;
}
.nl-search-card .card-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  margin:0 0 .35rem!important;
  text-align:center!important;
}
.nl-search-card .card-title::before{
  content:"\ea5f";
  font-family:"tabler-icons"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:13px!important;
  border:1px solid var(--nl-primary-border)!important;
  background:var(--nl-primary-soft)!important;
  color:var(--nl-primary)!important;
  font-size:18px!important;
  font-weight:400!important;
}
.nl-search-card p.text-muted,
.nl-search-card small.text-muted{
  color:var(--nl-muted)!important;
  font-weight:700!important;
}
.nl-search-card .nav-tabs,
.nl-search-card .card-header-tabs{
  width:100%!important;
  margin:0!important;
  padding:4px!important;
  border:1px solid var(--nl-border)!important;
  border-radius:17px!important;
  background:rgba(102,112,133,.06)!important;
  display:flex!important;
  justify-content:center!important;
  gap:6px!important;
}
.nl-search-card .nav-tabs .nav-item,
.nl-search-card .card-header-tabs .nav-item{
  margin:0!important;
}
.nl-search-card .nav-tabs .nav-link,
.nl-search-card .card-header-tabs .nav-link{
  border:0!important;
  border-radius:13px!important;
  color:var(--nl-muted)!important;
  font-weight:900!important;
  padding:.65rem .95rem!important;
  min-height:40px!important;
  background:transparent!important;
  transition:background-color var(--nl-transition-fast),color var(--nl-transition-fast),box-shadow var(--nl-transition-fast)!important;
}
.nl-search-card .nav-tabs .nav-link:hover,
.nl-search-card .card-header-tabs .nav-link:hover{
  color:var(--nl-primary)!important;
  background:var(--nl-primary-soft)!important;
}
.nl-search-card .nav-tabs .nav-link.active,
.nl-search-card .card-header-tabs .nav-link.active{
  color:var(--nl-primary)!important;
  background:var(--nl-card)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}
.nl-search-card .tab-content{
  padding:0!important;
}
.nl-search-card .tab-content>br,
.nl-search-card form>br{
  display:none!important;
}
.nl-search-card form.needs-validation{
  display:grid!important;
  gap:16px!important;
  max-width:720px!important;
  margin:0 auto!important;
}
.nl-search-card .form-floating,
.nl-search-card .form-label{
  margin:0!important;
}
.nl-search-card .form-floating>.form-control,
.nl-search-card .form-control,
.nl-search-card .form-select{
  border:1px solid var(--nl-border)!important;
  border-radius:16px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-heading)!important;
  font-weight:800!important;
  box-shadow:none!important;
  transition:border-color var(--nl-transition-fast),box-shadow var(--nl-transition-fast),background-color var(--nl-transition-fast)!important;
}
.nl-search-card .form-floating>.form-control{
  min-height:54px!important;
}
.nl-search-card .form-floating>label,
.nl-search-card .form-label{
  color:var(--nl-muted)!important;
  font-weight:850!important;
}
.nl-search-card .form-floating>.form-control:focus,
.nl-search-card .form-control:focus,
.nl-search-card .form-select:focus{
  border-color:var(--nl-primary-border)!important;
  background:var(--nl-card)!important;
  box-shadow:var(--nl-ring)!important;
}
.nl-search-card .btn.btn-primary,
.nl-search-card button.btn{
  justify-self:center!important;
  min-width:190px!important;
  border-radius:15px!important;
  font-weight:900!important;
  box-shadow:0 12px 24px rgba(70,95,255,.18)!important;
}
.nl-search-card .valid-feedback,
.nl-search-card .invalid-feedback{
  font-weight:800!important;
}
.nl-search-card .nl-fourriere-form-section{
  margin:0!important;
}
.nl-search-card.nl-fourriere-form-card>.card-header h5,
.nl-search-card.nl-fourriere-form-card>.card-header small{
  margin:0!important;
}
.nl-search-card.nl-fourriere-form-card .row.align-items-end .btn{
  min-height:48px!important;
  width:100%!important;
}
html[data-theme=dark] .nl-search-card .nav-tabs .nav-link.active,
html[data-theme=dark] .nl-search-card .card-header-tabs .nav-link.active{
  box-shadow:0 10px 22px rgba(0,0,0,.22)!important;
}
@media(max-width:767.98px){
  .nl-search-card>.card-header{padding:18px!important;align-items:flex-start!important;flex-direction:column!important}
  .nl-search-card>.card-body{padding:18px!important}
  .nl-search-card .nav-tabs,.nl-search-card .card-header-tabs{justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .nl-search-card .nav-tabs .nav-link,.nl-search-card .card-header-tabs .nav-link{white-space:nowrap!important}
  .nl-search-card form.needs-validation{max-width:none!important}
  .nl-search-card .btn.btn-primary,.nl-search-card button.btn{width:100%!important;min-width:0!important}
}
.nl-search-group-title{
  display:flex!important;
  align-items:center!important;
  gap:.55rem!important;
  width:max-content!important;
  margin-bottom:1rem!important;
  padding:.55rem .8rem!important;
  border:1px solid var(--nl-border)!important;
  border-radius:14px!important;
  background:var(--nl-panel)!important;
  color:var(--nl-heading)!important;
  font-size:.9rem!important;
  font-weight:900!important;
  box-shadow:var(--nl-shadow-sm)!important;
}
.nl-search-group-title::before{
  content:"";
  width:.6rem!important;
  height:.6rem!important;
  border-radius:999px!important;
  background:var(--nl-primary)!important;
  box-shadow:0 0 0 4px var(--nl-primary-soft)!important;
}

/* =========================
   Search cards - inline inputs V15
   Restore V13 spacing, keep fields + action on one line
   ========================= */
.nl-search-card form.needs-validation{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:16px!important;
  max-width:none!important;
  margin:0 auto!important;
}
.nl-search-card form.needs-validation>input[type="hidden"]{
  display:none!important;
}
.nl-search-card form.needs-validation>.card-title,
.nl-search-card form.needs-validation>h5,
.nl-search-card form.needs-validation>p,
.nl-search-card form.needs-validation>small{
  flex:0 0 100%!important;
  width:100%!important;
  text-align:center!important;
}
.nl-search-card form.needs-validation>.form-floating,
.nl-search-card form.needs-validation>.form-label{
  flex:1 1 220px!important;
  min-width:190px!important;
  max-width:360px!important;
}
.nl-search-card form.needs-validation>.btn,
.nl-search-card form.needs-validation>button.btn{
  flex:0 0 auto!important;
  align-self:flex-start!important;
  min-height:54px!important;
  margin:0!important;
}
.nl-search-card form.needs-validation>.form-floating+.btn,
.nl-search-card form.needs-validation>.form-floating+button.btn{
  margin-left:0!important;
}
@media(max-width:767.98px){
  .nl-search-card form.needs-validation{
    gap:12px!important;
  }
  .nl-search-card form.needs-validation>.form-floating,
  .nl-search-card form.needs-validation>.form-label,
  .nl-search-card form.needs-validation>.btn,
  .nl-search-card form.needs-validation>button.btn{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:none!important;
  }
}


/* =========================
   Search cards - cleaned header + smaller action V16
   ========================= */
.nl-search-card form.needs-validation>.card-title,
.nl-search-card form.needs-validation>h5,
.nl-search-card form.needs-validation>p,
.nl-search-card form.needs-validation>small{
  display:none!important;
}
.nl-search-card .card-title::before{
  display:none!important;
  content:none!important;
}
.nl-search-card .btn.btn-primary,
.nl-search-card button.btn,
.nl-search-card form.needs-validation>.btn,
.nl-search-card form.needs-validation>button.btn{
  min-width:128px!important;
  min-height:46px!important;
  padding:.58rem 1rem!important;
  border-radius:13px!important;
  font-size:.92rem!important;
  line-height:1.1!important;
  box-shadow:0 8px 18px rgba(70,95,255,.16)!important;
}
.nl-search-card form.needs-validation{
  align-items:center!important;
}
.nl-search-card form.needs-validation>.btn,
.nl-search-card form.needs-validation>button.btn{
  align-self:center!important;
}
@media(max-width:767.98px){
  .nl-search-card .btn.btn-primary,
  .nl-search-card button.btn,
  .nl-search-card form.needs-validation>.btn,
  .nl-search-card form.needs-validation>button.btn{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
  }
}

/* =========================
   Search cards - accent hint V17
   ========================= */
.nl-search-card form.needs-validation>.nl-search-accent-hint{
  display:block!important;
  flex:0 0 100%!important;
  width:100%!important;
  margin:-.15rem 0 .1rem!important;
  text-align:center!important;
  color:var(--nl-muted)!important;
  font-size:.85rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}

/* =========================
   Search cards - tighter title gap + integrated accent hint V18
   ========================= */
.nl-search-group-title{
  margin-bottom:.42rem!important;
  padding:.48rem .74rem!important;
}
.nl-search-card form.needs-validation>.nl-search-accent-hint{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.42rem!important;
  flex:0 0 100%!important;
  width:max-content!important;
  max-width:100%!important;
  margin:-.18rem auto .18rem!important;
  padding:.38rem .72rem!important;
  border:1px solid var(--nl-border)!important;
  border-radius:999px!important;
  background:rgba(102,112,133,.06)!important;
  color:var(--nl-muted)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.15!important;
  letter-spacing:.005em!important;
}
.nl-search-card form.needs-validation>.nl-search-accent-hint::before{
  content:"\f431";
  font-family:"tabler-icons"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:1rem!important;
  height:1rem!important;
  color:var(--nl-primary)!important;
  font-size:.92rem!important;
  font-weight:400!important;
  line-height:1!important;
}
html[data-theme=dark] .nl-search-card form.needs-validation>.nl-search-accent-hint{
  background:rgba(148,163,184,.08)!important;
  border-color:var(--nl-border)!important;
}
@media(max-width:767.98px){
  .nl-search-group-title{
    margin-bottom:.5rem!important;
  }
  .nl-search-card form.needs-validation>.nl-search-accent-hint{
    width:100%!important;
    border-radius:14px!important;
  }
}


/* =========================
   Search cards - hint icon + tighter top gap V19
   ========================= */
.nl-search-group-title{
  margin-bottom:.18rem!important;
}
.nl-search-card form.needs-validation>.nl-search-accent-hint{
  margin:-.22rem auto .16rem!important;
}
.nl-search-card form.needs-validation>.nl-search-accent-hint::before{
  display:none!important;
  content:none!important;
}
.nl-search-card form.needs-validation>.nl-search-accent-hint i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:1rem!important;
  height:1rem!important;
  color:var(--nl-primary)!important;
  font-size:.95rem!important;
  line-height:1!important;
}
.nl-search-card form.needs-validation>.nl-search-accent-hint span{
  display:inline-block!important;
}
@media(max-width:767.98px){
  .nl-search-group-title{
    margin-bottom:.25rem!important;
  }
}
