@media (max-width: 767px) {
    .main-header .navbar-custom-menu {
        float: none !important;
        display: block !important;
    }
    .main-header .navbar-custom-menu .dropdown-menu {
        left: auto !important;
    }
    .skin-blue-light .main-header .navbar .dropdown-menu li a {
        color: #777;
    }
    .main-header .navbar {
      height: auto;
    }
}
.bg-danger {
    background-color: #f2dede !important;
}
.btn-big {
    padding: 10px 30px;
    font-size: 18px;
    line-height: 1.3333333;
}

.of-visible {
    overflow: visible !important;
}

#online_indicator {
  font-size: 8px;
  vertical-align: middle;
}

.pt-0 {
  padding-top: 0px;
}
.f-right {
  float: right;
}
.mb-10 {
  margin-bottom: 10px;
}
.discount-badge {
  position: absolute;
  top: 6px;
  right: 10px;
  font-size: 18px;
  padding: 7px;
}

.discount-badge-small {
  position: absolute;
  top: -2px;
  left: 10px;
  font-size: 12px;
  padding: 6px;
}
.product-info-table td, .product-info-table th {
  font-size: 12px;
}
.catalogue {
  max-height: 127px;
  margin: auto;
  margin-bottom: 18px;
}
.catalogue-title {
  display: inline-block;
  font-size: 18px;
  margin: 0;
  line-height: 1;
  margin-bottom: 10px;
}
.bg-light-gray {
  background-color: #f8f8f8 !important;
}
.p-5-5 {
  padding: 5px 5px !important;
}
.m-4 {
  margin: 4px;
}
.skin-black .main-header, .skin-black-light .main-header {
  color: #525f7f !important;
}
.skin-black .main-header .navbar .nav .open>a {
  color: #999 !important;
}
.skin-black .main-header .navbar .nav>li>a:hover{
  color: #999 !important;
}
.skin-black .main-header .navbar > .sidebar-toggle:hover {
  color: #999 !important;
}
.mt-0{
  margin-top: 0 !important;
}
.table-pdf thead tr{
  background-color: #357ca5 !important;
  color: #fff;
}
.table-pdf thead tr th {
  color: #fff !important;
}
.blue-heading {
  background-color: #357ca5;
  color: #fff;
}

.table-pdf .odd {
    background-color: #DCE6F1;
}
.p-4{
  padding: 4px;
}
.p-10{
  padding: 10px !important;
}
.jquery-top-scrollbar{
    height: 6px !important;
}
.jquery-top-scrollbar div {
    height: 6px !important;
}
.scroll-top-bottom {
  width: 100%; 
  overflow: scroll;
}
.scroll-top-bottom::-webkit-scrollbar {
    height: 6px;
}

.scrolltop {
  display:none;
  width:100%;
  margin:0 auto;
  position:fixed;
  bottom:20px;
  right:10px; 
}
.scroll {
  position:absolute;
  right:20px;
  bottom:20px;
  background:#b2b2b2;
  background:rgba(178,178,178,0.7);
  padding:7px;
  text-align: center;
  margin: 0 0 0 0;
  cursor:pointer;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s; 
  border-radius: 6px;   
}
.scroll:hover {
  background:rgba(178,178,178,1.0);
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;    
}
.scroll:hover .fas {
  padding-top:-10px;
}
.scroll .fas {
  font-size:25px;
  margin-top:-5px;
  margin-left:1px;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;  
}

.f-left {
  float: left;
}
.align-left {
 text-align: left;
}
.align-right {
 text-align: right;
}

.table-pdf {
  border-collapse: collapse;
  width: 100%;
  border-spacing: 8px 10px;
}
.td-border td, .td-border th{
  border-bottom: 1px solid lightgrey;
  padding: 8px 5px;
}

.ws-nowrap {
  white-space:nowrap;
}

.btn-app>.fas, .btn-app>.fab{
    font-size: 20px;
    display: block;
}
.dropdown-menu>li>a>.fas{
    margin-right: 6px;
}
.mt-5 {
  margin-top: 5px !important;
}
.pos-form-actions{
  height: auto;
  padding-top: 12px;
  padding-bottom: 20px;
  position: fixed;
  bottom: 0px;
  /* background-color: #D1D5DC; */
  width: 100%;
  z-index: 1000;
}
.mb-12 {
  margin-bottom: 12px !important;
}
.pb-0{
  padding-bottom: 0px !important;
}
.pr-12{
  padding-right: 12px !important;
}
.main-header .sidebar-toggle:before {
    content: "" !important;
}
.ui-autocomplete {
    max-height: 300px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
} 
.margin-bottom-20 {
  margin-bottom: 20px !important;
}
.text-white {
  color: #fff;
}
.wizard > .steps > ul > li {
  width: 33.33% !important;
}
.wizard > .content {
  /* background: #445867 !important; */
}
legend {
  color: #fff;
  margin-bottom: 6px;
  border-bottom: none;
}
.left-col {
  background: linear-gradient(0deg,rgba(0, 0, 0, 0.76),rgba(51, 51, 51, 0.32)),url(../img/home-bg.jpg); 
  text-align: center;
  background-size: cover;
  background-position: center;
}
.left-col-content {
  color: #1A7BF9;
  width: 100%;
}
.login-header {
  font-size: 27px;
  font-weight: 600;
}
.login-header a {
  color: #fff;
}
.form-header {
  font-size: 18px;
  margin: 16px 0;
}
.btn-login {
  padding: 6px 52px !important;
}


/* .right-col label {
  color: #fff;
}

.right-col a, .text-white a {
  color: #fff;
  font-weight: 600;
  font-size: 15px
}
.right-col a:hover, .text-white a:hover {
  color: #ccc;
}
.right-col-content {
  padding: 10% 16%;
  padding-bottom: 3%;
}
.right-col-content-register {
  padding: 2% 8%;
} */

.input_inline {
  width: 100%;
  display: inline-flex;
}
.input_inline input, .input_inline span {
  width: 50%;
}
.bg-manufacturing {
  background-color: #ff851b;
}
.img-thumbnail {
  position: relative;
  width: 70px;
  height: 70px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  transition: border .2s ease-in-out;
  padding: 4px;
  margin: 3px;
  text-align: center;
}
.img-thumbnail>.badge{
  position: absolute;
  top: -5px;
  right: -7px;
  font-size: 9px;
  font-weight: 400;
  cursor: pointer;
}
.navbar-nav>.notifications-menu>.dropdown-menu>li .menu {
  max-height: 350px;
}
.bg-aqua-lite {
  background-color: #7FFFD4;
}
.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a {
  white-space: normal;
}
.spacer {
  margin-top: 20px;
}
#product_list_body {
    max-height: 485px;
    overflow-y: scroll;
    overflow-x: hidden;
}
.div-overlay {
    cursor: not-allowed;
    background: #e9e9e9; 
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.5;
}

.d-inline-table {
  display: inline-table;
}

.label-round{
  font-size: 8px;
  border-radius: 44%;
}
.table>tbody+tbody{
  border-top: 0;
}
.table-pl-12 td, .table-pl-12 th{
  padding-left: 12px !important;
}
table tbody td.pl-20-td{
  padding-left: 20px !important;
}
table.table-border-center > tbody > tr > td:first-child, 
table.table-border-center > thead > tr > th:first-child,
table.table-border-center > tfoot > tr > td:first-child
{
  border-right: 1px solid darkgray;
}
table.table-border-center-col > tbody > tr > td:nth-child(2), 
table.table-border-center-col > thead > tr > th:nth-child(2),
table.table-border-center-col > tfoot > tr > td:nth-child(2)
{
  border-right: 1px solid darkgray;
  border-left: 1px solid darkgray;
}
.bg-transparent{
  background-color: transparent !important;
}
.mb-0{
  margin-bottom: 0;
}

.nav-tabs>li>a{
  font-size: 18px;
  font-weight: 600;
}
.table-transparent, .table-transparent th {
    background-color: transparent !important;
    color: #000 !important;
}
.td-full-width {
  white-space:nowrap;
}
.font-17{
    font-size: 17px !important;
}
table.dataTable tbody>tr.selected{
    background-color: #B0BED9;
}
tr.footer-total > td {
    vertical-align: middle !important;
}
.error{
	color: red !important;
}
/*  pos tab */
div.pos-tab-container{
  z-index: 10;
  background-color: #ffffff;
  padding: 0 !important;
  border-radius: 4px;
  -moz-border-radius: 4px;
  border:1px solid #ddd;
    margin-bottom: 28px;
  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
  box-shadow: 0 6px 12px rgba(0,0,0,.175);
  -moz-box-shadow: 0 6px 12px rgba(0,0,0,.175);
  background-clip: padding-box;
}
div.pos-tab-menu{
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
}
div.pos-tab-menu div.list-group{
  margin-bottom: 0;
}
div.pos-tab-menu div.list-group>a{
  margin-bottom: 0;
}
div.pos-tab-menu div.list-group>a .glyphicon,
div.pos-tab-menu div.list-group>a .fa {
  color: #5A55A3;
}
div.pos-tab-menu div.list-group>a:first-child{
  border-top-right-radius: 0;
  -moz-border-top-right-radius: 0;
}
div.pos-tab-menu div.list-group>a:last-child{
  border-bottom-right-radius: 0;
  -moz-border-bottom-right-radius: 0;
}


/* div.pos-tab-menu div.list-group>a.active,
div.pos-tab-menu div.list-group>a.active .glyphicon,
div.pos-tab-menu div.list-group>a.active .fa{
  background-color: #3c8dbc;
  color: #ffffff;
    border-color: #3c8dbc;
} */

div.pos-tab-menu div.list-group > a.active,
div.pos-tab-menu div.list-group > a.active .glyphicon,
div.pos-tab-menu div.list-group > a.active .fa {
  background: linear-gradient(to right, #6366f1, #3b82f6);
  color: #ffffff;
  border-color: transparent;
}


div.pos-tab-menu div.list-group>a.active:after{
  /* content: ''; */
  position: absolute;
  left: 100%;
  top: 50%;
  margin-top: -13px;
  border-left: 0;
  border-bottom: 13px solid transparent;
  border-top: 13px solid transparent;
  border-left: 10px solid #3c8dbc;
}

div.pos-tab-content{
  background-color: #ffffff;
  /* border: 1px solid #eeeeee; */
  padding-left: 20px;
  padding-top: 20px;
}

div.pos-tab div.pos-tab-content:not(.active){
  display: none;
}

.add-product-price-table th{
	background-color: #5cb85c;
    color: white;
}
.blue-header th {
	background-color: #3c8dbc;
    color: white;
}
.table-th-green th{
	background-color: #5cb85c;
    color: white;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0; 
}
.active-cell {
    border: 2px dotted #3c8dbc !important;
}
.cursor-pointer{
    cursor: pointer !important;
}
.pos_product_div{
    /* min-height: 47vh;
    max-height: 57vh; */
    overflow-y: auto;
    /* margin-bottom: 20px; */
    height: 40vh !important;
}
.bg-lightgray{
    background-color: #F0EDED !important;
}
.balance_due_box >li{
    padding: 11px 5px 0px 5px;
}
.option-div {
    padding: 15px;
    background-color: #d2d6de;
    color: #333;
    border:1px solid #d2d6de;
    cursor: pointer;
}
.option-div input[type="radio"]{
    display: none;
}
.option-div-group .icon {
    color: #d33724;
    display: none;
}
.option-div-group .option-div:hover{
    border:1px solid gray;
}
.option-div-group .active .icon{
    display: block;
}
.margin-left-10 {
    margin-left: 10px;
}
.margin-bottom-12{
    margin-bottom: 12px;
}
.bg-info{
    background-color: #00c0ef !important;
}
.bg-info > a{
    color: #FFFFFF !important;
}
.bg-info>a:hover{
    background-color: #337ab7 !important;
}
/* Native DataTables export buttons: global modern UI */
.dataTables_wrapper .dt-buttons,
.dt-buttons.dt-native-buttons {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
    margin: 0;
}

.dataTables_wrapper .dt-buttons .dt-button,
.dataTables_wrapper .dt-buttons a.dt-button,
.dataTables_wrapper .dt-buttons button.dt-button,
.dataTables_wrapper .dt-buttons .dt-native-btn,
.dataTables_wrapper .dt-buttons a.dt-native-btn,
.dataTables_wrapper .dt-buttons button.dt-native-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.28rem !important;
    min-height: 2rem !important;
    padding: 0.32rem 0.5rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.36rem !important;
    background: #ffffff !important;
    color: #1e293b !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.dataTables_wrapper .dt-buttons .dt-button i,
.dataTables_wrapper .dt-buttons .dt-native-btn i {
    font-size: 0.86rem;
}

.dataTables_wrapper .dt-buttons .dt-button span,
.dataTables_wrapper .dt-buttons .dt-native-btn span {
    display: inline-block;
}

.dataTables_wrapper .dt-buttons .dt-button:hover,
.dataTables_wrapper .dt-buttons .dt-button:focus,
.dataTables_wrapper .dt-buttons .dt-native-btn:hover,
.dataTables_wrapper .dt-buttons .dt-native-btn:focus,
.dataTables_wrapper .dt-buttons .dt-button.active,
.dataTables_wrapper .dt-buttons .dt-native-btn.active {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

ul.dt-button-collection {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.45rem;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.06);
    padding: 0.28rem 0.22rem;
}

ul.dt-button-collection .dt-button {
    display: flex !important;
    align-items: center !important;
    gap: 0.42rem !important;
    width: 100% !important;
    padding: 0.4rem 0.56rem !important;
    border: 0 !important;
    border-radius: 0.3rem !important;
    background: transparent !important;
    color: #334155 !important;
    font-size: 0.78rem !important;
}

ul.dt-button-collection .dt-button:hover,
ul.dt-button-collection .dt-button.active {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

:root[data-theme='dark'] ul.dt-button-collection {
    background: #111a2c !important;
    border-color: #22314d !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5) !important;
}

:root[data-theme='dark'] ul.dt-button-collection .dt-button {
    color: #e2e8f0 !important;
}

:root[data-theme='dark'] ul.dt-button-collection .dt-button:hover,
:root[data-theme='dark'] ul.dt-button-collection .dt-button.active {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #f8fafc !important;
}

/* Legacy action buttons/dropdowns inside DataTables: global modern fallback */
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn:not(.users-btn-primary):not(.users-btn-light),
.dataTables_wrapper .btn-group > .dropdown-toggle.tw-dw-btn,
.dataTables_wrapper .btn-group > .dropdown-toggle.btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    min-height: 2rem !important;
    padding: 0.32rem 0.5rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.4rem !important;
    background: #ffffff !important;
    color: #475569 !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn:not(.users-btn-primary):not(.users-btn-light),
.dataTables_wrapper .btn-group.open > .dropdown-toggle.tw-dw-btn,
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn:not(.users-btn-primary):not(.users-btn-light):hover,
.dataTables_wrapper .btn-group > .dropdown-toggle.tw-dw-btn:hover,
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn:not(.users-btn-primary):not(.users-btn-light):focus,
.dataTables_wrapper .btn-group > .dropdown-toggle.tw-dw-btn:focus {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

/* Nestiko row actions: primary / light must not inherit the white DataTables fallback above */
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #ffffff !important;
}

.dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn-primary,
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:hover,
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:focus {
    filter: brightness(1.06) !important;
    border-color: #1e293b !important;
    color: #ffffff !important;
}

:root[data-theme='dark'] .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary {
    background: #3730a3 !important;
    border-color: #4f46e5 !important;
    color: #f8fafc !important;
}

:root[data-theme='dark'] .dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn-primary,
:root[data-theme='dark'] .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:hover,
:root[data-theme='dark'] .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:focus {
    filter: brightness(1.1) !important;
    border-color: #6366f1 !important;
    color: #ffffff !important;
}

.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-light {
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #475569 !important;
}

.dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn-light,
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-light:hover,
.dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-light:focus {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

:root[data-theme='dark'] .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-light {
    background: rgba(30, 41, 59, 0.75) !important;
    border-color: #334866 !important;
    color: #e2e8f0 !important;
}

:root[data-theme='dark'] .dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn-light,
:root[data-theme='dark'] .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-light:hover,
:root[data-theme='dark'] .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-light:focus {
    background: rgba(51, 65, 85, 0.88) !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

.dataTables_wrapper .dropdown-menu.dt-action-menu {
    min-width: 12rem !important;
    border-radius: 0.55rem !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.06) !important;
    padding: 0.25rem 0 !important;
    overflow: hidden !important;
}

.dataTables_wrapper .dropdown-menu.dt-action-menu > li > a,
.dataTables_wrapper .dropdown-menu > li > a.dt-action-link {
    display: flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    padding: 0.45rem 0.8rem !important;
    font-size: 0.78rem !important;
    color: #475569 !important;
    text-decoration: none !important;
}

.dataTables_wrapper .dropdown-menu.dt-action-menu > li > a:hover,
.dataTables_wrapper .dropdown-menu > li > a.dt-action-link:hover {
    background: #f8fafc !important;
    color: #0f172a !important;
}

.dataTables_wrapper .dropdown-menu > li > a.dt-action-link--danger {
    color: #b91c1c !important;
}

.dataTables_wrapper .dropdown-menu > li > a.dt-action-link--danger:hover {
    background: rgba(220, 38, 38, 0.08) !important;
    color: #991b1b !important;
}

.dataTables_wrapper .dropdown-menu.dt-action-menu > li > a i,
.dataTables_wrapper .dropdown-menu > li > a.dt-action-link i {
    width: 1rem;
    text-align: center;
}

/* Dark mode: row-action menus use light text (base rules above use #475569 !important) */
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu.dt-action-menu,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu {
    background-color: #111a2c !important;
    background: #111a2c !important;
    border-color: #22314d !important;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.55) !important;
}

:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu.dt-action-menu > li > a,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link {
    color: #e2e8f0 !important;
}

:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu.dt-action-menu > li > a:hover,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu.dt-action-menu > li > a:focus,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link:hover,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link:focus {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #f8fafc !important;
}

:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link--danger {
    color: #fca5a5 !important;
}

:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link--danger:hover,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link--danger:focus {
    background: rgba(248, 113, 113, 0.16) !important;
    color: #fecaca !important;
}

:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu.dt-action-menu > li > a i,
:root[data-theme='dark'] .dataTables_wrapper .dropdown-menu > li > a.dt-action-link i {
    color: inherit;
    opacity: 0.95;
}

/* Dark mode: all Bootstrap dropdown menus — readable links (excluding POS/light-only menus if needed) */
:root[data-theme='dark'] body .dropdown-menu {
    background-color: #111a2c;
    border-color: #22314d;
}

:root[data-theme='dark'] body .dropdown-menu .dropdown-header {
    color: #94a3b8 !important;
}

:root[data-theme='dark'] body .dropdown-menu li > a {
    color: #e2e8f0 !important;
}

:root[data-theme='dark'] body .dropdown-menu li > a:hover,
:root[data-theme='dark'] body .dropdown-menu li > a:focus {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #f8fafc !important;
}

:root[data-theme='dark'] body .dropdown-menu li.active > a,
:root[data-theme='dark'] body .dropdown-menu li.active > a:hover,
:root[data-theme='dark'] body .dropdown-menu li.active > a:focus {
    background-color: rgba(99, 102, 241, 0.22) !important;
    color: #e0e7ff !important;
}

:root[data-theme='dark'] body .dropdown-menu li > a.text-danger,
:root[data-theme='dark'] body .dropdown-menu li > a.delete_contact_button,
:root[data-theme='dark'] body .dropdown-menu li > a.delete-product,
:root[data-theme='dark'] body .dropdown-menu li > a[class*='delete_'] {
    color: #fca5a5 !important;
}

:root[data-theme='dark'] body .dropdown-menu li > a.text-danger:hover,
:root[data-theme='dark'] body .dropdown-menu li > a.delete_contact_button:hover,
:root[data-theme='dark'] body .dropdown-menu li > a.delete-product:hover {
    background-color: rgba(248, 113, 113, 0.14) !important;
    color: #fecaca !important;
}

:root[data-theme='dark'] body .dropdown-menu .divider {
    background-color: #2a3a52 !important;
}

/* Non-DataTable legacy action buttons fallback inside back-office content */
.app-main .content a.tw-dw-btn,
.app-main .content button.tw-dw-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.3rem !important;
    min-height: 2rem !important;
    padding: 0.32rem 0.5rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.36rem !important;
    background: #ffffff !important;
    color: #1e293b !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.app-main .content a.tw-dw-btn:hover,
.app-main .content button.tw-dw-btn:hover,
.app-main .content a.tw-dw-btn:focus,
.app-main .content button.tw-dw-btn:focus {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.app-main .content a.tw-dw-btn.tw-dw-btn-error,
.app-main .content button.tw-dw-btn.tw-dw-btn-error {
    border-color: rgba(239, 68, 68, 0.35) !important;
    color: #b91c1c !important;
    background: rgba(220, 38, 38, 0.06) !important;
}
td.details-control {
    background: url('/img/details_open.png') no-repeat center center;
    cursor: pointer;
}
tr.details td.details-control {
    background: url('/img/details_close.png') no-repeat center center;
}
input.input-icheck[type='checkbox'],
input.input-icheck[type='radio'] {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 0 10px 0 0;
    vertical-align: middle;
    position: relative;
    border: 1px solid rgba(148, 163, 184, 0.72);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    cursor: pointer;
}

input.input-icheck[type='checkbox'] {
    border-radius: 4px;
}

input.input-icheck[type='radio'] {
    border-radius: 999px;
}

input.input-icheck[type='checkbox']::after,
input.input-icheck[type='radio']::after {
    content: '';
    position: absolute;
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

input.input-icheck[type='checkbox']::after {
    left: 5px;
    top: 2px;
    width: 4px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0.8);
}

input.input-icheck[type='radio']::after {
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #7c3aed;
    transform: translate(-50%, -50%) scale(0.45);
}

input.input-icheck[type='checkbox']:hover,
input.input-icheck[type='radio']:hover,
input.input-icheck[type='checkbox']:focus,
input.input-icheck[type='radio']:focus {
    outline: none;
    border-color: rgba(124, 58, 237, 0.58);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
}

input.input-icheck[type='checkbox']:checked {
    background: linear-gradient(180deg, #8b5cf6, #6d28d9);
    border-color: #7c3aed;
    box-shadow: 0 6px 14px rgba(124, 58, 237, 0.18);
}

input.input-icheck[type='radio']:checked {
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}

input.input-icheck[type='checkbox']:checked::after,
input.input-icheck[type='radio']:checked::after {
    opacity: 1;
}

input.input-icheck[type='checkbox']:checked::after {
    transform: rotate(45deg) scale(1);
}

input.input-icheck[type='radio']:checked::after {
    transform: translate(-50%, -50%) scale(1);
}

.icheckbox_square-blue,
.iradio_square-blue{
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    margin-right: 10px;
    border: 1px solid rgba(148, 163, 184, 0.72) !important;
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    background-image: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.05);
    position: relative;
    overflow: hidden;
    transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.icheckbox_square-blue {
    border-radius: 4px;
}

.iradio_square-blue {
    border-radius: 999px;
}

.icheckbox_square-blue::after,
.iradio_square-blue::after {
    content: '';
    position: absolute;
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.icheckbox_square-blue::after {
    left: 5px;
    top: 2px;
    width: 4px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0.8);
}

.iradio_square-blue::after {
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #7c3aed;
    transform: translate(-50%, -50%) scale(0.45);
}

.icheckbox_square-blue.hover,
.iradio_square-blue.hover {
    border-color: rgba(124, 58, 237, 0.58) !important;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
}

.icheckbox_square-blue.checked {
    background: linear-gradient(180deg, #8b5cf6, #6d28d9) !important;
    border-color: #7c3aed !important;
    box-shadow: 0 6px 14px rgba(124, 58, 237, 0.18);
}

.iradio_square-blue.checked {
    border-color: #7c3aed !important;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}

.icheckbox_square-blue.checked::after,
.iradio_square-blue.checked::after {
    opacity: 1;
}

.icheckbox_square-blue.checked::after {
    transform: rotate(45deg) scale(1);
}

.iradio_square-blue.checked::after {
    transform: translate(-50%, -50%) scale(1);
}

.icheckbox_square-blue.disabled,
.iradio_square-blue.disabled,
input.input-icheck:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
}

:root[data-theme='dark'] input.input-icheck[type='checkbox'],
:root[data-theme='dark'] input.input-icheck[type='radio'],
:root[data-theme='dark'] .icheckbox_square-blue,
:root[data-theme='dark'] .iradio_square-blue {
    /* Lighter slate + stronger rim: previous fill matched Nestiko dark surfaces (#141d31 / #1a2740) and looked invisible */
    border: 2px solid rgba(241, 245, 249, 0.55) !important;
    background: linear-gradient(180deg, #4b5e78, #354154) !important;
    background-image: none !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 2px 8px rgba(0, 0, 0, 0.38);
}

:root[data-theme='dark'] input.input-icheck[type='checkbox']:hover,
:root[data-theme='dark'] input.input-icheck[type='radio']:hover,
:root[data-theme='dark'] input.input-icheck[type='checkbox']:focus,
:root[data-theme='dark'] input.input-icheck[type='radio']:focus,
:root[data-theme='dark'] .icheckbox_square-blue.hover,
:root[data-theme='dark'] .iradio_square-blue.hover {
    border-color: rgba(196, 181, 253, 0.95) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.12),
        0 0 0 3px rgba(167, 139, 250, 0.18),
        0 2px 10px rgba(0, 0, 0, 0.38);
}

:root[data-theme='dark'] input.input-icheck[type='checkbox']:checked,
:root[data-theme='dark'] .icheckbox_square-blue.checked {
    background: linear-gradient(180deg, #8b5cf6, #6d28d9) !important;
    border-color: #a78bfa !important;
    box-shadow:
        0 0 0 1px rgba(196, 181, 253, 0.18),
        0 8px 18px rgba(109, 40, 217, 0.28);
}

:root[data-theme='dark'] input.input-icheck[type='radio']:checked,
:root[data-theme='dark'] .iradio_square-blue.checked {
    border-color: #a78bfa !important;
    box-shadow:
        0 0 0 1px rgba(196, 181, 253, 0.18),
        0 0 0 3px rgba(167, 139, 250, 0.18),
        0 2px 8px rgba(0, 0, 0, 0.34);
}

:root[data-theme='dark'] input.input-icheck[type='radio']::after,
:root[data-theme='dark'] .iradio_square-blue::after {
    background: #ffffff;
}
.header-right-div{
    right: 10px;
    float: right;
    position: absolute;
    top: 15px;
}
.header-left-div{
    margin-top: 15px;
    display: inline-flex;
}
.m-8 {
    margin: 8px;
}
.mt-10{
    margin-top: 10px;
}
.mt-15{
    margin-top: 15px;
}
.m-5 {
    margin: 5px;
}
.icon-link{
  text-align:center;
  display:block;
  margin-bottom: 18px;
}
.icon-link > a {
    display:grid;
}
.icon-link > .badge{
    position: absolute;
    top: 20px;
    right: 67px;
}
.link-des {
    display: inline-block;
    text-align: left;
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img {
    border: none;
    height: auto;
    width: 100%;
    max-height: 120px;
}
.bg-light-green{
    background-color: #98D973 !important;
    color: #fff !important
}
.hover-q {
    font-size: 16px;
    margin-left: 3px;
    cursor: pointer;
}
.users-help-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    appearance: none;
    -webkit-appearance: none;
    min-height: 1.45rem;
    padding: 0.18rem 0.58rem;
    margin-left: 0.42rem;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    font-size: 0.69rem;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.01em;
    white-space: nowrap;
    vertical-align: middle;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.users-help-trigger:hover,
.users-help-trigger:focus {
    text-decoration: none;
    color: #0f172a;
    background: #f8fafc;
    border-color: #cbd5e1;
}
.users-help-trigger:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.14);
}
.users-help-trigger:active {
    transform: translateY(1px);
}
.checkbox .users-help-trigger,
h4 .users-help-trigger,
.form-group > label + .users-help-trigger {
    margin-left: 0.45rem;
}
.popover.nk-help-popover {
    max-width: 19rem;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 0.8rem;
    background: #ffffff;
    background-color: #ffffff;
    color: #475569;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.16);
    overflow: hidden;
}
.popover.nk-help-popover .popover-content {
    padding: 0.8rem 0.95rem;
    font-size: 0.8rem;
    line-height: 1.55;
    background: #ffffff;
    background-color: #ffffff;
    color: #475569;
}
.popover.nk-help-popover .text-muted {
    color: inherit !important;
    opacity: 0.9;
}
.popover.nk-help-popover .text-primary {
    color: #7c3aed !important;
}
.popover.nk-help-popover.top > .arrow,
.popover.nk-help-popover.top > .arrow:after {
    border-top-color: #ffffff;
}
.popover.nk-help-popover.bottom > .arrow,
.popover.nk-help-popover.bottom > .arrow:after {
    border-bottom-color: #ffffff;
}
.popover.nk-help-popover.left > .arrow,
.popover.nk-help-popover.left > .arrow:after {
    border-left-color: #ffffff;
}
.popover.nk-help-popover.right > .arrow,
.popover.nk-help-popover.right > .arrow:after {
    border-right-color: #ffffff;
}
.popover.nk-help-popover.top > .arrow {
    border-top-color: #e2e8f0;
}
.popover.nk-help-popover.bottom > .arrow {
    border-bottom-color: #e2e8f0;
}
.popover.nk-help-popover.left > .arrow {
    border-left-color: #e2e8f0;
}
.popover.nk-help-popover.right > .arrow {
    border-right-color: #e2e8f0;
}
:root[data-theme='dark'] .users-help-trigger {
    background: rgba(255, 255, 255, 0.04);
    border-color: #334866;
    color: #cbd5e1;
    box-shadow: none;
}
:root[data-theme='dark'] .users-help-trigger:hover,
:root[data-theme='dark'] .users-help-trigger:focus {
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.08);
    border-color: #a78bfa;
}
:root[data-theme='dark'] .users-help-trigger:focus {
    box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.18);
}
:root[data-theme='dark'] body .popover.nk-help-popover {
    border-color: #334866;
    background: #111a2c;
    background-color: #111a2c;
    color: #d6e0ef;
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.46);
}
:root[data-theme='dark'] body .popover.nk-help-popover .popover-content {
    background: #111a2c;
    background-color: #111a2c;
    color: #d6e0ef;
}
:root[data-theme='dark'] body .popover.nk-help-popover .text-primary {
    color: #c4b5fd !important;
}
:root[data-theme='dark'] body .popover.nk-help-popover.top > .arrow,
:root[data-theme='dark'] body .popover.nk-help-popover.top > .arrow:after {
    border-top-color: #111a2c;
}
:root[data-theme='dark'] body .popover.nk-help-popover.bottom > .arrow,
:root[data-theme='dark'] body .popover.nk-help-popover.bottom > .arrow:after {
    border-bottom-color: #111a2c;
}
:root[data-theme='dark'] body .popover.nk-help-popover.left > .arrow,
:root[data-theme='dark'] body .popover.nk-help-popover.left > .arrow:after {
    border-left-color: #111a2c;
}
:root[data-theme='dark'] body .popover.nk-help-popover.right > .arrow,
:root[data-theme='dark'] body .popover.nk-help-popover.right > .arrow:after {
    border-right-color: #111a2c;
}
:root[data-theme='dark'] body .popover.nk-help-popover.top > .arrow {
    border-top-color: #334866;
}
:root[data-theme='dark'] body .popover.nk-help-popover.bottom > .arrow {
    border-bottom-color: #334866;
}
:root[data-theme='dark'] body .popover.nk-help-popover.left > .arrow {
    border-left-color: #334866;
}
:root[data-theme='dark'] body .popover.nk-help-popover.right > .arrow {
    border-right-color: #334866;
}
.input-group-addon .hover-q{
    margin-left: 0px;
}

/* Shared transaction payment modals */
.nestiko-payment-modal {
    width: calc(100vw - 1.5rem);
    max-width: 60rem;
    margin: 1rem auto;
}
.nestiko-payment-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}
.nestiko-payment-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.95rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

/* Bootstrap 3 clearfix pseudo-elements become extra flex items when header/footer are flex. */
.nestiko-payment-modal .modal-header::before,
.nestiko-payment-modal .modal-header::after,
.nestiko-payment-modal .modal-footer::before,
.nestiko-payment-modal .modal-footer::after {
    display: none;
    content: none;
}

.nestiko-payment-modal .modal-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.nestiko-payment-modal .payment-modal-heading {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}
.nestiko-payment-modal .payment-modal-header-actions {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-left: auto;
}
.nestiko-payment-modal .payment-modal-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.26rem 0.58rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.1);
    color: #4f46e5;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.nestiko-payment-modal .payment-modal-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
    font-size: 0.78rem;
    line-height: 1.5;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-dot {
    width: 0.26rem;
    height: 0.26rem;
    border-radius: 999px;
    background: #cbd5e1;
}
.nestiko-payment-modal .payment-modal-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.nestiko-payment-modal .payment-modal-status-badge--success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #15803d;
}
.nestiko-payment-modal .payment-modal-status-badge--warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}
.nestiko-payment-modal .payment-modal-status-badge--danger {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}
.nestiko-payment-modal .payment-modal-status-badge--neutral {
    background: #f8fafc;
    border-color: #dbe2ea;
    color: #475569;
}
.nestiko-payment-modal .payment-modal-close {
    float: none;
    flex-shrink: 0;
    margin: 0;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 1.35rem;
    line-height: 1.85rem;
    text-shadow: none;
    opacity: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.nestiko-payment-modal .payment-modal-close:hover,
.nestiko-payment-modal .payment-modal-close:focus {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}
.nestiko-payment-modal .payment-modal-body {
    padding: 1.1rem 1.15rem 1rem;
}

/* Paid on: readonly field must still receive clicks for bootstrap-datetimepicker (ignoreReadonly). */
.nestiko-payment-modal .payment-modal-paid-on-field .nestiko-paid-on-input {
    pointer-events: auto;
    cursor: pointer;
    padding-right: 2.75rem;
}

.nestiko-payment-modal .payment-modal-paid-on-field {
    position: relative;
}

.nestiko-payment-modal .payment-modal-paid-on-control {
    position: relative;
}

.nestiko-payment-modal .payment-modal-paid-on-toggle {
    position: absolute;
    top: 50%;
    right: 0.35rem;
    transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 0.55rem;
    background: transparent;
    color: #94a3b8;
}

.nestiko-payment-modal .payment-modal-paid-on-toggle:hover,
.nestiko-payment-modal .payment-modal-paid-on-toggle:focus {
    background: rgba(131, 81, 236, 0.1);
    color: #8351ec;
    outline: none;
}

.nestiko-payment-modal .payment-modal-paid-on-popover {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 0;
    z-index: 10110;
    width: min(19rem, 100%);
    padding: 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 0.85rem;
    background: #122033;
    box-shadow: 0 16px 36px rgba(2, 6, 23, 0.42);
}

.nestiko-payment-modal .payment-modal-paid-on-popover-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.nestiko-payment-modal .payment-modal-paid-on-popover-field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.74rem;
    font-weight: 600;
    color: #cbd5e1;
}

.nestiko-payment-modal .payment-modal-paid-on-popover-actions {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    margin-top: 0.8rem;
}

.nestiko-payment-modal .payment-modal-paid-on-popover-actions .users-btn {
    flex: 1 1 0;
}
.nestiko-payment-modal .payment-modal-summary-grid {
    margin: 0 -0.5rem 1rem;
}
.nestiko-payment-modal .payment-modal-summary-grid > [class*='col-'] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 0.8rem;
}
.nestiko-payment-modal .payment-modal-summary-card {
    height: 100%;
    margin-bottom: 0;
    padding: 1rem 1.15rem 1.05rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
}

/* `.well` shares these cards; neutralize Bootstrap well spacing/shadow so Nestiko padding wins. */
.nestiko-payment-modal .well.payment-modal-summary-card {
    margin-bottom: 0;
    background-color: transparent;
    background-image: none;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
}
.nestiko-payment-modal .payment-modal-summary-card--accent {
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
    border-color: #ddd6fe;
}
.nestiko-payment-modal .payment-modal-summary-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-summary-title,
.nestiko-payment-modal .payment-modal-summary-amount {
    font-size: 0.97rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
    word-break: break-word;
}
.nestiko-payment-modal .payment-modal-summary-amount {
    font-size: 1.12rem;
}
.nestiko-payment-modal .payment-modal-summary-meta,
.nestiko-payment-modal .payment-modal-summary-note {
    display: grid;
    gap: 0.12rem;
    margin-top: 0.65rem;
}
.nestiko-payment-modal .payment-modal-summary-meta span,
.nestiko-payment-modal .payment-modal-summary-note span {
    font-size: 0.73rem;
    font-weight: 600;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-summary-meta strong,
.nestiko-payment-modal .payment-modal-summary-note strong {
    font-size: 0.82rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
}
.nestiko-payment-modal .payment-modal-summary-list {
    display: grid;
    gap: 0.55rem;
}
.nestiko-payment-modal .payment-modal-summary-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
}
.nestiko-payment-modal .payment-modal-summary-item span:first-child {
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-summary-item strong {
    color: #0f172a;
    font-weight: 700;
    text-align: right;
}
.nestiko-payment-modal .payment-modal-balance-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin: 0.05rem 0 1rem;
    padding: 0.78rem 0.95rem;
    border: 1px solid #ddd6fe;
    border-radius: 0.8rem;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}
.nestiko-payment-modal .payment-modal-balance-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6d28d9;
}
.nestiko-payment-modal .payment-modal-balance-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: #4c1d95;
}
.nestiko-payment-modal .payment-modal-progress-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0.05rem 0 1rem;
}
.nestiko-payment-modal .payment-modal-progress-card {
    padding: 0.85rem 0.95rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.82rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.nestiko-payment-modal .payment-modal-progress-card--accent {
    border-color: #ddd6fe;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}
.nestiko-payment-modal .payment-modal-progress-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-progress-value {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}
.nestiko-payment-modal .payment-modal-meta-row {
    margin: -0.1rem -0.5rem 0.1rem;
}
.nestiko-payment-modal .payment-modal-form-grid {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}
.nestiko-payment-modal .payment-modal-form-grid > [class*='col-'] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.nestiko-payment-modal .form-group {
    margin-bottom: 0.95rem;
}
.nestiko-payment-modal .form-group label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
}
.nestiko-payment-modal .form-control {
    min-height: 2.48rem;
    border-radius: 0.58rem;
    border: 1px solid #dbe2ea;
    background: #ffffff;
    color: #0f172a;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.nestiko-payment-modal .form-control::placeholder {
    color: #94a3b8;
}
.nestiko-payment-modal .form-control:focus {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.14);
}
.nestiko-payment-modal textarea.form-control {
    min-height: 5.6rem;
    resize: vertical;
}
.nestiko-payment-modal .input-group {
    width: 100%;
}
.nestiko-payment-modal .input-group-addon {
    min-width: 2.55rem;
    border-color: #dbe2ea;
    background: #f8fafc;
    color: #64748b;
}
.nestiko-payment-modal .input-group .form-control {
    min-width: 0;
}
.nestiko-payment-modal .select2-container {
    width: 100% !important;
}
.nestiko-payment-modal .select2-container--default .select2-selection--single,
.nestiko-payment-modal .select2-container--default .select2-selection--multiple {
    min-height: 2.48rem;
    border-radius: 0.58rem;
    border: 1px solid #dbe2ea;
    background: #ffffff;
}
.nestiko-payment-modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 2.32rem;
    padding-left: 0.75rem;
    padding-right: 2rem;
    color: #0f172a;
}
.nestiko-payment-modal .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 2.48rem;
    right: 0.5rem;
}
.nestiko-payment-modal .select2-container--default.select2-container--focus .select2-selection--single,
.nestiko-payment-modal .select2-container--default.select2-container--open .select2-selection--single,
.nestiko-payment-modal .select2-container--default.select2-container--focus .select2-selection--multiple,
.nestiko-payment-modal .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.14);
}
.nestiko-payment-modal .payment-modal-section {
    margin-top: 0.15rem;
    padding-top: 0.9rem;
    border-top: 1px solid #e2e8f0;
}
.nestiko-payment-modal .payment-modal-section-header {
    margin-bottom: 0.6rem;
}
.nestiko-payment-modal .payment-modal-section-header--lead {
    margin-bottom: 0.95rem;
}
.nestiko-payment-modal .payment-modal-section-title {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 700;
    color: #0f172a;
}
.nestiko-payment-modal .payment-modal-section-copy {
    margin: 0.28rem 0 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-denomination-table-wrap {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 0.8rem;
    background: #ffffff;
}
.nestiko-payment-modal .payment-modal-denomination-table {
    margin-bottom: 0;
}
.nestiko-payment-modal .payment-modal-denomination-table thead th {
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-denomination-table tbody td,
.nestiko-payment-modal .payment-modal-denomination-table tfoot th,
.nestiko-payment-modal .payment-modal-denomination-table tfoot td {
    padding: 0.7rem 0.85rem;
    border-top: 1px solid #edf2f7;
    font-size: 0.82rem;
    color: #334155;
    vertical-align: middle;
}
.nestiko-payment-modal .payment-modal-denomination-table .cash_denomination {
    max-width: 6rem;
    margin: 0 auto !important;
    text-align: center;
}
.nestiko-payment-modal .payment-modal-denomination-stepper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    width: 100%;
    max-width: 12.5rem;
    margin: 0 auto;
}
.nestiko-payment-modal .payment-modal-denomination-btn {
    flex: 0 0 auto;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.2rem 0.45rem;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
    border-radius: 0.55rem;
    border: 1px solid #cbd5e1;
    background: #f1f5f9;
    color: #0f172a;
}
.nestiko-payment-modal .payment-modal-denomination-btn:hover,
.nestiko-payment-modal .payment-modal-denomination-btn:focus {
    background: #e2e8f0;
    border-color: #94a3b8;
    outline: none;
}
.nestiko-payment-modal .payment-modal-denomination-table .payment-modal-denomination-input.cash_denomination {
    width: 3.1rem !important;
    max-width: 3.6rem !important;
    min-width: 2.6rem;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0.28rem 0.2rem;
    font-size: 0.82rem;
    -moz-appearance: textfield;
}
.nestiko-payment-modal .payment-modal-denomination-input.cash_denomination::-webkit-outer-spin-button,
.nestiko-payment-modal .payment-modal-denomination-input.cash_denomination::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.nestiko-payment-modal .payment-modal-denomination-table tfoot td:last-child {
    min-width: 9.5rem;
    text-align: right;
    white-space: nowrap;
}
.nestiko-payment-modal .payment-modal-denomination-table .denomination_total {
    font-weight: 700;
    color: #0f172a;
    display: inline-block;
}
.nestiko-payment-modal .cash_denomination_error {
    margin-top: 0.7rem;
    padding: 0.62rem 0.78rem;
    border-radius: 0.7rem;
    background: #fff1f2;
    color: #b91c1c;
    font-size: 0.78rem;
}
.nestiko-payment-modal .payment-modal-file-input {
    display: block;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border: 1px dashed #cbd5e1;
    border-radius: 0.72rem;
    background: #f8fafc;
    color: #475569;
    font-size: 0.81rem;
}
.nestiko-payment-modal .payment-modal-file-input:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
}
.nestiko-payment-modal .payment-modal-field-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin-top: 0.55rem;
}
.nestiko-payment-modal .payment-modal-field-hint {
    font-size: 0.76rem;
    line-height: 1.5;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-field-hint strong,
.nestiko-payment-modal .payment-modal-field-hint .display_currency {
    font-weight: 700;
    color: #0f172a;
}
.nestiko-payment-modal .payment-modal-quick-fill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.42rem 0.72rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.nestiko-payment-modal .payment-modal-quick-fill:hover,
.nestiko-payment-modal .payment-modal-quick-fill:focus {
    border-color: #8b5cf6;
    background: #f8fafc;
    color: #6d28d9;
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.14);
    outline: none;
}
.nestiko-payment-modal .help-block {
    margin-top: 0.38rem;
    margin-bottom: 0;
    font-size: 0.74rem;
    color: #64748b;
}
.nestiko-payment-modal .payment-modal-details {
    width: 100%;
}
.nestiko-payment-modal .payment-modal-details .payment_details_div {
    width: 100%;
}
.nestiko-payment-modal .payment-modal-details .payment_details_div:not(.hide) {
    margin-top: 0.25rem;
    padding-top: 0.95rem;
    border-top: 1px dashed #e2e8f0;
}
.nestiko-payment-modal .payment-modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.15rem 1rem;
    border-top: 1px solid #e2e8f0;
}
.nestiko-payment-modal .payment-modal-btn {
    min-width: 5rem;
    justify-content: center;
    border-radius: 0.58rem;
}
@media (max-width: 767px) {
    .nestiko-payment-modal {
        width: calc(100vw - 1rem);
        margin: 0.7rem auto;
    }
    .nestiko-payment-modal .modal-header,
    .nestiko-payment-modal .payment-modal-body,
    .nestiko-payment-modal .payment-modal-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }
    .nestiko-payment-modal .payment-modal-balance-strip {
        align-items: flex-start;
        flex-direction: column;
    }
    .nestiko-payment-modal .payment-modal-header-actions {
        width: 100%;
        justify-content: space-between;
    }
    .nestiko-payment-modal .payment-modal-progress-grid {
        grid-template-columns: 1fr;
    }
    .nestiko-payment-modal .payment-modal-summary-item {
        flex-direction: column;
        gap: 0.2rem;
    }
    .nestiko-payment-modal .payment-modal-footer .payment-modal-btn {
        flex: 1 1 auto;
    }
}
:root[data-theme='dark'] .nestiko-payment-modal .modal-content {
    border-color: #334866;
    background: #111a2c;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}
:root[data-theme='dark'] .nestiko-payment-modal .modal-header {
    border-bottom-color: #334866;
    background: linear-gradient(180deg, #1b2842 0%, #22314d 100%);
}
:root[data-theme='dark'] .nestiko-payment-modal .modal-title {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-kicker {
    background: rgba(129, 140, 248, 0.18);
    color: #c7d2fe;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-subtitle {
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-dot {
    background: #475569;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-status-badge--success {
    background: rgba(22, 163, 74, 0.18);
    border-color: rgba(34, 197, 94, 0.28);
    color: #bbf7d0;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-status-badge--warning {
    background: rgba(249, 115, 22, 0.18);
    border-color: rgba(251, 146, 60, 0.28);
    color: #fdba74;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-status-badge--danger {
    background: rgba(220, 38, 38, 0.2);
    border-color: rgba(248, 113, 113, 0.28);
    color: #fecaca;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-status-badge--neutral {
    background: rgba(255, 255, 255, 0.05);
    border-color: #334866;
    color: #cbd5e1;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-close {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-close:hover,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-close:focus {
    border-color: #475569;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-card {
    border-color: #334866;
    background: linear-gradient(180deg, #172137 0%, #121c2e 100%);
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-card--accent,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-balance-strip {
    border-color: rgba(167, 139, 250, 0.35);
    background: linear-gradient(180deg, rgba(91, 33, 182, 0.24) 0%, rgba(59, 7, 100, 0.18) 100%);
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-progress-card {
    border-color: #334866;
    background: linear-gradient(180deg, #172137 0%, #121c2e 100%);
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-progress-card--accent {
    border-color: rgba(167, 139, 250, 0.35);
    background: linear-gradient(180deg, rgba(91, 33, 182, 0.24) 0%, rgba(59, 7, 100, 0.18) 100%);
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-label,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-meta span,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-note span,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-item span:first-child,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-progress-label,
:root[data-theme='dark'] .nestiko-payment-modal .form-group label,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-section-copy,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-field-hint,
:root[data-theme='dark'] .nestiko-payment-modal .help-block {
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-title,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-amount,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-meta strong,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-note strong,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-summary-item strong,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-progress-value,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-section-title,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-balance-label,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-field-hint strong,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-field-hint .display_currency,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-balance-value {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-modal .form-control,
:root[data-theme='dark'] .nestiko-payment-modal .select2-container--default .select2-selection--single,
:root[data-theme='dark'] .nestiko-payment-modal .select2-container--default .select2-selection--multiple {
    border-color: #334866;
    background: #172137;
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-modal .form-control::placeholder,
:root[data-theme='dark'] .nestiko-payment-modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-modal .input-group-addon {
    border-color: #334866;
    background: #111a2c;
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-section,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-footer,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-details .payment_details_div:not(.hide) {
    border-color: #334866;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-table-wrap {
    border-color: #334866;
    background: #111a2c;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-table thead th {
    border-bottom-color: #334866;
    background: #162036;
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-btn {
    border-color: #334866;
    background: #162036;
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-btn:hover,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-btn:focus {
    background: #1c2a45;
    border-color: #475569;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-table .denomination_total {
    color: #f8fafc;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-table tbody td,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-table tfoot th,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-denomination-table tfoot td {
    border-color: #22314d;
    color: #cbd5e1;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-file-input {
    border-color: #334866;
    background: #172137;
    color: #cbd5e1;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-quick-fill {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-quick-fill:hover,
:root[data-theme='dark'] .nestiko-payment-modal .payment-modal-quick-fill:focus {
    border-color: rgba(167, 139, 250, 0.45);
    background: rgba(167, 139, 250, 0.12);
    color: #c4b5fd;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
}
:root[data-theme='dark'] .nestiko-payment-modal .cash_denomination_error {
    background: rgba(127, 29, 29, 0.22);
    color: #fecaca;
}

/* Add / edit contact modal — matches Nestiko shell forms & payment modal */
.nestiko-contact-modal {
    width: calc(100vw - 1.5rem);
    max-width: 56rem;
    margin: 1rem auto;
}
.nestiko-contact-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}
.nestiko-contact-modal__header.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.95rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}
.nestiko-contact-modal__title.modal-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #0f172a;
}
.nestiko-contact-modal__close.close {
    margin: 0;
    float: none;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 1.35rem;
    line-height: 1.85rem;
    text-shadow: none;
    opacity: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.nestiko-contact-modal__close.close:hover,
.nestiko-contact-modal__close.close:focus {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
    outline: none;
}
.nestiko-contact-modal .modal-body {
    padding: 1.1rem 1.15rem 1rem;
    background: #fafbfc;
}
/* Consistent vertical rhythm between logical rows (Bootstrap .row clears floats; this adds gap) */
.nestiko-contact-modal__grid > [class*='col-'] {
    margin-bottom: 0.15rem;
}
.nestiko-contact-modal__grid .form-group {
    margin-bottom: 0.85rem;
}
.nestiko-contact-modal__more-fields > [class*='col-'] {
    margin-bottom: 0.15rem;
}
.nestiko-contact-modal__more-fields .form-group {
    margin-bottom: 0.85rem;
}
/* Individual / Business — full-width segment (not squeezed between columns) */
.nestiko-contact-modal__segment {
    margin-bottom: 0.35rem;
    padding: 0.65rem 1rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    background: #f8fafc;
}
.nestiko-contact-modal__segment-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.nestiko-contact-modal__segment-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
}
.nestiko-contact-modal__segment-inner .radio-inline {
    margin-right: 0;
    margin-bottom: 0;
    padding-top: 0;
    font-size: 0.82rem;
    font-weight: 500;
}
:root[data-theme='dark'] .nestiko-contact-modal__segment {
    border-color: #334866;
    background: rgba(30, 41, 59, 0.45);
}
:root[data-theme='dark'] .nestiko-contact-modal__segment-label {
    color: #e2e8f0;
}
/* Pay term: keep "Know More" on same line as label (label was block-level and pushed the button away) */
.nestiko-contact-modal .nestiko-contact-modal__label-help-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    margin-bottom: 0.45rem;
}
.nestiko-contact-modal .nestiko-contact-modal__label-help-row .users-help-trigger {
    margin-left: 0;
    align-self: center;
}
.nestiko-contact-modal .nestiko-contact-modal__label-help-row label.nestiko-contact-modal__label-inline {
    display: inline !important;
    margin-bottom: 0 !important;
    padding-top: 0;
    font-weight: 700;
    vertical-align: baseline;
}
.nestiko-contact-modal .nestiko-contact-modal__multi-input::after {
    content: '';
    display: table;
    clear: both;
}
.nestiko-contact-modal .form-group {
    margin-bottom: 0.95rem;
}
/* Labels: match Nestiko flat forms (users / settings cards) */
.nestiko-contact-modal .form-group > label,
.nestiko-contact-modal label:not(.radio-inline):not(.form-check-label) {
    display: block;
    margin-bottom: 0.38rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
}
.nestiko-contact-modal .radio-inline {
    margin-right: 1.1rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #475569;
    vertical-align: top;
}
.nestiko-contact-modal .radio-inline input[type='radio'] {
    margin-top: 0.12rem;
    vertical-align: top;
}
/* Single-surface fields (no input-group icon rails) — same as .users-input app-wide */
.nestiko-contact-modal .form-control {
    min-height: 2.5rem;
    padding: 0.4rem 0.55rem;
    font-size: 0.8rem;
    line-height: 1.45;
    border-radius: 0.5rem;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    box-shadow: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.nestiko-contact-modal .form-control::placeholder {
    color: #94a3b8;
    font-weight: 400;
}
.nestiko-contact-modal .form-control:hover {
    border-color: #cbd5e1;
}
.nestiko-contact-modal .form-control:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.nestiko-contact-modal .form-control[readonly]:not([disabled]) {
    background: #f8fafc;
    cursor: default;
}
.nestiko-contact-modal textarea.form-control {
    min-height: 5.5rem;
    resize: vertical;
}
.nestiko-contact-modal .help-block {
    margin-top: 0.38rem;
    margin-bottom: 0;
    font-size: 0.74rem;
    color: #64748b;
}
.nestiko-contact-modal .select2-container {
    width: 100% !important;
}
.nestiko-contact-modal .select2-container--default .select2-selection--single,
.nestiko-contact-modal .select2-container--default .select2-selection--multiple {
    min-height: 2.5rem;
    border-radius: 0.5rem;
    border: 1px solid #cbd5e1;
    background: #ffffff;
}
.nestiko-contact-modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 2.35rem;
    padding-left: 0.55rem;
    padding-right: 2rem;
    font-size: 0.8rem;
    color: #0f172a;
}
.nestiko-contact-modal .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #94a3b8;
}
.nestiko-contact-modal .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 2.5rem;
    right: 0.5rem;
}
/* Multiple: default Select2 choice chips are dark grey — polish to match modal (no “black card” inset) */
.nestiko-contact-modal .select2-container--default .select2-selection--multiple {
    padding: 0.28rem 0.45rem 0.32rem;
}
.nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    line-height: 1.45;
    font-size: 0.8rem;
    color: #0f172a;
}
.nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin-top: 0.2rem;
    margin-right: 0.35rem;
    padding: 0.22rem 0.45rem 0.22rem 0.4rem;
    border-radius: 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.35;
    background: rgba(99, 102, 241, 0.1);
    border: 1px solid rgba(99, 102, 241, 0.28);
    color: #1e293b;
}
.nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 0.28rem;
    color: #64748b;
    font-weight: 700;
}
.nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #b91c1c;
}
.nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    margin-top: 0.12rem;
    padding: 0.2rem 0.25rem;
    font-size: 0.8rem;
    color: #0f172a;
    background: transparent;
    border: none !important;
    outline: none;
    box-shadow: none !important;
    min-width: 7rem;
}
.nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #94a3b8;
}
.nestiko-contact-modal .select2-container--default.select2-container--focus .select2-selection--single,
.nestiko-contact-modal .select2-container--default.select2-container--open .select2-selection--single,
.nestiko-contact-modal .select2-container--default.select2-container--focus .select2-selection--multiple,
.nestiko-contact-modal .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.nestiko-contact-modal hr {
    margin: 1rem 0;
    border: 0;
    border-top: 1px solid #e2e8f0;
}
.nestiko-contact-modal__footer.modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    align-items: center;
    padding: 0.85rem 1.15rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}
.nestiko-contact-modal__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 5rem;
    padding: 0.45rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 0.5rem;
    cursor: pointer;
    border: 1px solid #cbd5e1;
    font-family: inherit;
    box-sizing: border-box;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease,
        filter 0.15s ease;
}
/* Match Add Supplier / nestiko-shell-page-intro__btn--primary (accent purple, not slate) */
.nestiko-contact-modal__btn--primary {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--accent-primary, #8351ec) 100%, #000) 0%,
        var(--accent-primary, #8351ec) 100%
    );
    border-color: color-mix(in srgb, var(--accent-primary, #8351ec) 88%, #1e1b4b);
    color: #fff;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--accent-primary, #8351ec) 35%, transparent);
}
.nestiko-contact-modal__btn--primary:hover,
.nestiko-contact-modal__btn--primary:focus {
    filter: brightness(1.05);
    color: #fff;
    outline: none;
}
.nestiko-contact-modal__btn--secondary {
    background: #ffffff;
    color: #475569;
    border-color: #cbd5e1;
}
.nestiko-contact-modal__btn--secondary:hover,
.nestiko-contact-modal__btn--secondary:focus {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
    outline: none;
}
.nestiko-contact-modal__btn--block {
    width: 100%;
    max-width: 100%;
    min-height: 2.55rem;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .nestiko-contact-modal {
        width: calc(100vw - 1rem);
        margin: 0.7rem auto;
    }
    .nestiko-contact-modal__header.modal-header,
    .nestiko-contact-modal .modal-body,
    .nestiko-contact-modal__footer.modal-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }
    .nestiko-contact-modal__footer.modal-footer .nestiko-contact-modal__btn {
        flex: 1 1 auto;
    }
}
:root[data-theme='dark'] .nestiko-contact-modal .modal-content {
    border-color: #334866;
    background: #111a2c;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}
:root[data-theme='dark'] .nestiko-contact-modal__header.modal-header {
    border-bottom-color: #334866;
    background: linear-gradient(180deg, #1b2842 0%, #22314d 100%);
}
:root[data-theme='dark'] .nestiko-contact-modal__title.modal-title {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-contact-modal__close.close {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-contact-modal__close.close:hover,
:root[data-theme='dark'] .nestiko-contact-modal__close.close:focus {
    border-color: #475569;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
:root[data-theme='dark'] .nestiko-contact-modal .modal-body {
    background: #0f172a;
}
:root[data-theme='dark'] .nestiko-contact-modal .form-group > label,
:root[data-theme='dark'] .nestiko-contact-modal label:not(.radio-inline):not(.form-check-label) {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-contact-modal .radio-inline {
    color: #cbd5e1;
}
:root[data-theme='dark'] .nestiko-contact-modal .form-control {
    border-color: #334866;
    background: #1e293b;
    color: #f1f5f9;
}
:root[data-theme='dark'] .nestiko-contact-modal .form-control::placeholder {
    color: #64748b;
}
:root[data-theme='dark'] .nestiko-contact-modal .form-control[readonly]:not([disabled]) {
    background: rgba(30, 41, 59, 0.65);
}
:root[data-theme='dark'] .nestiko-contact-modal .help-block {
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--single,
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--multiple {
    border-color: #334866;
    background: #1e293b;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #f1f5f9;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #64748b;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: #f1f5f9;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: rgba(129, 140, 248, 0.18);
    border-color: rgba(129, 140, 248, 0.38);
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #fca5a5;
}
:root[data-theme='dark'] .nestiko-contact-modal .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    color: #f1f5f9;
}
:root[data-theme='dark'] .nestiko-contact-modal hr {
    border-top-color: #334866;
}
:root[data-theme='dark'] .nestiko-contact-modal__footer.modal-footer {
    border-top-color: #334866;
    background: #111a2c;
}
:root[data-theme='dark'] .nestiko-contact-modal__btn--primary {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--accent-primary, #8351ec) 100%, #000) 0%,
        var(--accent-primary, #8351ec) 100%
    );
    border-color: color-mix(in srgb, var(--accent-primary, #8351ec) 88%, #1e1b4b);
    color: #fff;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--accent-primary, #8351ec) 35%, transparent);
}
:root[data-theme='dark'] .nestiko-contact-modal__btn--primary:hover,
:root[data-theme='dark'] .nestiko-contact-modal__btn--primary:focus {
    filter: brightness(1.05);
    color: #fff;
}
:root[data-theme='dark'] .nestiko-contact-modal__btn--secondary {
    background: rgba(30, 41, 59, 0.72);
    border-color: #334866;
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-contact-modal__btn--secondary:hover,
:root[data-theme='dark'] .nestiko-contact-modal__btn--secondary:focus {
    background: rgba(51, 65, 85, 0.85);
    border-color: #475569;
    color: #f1f5f9;
}

/* Contacts page: table Actions + other primaries use shell accent (same as Add Supplier), not default slate .users-btn-primary */
.contacts-page .users-btn-primary,
.contacts-page .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--accent-primary, #8351ec) 100%, #000) 0%,
        var(--accent-primary, #8351ec) 100%
    );
    border-color: color-mix(in srgb, var(--accent-primary, #8351ec) 88%, #1e1b4b);
    color: #fff;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--accent-primary, #8351ec) 35%, transparent);
}
.contacts-page .users-btn-primary:hover,
.contacts-page .users-btn-primary:focus,
.contacts-page .btn-group.open > .dropdown-toggle.users-btn-primary,
.contacts-page .btn-group > .dropdown-toggle.users-btn-primary:hover,
.contacts-page .btn-group > .dropdown-toggle.users-btn-primary:focus,
.contacts-page .dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn-primary,
.contacts-page .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:hover,
.contacts-page .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:focus {
    filter: brightness(1.05);
    color: #fff;
    border-color: color-mix(in srgb, var(--accent-primary, #8351ec) 88%, #1e1b4b);
}
:root[data-theme='dark'] .contacts-page .users-btn-primary,
:root[data-theme='dark'] .contacts-page .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--accent-primary, #8351ec) 100%, #000) 0%,
        var(--accent-primary, #8351ec) 100%
    );
    border-color: color-mix(in srgb, var(--accent-primary, #8351ec) 88%, #1e1b4b);
    color: #fff;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--accent-primary, #8351ec) 35%, transparent);
}
:root[data-theme='dark'] .contacts-page .dataTables_wrapper .btn-group.open > .dropdown-toggle.users-btn-primary,
:root[data-theme='dark'] .contacts-page .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:hover,
:root[data-theme='dark'] .contacts-page .dataTables_wrapper .btn-group > .dropdown-toggle.users-btn-primary:focus {
    filter: brightness(1.05);
    color: #fff;
}

/* Shared payment history and single payment view modals */
.nestiko-payment-history-modal,
.nestiko-payment-detail-modal {
    width: calc(100vw - 1.5rem);
    margin: 1rem auto;
}
.nestiko-payment-history-modal {
    max-width: 78rem;
}
.nestiko-payment-detail-modal {
    max-width: 62rem;
}
.nestiko-payment-history-modal .modal-content,
.nestiko-payment-detail-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}
.nestiko-payment-history-modal .modal-header,
.nestiko-payment-detail-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.95rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}
.nestiko-payment-history-modal .modal-title,
.nestiko-payment-detail-modal .modal-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.nestiko-payment-history-modal .payment-history-close,
.nestiko-payment-detail-modal .payment-detail-close {
    margin: 0;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 1.35rem;
    line-height: 1.85rem;
    text-shadow: none;
    opacity: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.nestiko-payment-history-modal .payment-history-close:hover,
.nestiko-payment-history-modal .payment-history-close:focus,
.nestiko-payment-detail-modal .payment-detail-close:hover,
.nestiko-payment-detail-modal .payment-detail-close:focus {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}
.nestiko-payment-history-modal .payment-history-heading,
.nestiko-payment-detail-modal .payment-detail-heading {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}
.nestiko-payment-history-modal .payment-history-header-actions,
.nestiko-payment-detail-modal .payment-detail-header-actions {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-left: auto;
}
.nestiko-payment-history-modal .payment-history-kicker,
.nestiko-payment-detail-modal .payment-detail-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.26rem 0.58rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.1);
    color: #4f46e5;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.nestiko-payment-history-modal .payment-history-subtitle,
.nestiko-payment-detail-modal .payment-detail-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
    font-size: 0.78rem;
    line-height: 1.5;
    color: #64748b;
}
.nestiko-payment-history-modal .payment-history-dot,
.nestiko-payment-detail-modal .payment-detail-dot {
    width: 0.26rem;
    height: 0.26rem;
    border-radius: 999px;
    background: #cbd5e1;
}
.nestiko-payment-history-modal .payment-history-status-badge,
.nestiko-payment-detail-modal .payment-detail-method-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.nestiko-payment-history-modal .payment-history-status-badge--success,
.nestiko-payment-history-modal .payment-history-method-badge--success,
.nestiko-payment-detail-modal .payment-detail-method-badge--success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #15803d;
}
.nestiko-payment-history-modal .payment-history-status-badge--warning,
.nestiko-payment-history-modal .payment-history-method-badge--warning,
.nestiko-payment-detail-modal .payment-detail-method-badge--warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}
.nestiko-payment-history-modal .payment-history-status-badge--danger {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}
.nestiko-payment-history-modal .payment-history-status-badge--neutral,
.nestiko-payment-history-modal .payment-history-method-badge--neutral,
.nestiko-payment-history-modal .payment-history-method-badge--info,
.nestiko-payment-detail-modal .payment-detail-method-badge--neutral,
.nestiko-payment-detail-modal .payment-detail-method-badge--info {
    background: #f8fafc;
    border-color: #dbe2ea;
    color: #475569;
}
.nestiko-payment-history-modal .payment-history-body,
.nestiko-payment-detail-modal .payment-detail-body {
    padding: 1.1rem 1.15rem 1rem;
}
.nestiko-payment-history-modal .payment-history-summary-grid,
.nestiko-payment-detail-modal .payment-detail-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}
.nestiko-payment-history-modal .payment-history-card,
.nestiko-payment-detail-modal .payment-detail-card {
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.92rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
}
.nestiko-payment-history-modal .payment-history-card--accent,
.nestiko-payment-detail-modal .payment-detail-card--accent {
    border-color: #ddd6fe;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}
.nestiko-payment-history-modal .payment-history-card-label,
.nestiko-payment-detail-modal .payment-detail-card-label,
.nestiko-payment-history-modal .payment-history-stat-label,
.nestiko-payment-detail-modal .payment-detail-stat-label,
.nestiko-payment-history-modal .payment-history-section-kicker,
.nestiko-payment-detail-modal .payment-detail-section-kicker {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}
.nestiko-payment-history-modal .payment-history-card-title,
.nestiko-payment-detail-modal .payment-detail-card-title {
    margin: 0;
    font-size: 0.97rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
    word-break: break-word;
}
.nestiko-payment-history-modal .payment-history-card-subtitle,
.nestiko-payment-detail-modal .payment-detail-card-subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.82rem;
    color: #475569;
}
.nestiko-payment-history-modal .payment-history-card-meta,
.nestiko-payment-detail-modal .payment-detail-card-meta {
    display: grid;
    gap: 0.28rem;
    margin-top: 0.7rem;
}
.nestiko-payment-history-modal .payment-history-card-meta p,
.nestiko-payment-detail-modal .payment-detail-card-meta p {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: #475569;
}
.nestiko-payment-history-modal .payment-history-stats,
.nestiko-payment-detail-modal .payment-detail-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}
.nestiko-payment-detail-modal .payment-detail-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nestiko-payment-history-modal .payment-history-stat-card,
.nestiko-payment-detail-modal .payment-detail-stat-card {
    padding: 0.82rem 0.92rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.82rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.nestiko-payment-history-modal .payment-history-stat-card--accent,
.nestiko-payment-detail-modal .payment-detail-stat-card--accent {
    border-color: #ddd6fe;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}
.nestiko-payment-history-modal .payment-history-stat-value,
.nestiko-payment-detail-modal .payment-detail-stat-value {
    display: block;
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}
.nestiko-payment-history-modal .payment-history-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.92rem;
    background: #f8fafc;
}
.nestiko-payment-history-modal .payment-history-toolbar-copy {
    flex: 1 1 22rem;
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.6;
    color: #475569;
}
.nestiko-payment-history-modal .payment-history-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}
.nestiko-payment-history-modal .payment-history-toolbar-btn,
.nestiko-payment-detail-modal .payment-detail-document-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.15rem;
    padding: 0.48rem 0.82rem;
    border: 1px solid #dbe2ea;
    border-radius: 0.68rem;
    background: #ffffff;
    color: #334155;
    font-size: 0.77rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.nestiko-payment-history-modal .payment-history-toolbar-btn:hover,
.nestiko-payment-history-modal .payment-history-toolbar-btn:focus,
.nestiko-payment-detail-modal .payment-detail-document-btn:hover,
.nestiko-payment-detail-modal .payment-detail-document-btn:focus {
    border-color: #8b5cf6;
    background: #f8fafc;
    color: #6d28d9;
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.14);
    outline: none;
    text-decoration: none;
}
.nestiko-payment-history-modal .payment-history-toolbar-btn--primary {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #ffffff;
}
.nestiko-payment-history-modal .payment-history-toolbar-btn--primary:hover,
.nestiko-payment-history-modal .payment-history-toolbar-btn--primary:focus {
    background: #4338ca;
    border-color: #4338ca;
    color: #ffffff;
}
.nestiko-payment-history-modal .payment-history-toolbar-btn--warning {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}
.nestiko-payment-history-modal .payment-history-section,
.nestiko-payment-detail-modal .payment-detail-section {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.92rem;
    background: #ffffff;
}
.nestiko-payment-history-modal .payment-history-section-header,
.nestiko-payment-detail-modal .payment-detail-section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}
.nestiko-payment-history-modal .payment-history-section-title,
.nestiko-payment-detail-modal .payment-detail-section-title {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}
.nestiko-payment-history-modal .payment-history-section-meta {
    margin: 0;
    font-size: 0.8rem;
    color: #64748b;
}
.nestiko-payment-history-modal .payment-history-table-wrap {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 0.82rem;
}
.nestiko-payment-history-modal .payment-history-table {
    width: 100%;
    min-width: 56rem;
    margin: 0;
    border-collapse: collapse;
}
.nestiko-payment-history-modal .payment-history-table th {
    padding: 0.68rem 0.8rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    vertical-align: middle;
}
.nestiko-payment-history-modal .payment-history-table td {
    padding: 0.78rem 0.8rem;
    border-top: 1px solid #edf2f7;
    font-size: 0.82rem;
    color: #334155;
    vertical-align: top;
}
.nestiko-payment-history-modal .payment-history-table__actions {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}
.nestiko-payment-history-modal .payment-history-method-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.58rem;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
}
.nestiko-payment-history-modal .payment-history-note {
    display: grid;
    gap: 0.35rem;
}
.nestiko-payment-history-modal .payment-history-note span:last-child {
    line-height: 1.55;
}
.nestiko-payment-history-modal .payment-history-inline-tag {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.22rem 0.48rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 0.7rem;
    font-weight: 700;
}
.nestiko-payment-history-modal .payment-history-row-actions {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    min-width: max-content;
}

.nestiko-payment-history-modal .payment-history-row-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    border: 1px solid #dbe2ea;
    border-radius: 0.62rem;
    background: #ffffff;
    color: #475569;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
.nestiko-payment-history-modal .payment-history-row-btn > .ti {
    font-size: 1.1rem;
    line-height: 1;
}
.nestiko-payment-history-modal .payment-history-footer-btn > .ti {
    font-size: 1.05rem;
    line-height: 1;
}
.nestiko-payment-history-modal .payment-history-row-btn:hover,
.nestiko-payment-history-modal .payment-history-row-btn:focus {
    border-color: #8b5cf6;
    background: #f8fafc;
    color: #6d28d9;
    outline: none;
    text-decoration: none;
}
.nestiko-payment-history-modal .payment-history-row-btn--primary {
    color: #1d4ed8;
}
.nestiko-payment-history-modal .payment-history-row-btn--info,
.nestiko-payment-history-modal .payment-history-row-btn--secondary {
    color: #0f766e;
}
.nestiko-payment-history-modal .payment-history-row-btn--danger {
    color: #b91c1c;
}
.nestiko-payment-history-modal .payment-history-row-btn--accent {
    color: #7c3aed;
}
.nestiko-payment-detail-modal .payment-detail-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
.nestiko-payment-detail-modal .payment-detail-meta-card {
    padding: 0.85rem 0.92rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.82rem;
    background: #f8fafc;
}
.nestiko-payment-detail-modal .payment-detail-meta-card p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.6;
    color: #334155;
}
.nestiko-payment-history-modal .payment-history-footer,
.nestiko-payment-detail-modal .payment-detail-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.15rem 1rem;
    border-top: 1px solid #e2e8f0;
}
.nestiko-payment-history-modal .payment-history-footer-btn,
.nestiko-payment-detail-modal .payment-detail-footer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-width: 5rem;
    min-height: 2.2rem;
    padding: 0.5rem 0.85rem;
    border: 1px solid #dbe2ea;
    border-radius: 0.62rem;
    background: #ffffff;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}
.nestiko-payment-history-modal .payment-history-footer-btn--primary,
.nestiko-payment-detail-modal .payment-detail-footer-btn--primary {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #ffffff;
}

@media (max-width: 991px) {
    .nestiko-payment-history-modal .payment-history-summary-grid,
    .nestiko-payment-detail-modal .payment-detail-summary-grid,
    .nestiko-payment-history-modal .payment-history-stats,
    .nestiko-payment-detail-modal .payment-detail-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nestiko-payment-history-modal,
    .nestiko-payment-detail-modal {
        width: calc(100vw - 1rem);
        margin: 0.7rem auto;
    }
    .nestiko-payment-history-modal .modal-header,
    .nestiko-payment-history-modal .payment-history-body,
    .nestiko-payment-history-modal .payment-history-footer,
    .nestiko-payment-detail-modal .modal-header,
    .nestiko-payment-detail-modal .payment-detail-body,
    .nestiko-payment-detail-modal .payment-detail-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }
    .nestiko-payment-history-modal .payment-history-header-actions,
    .nestiko-payment-detail-modal .payment-detail-header-actions {
        width: 100%;
        justify-content: space-between;
    }
    .nestiko-payment-history-modal .payment-history-summary-grid,
    .nestiko-payment-history-modal .payment-history-stats,
    .nestiko-payment-detail-modal .payment-detail-summary-grid,
    .nestiko-payment-detail-modal .payment-detail-stats,
    .nestiko-payment-detail-modal .payment-detail-meta-grid {
        grid-template-columns: 1fr;
    }
    .nestiko-payment-history-modal .payment-history-toolbar {
        align-items: flex-start;
    }
    .nestiko-payment-history-modal .payment-history-toolbar-actions {
        width: 100%;
        justify-content: flex-start;
    }
    .nestiko-payment-history-modal .payment-history-footer .payment-history-footer-btn,
    .nestiko-payment-detail-modal .payment-detail-footer .payment-detail-footer-btn {
        flex: 1 1 auto;
    }
}

:root[data-theme='dark'] .nestiko-payment-history-modal .modal-content,
:root[data-theme='dark'] .nestiko-payment-detail-modal .modal-content {
    border-color: #334866;
    background: #111a2c;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}
:root[data-theme='dark'] .nestiko-payment-history-modal .modal-header,
:root[data-theme='dark'] .nestiko-payment-detail-modal .modal-header {
    border-bottom-color: #334866;
    background: linear-gradient(180deg, #1b2842 0%, #22314d 100%);
}
:root[data-theme='dark'] .nestiko-payment-history-modal .modal-title,
:root[data-theme='dark'] .nestiko-payment-detail-modal .modal-title {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-kicker,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-kicker {
    background: rgba(129, 140, 248, 0.18);
    color: #c7d2fe;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-subtitle,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-subtitle {
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-dot,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-dot {
    background: #475569;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-close,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-close {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-close:hover,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-close:focus,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-close:hover,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-close:focus {
    border-color: #475569;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-status-badge--success,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-method-badge--success,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-method-badge--success {
    background: rgba(22, 163, 74, 0.18);
    border-color: rgba(34, 197, 94, 0.28);
    color: #bbf7d0;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-status-badge--warning,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-method-badge--warning,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-method-badge--warning {
    background: rgba(249, 115, 22, 0.18);
    border-color: rgba(251, 146, 60, 0.28);
    color: #fdba74;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-status-badge--danger {
    background: rgba(220, 38, 38, 0.2);
    border-color: rgba(248, 113, 113, 0.28);
    color: #fecaca;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-status-badge--neutral,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-method-badge--neutral,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-method-badge--info,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-method-badge--neutral,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-method-badge--info {
    background: rgba(255, 255, 255, 0.05);
    border-color: #334866;
    color: #cbd5e1;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-card,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-card,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-stat-card,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-stat-card,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-meta-card,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-section,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-section {
    border-color: #334866;
    background: linear-gradient(180deg, #172137 0%, #121c2e 100%);
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-card--accent,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-card--accent,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-stat-card--accent,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-stat-card--accent {
    border-color: rgba(167, 139, 250, 0.35);
    background: linear-gradient(180deg, rgba(91, 33, 182, 0.24) 0%, rgba(59, 7, 100, 0.18) 100%);
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-toolbar {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-card-label,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-card-label,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-stat-label,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-stat-label,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-section-kicker,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-section-kicker,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-card-meta p,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-card-meta p,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-toolbar-copy,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-section-meta,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-meta-card p {
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-card-title,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-card-title,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-stat-value,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-stat-value,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-section-title,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-section-title,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-card-subtitle,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-card-subtitle {
    color: #e2e8f0;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-toolbar-btn,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-document-btn,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-row-btn,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-footer-btn,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-footer-btn {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
    box-shadow: none;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-toolbar-btn--primary,
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-footer-btn--primary,
:root[data-theme='dark'] .nestiko-payment-detail-modal .payment-detail-footer-btn--primary {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #ffffff;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-table-wrap {
    border-color: #334866;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-table th {
    background: rgba(255, 255, 255, 0.05);
    border-bottom-color: #334866;
    color: #94a3b8;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-table td {
    border-color: #22314d;
    color: #cbd5e1;
}
:root[data-theme='dark'] .nestiko-payment-history-modal .payment-history-inline-tag {
    background: rgba(79, 70, 229, 0.18);
    color: #c7d2fe;
}

/* Shared purchase view modal */
.nestiko-purchase-view-modal {
    width: calc(100vw - 1.5rem);
    max-width: 76rem;
    margin: 1rem auto;
}
.nestiko-purchase-view-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}
.nestiko-purchase-view-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1.15rem 1.4rem 1.1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}
.nestiko-purchase-view-modal .modal-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.purchase-view-modal-heading {
    min-width: 0;
}
.purchase-view-modal-kicker {
    display: inline-block;
    margin-bottom: 0.28rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}
.purchase-view-modal-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.32rem;
    font-size: 0.8rem;
    color: #64748b;
}
.purchase-view-modal-ref {
    font-weight: 700;
    color: #334155;
}
.purchase-view-modal-dot {
    width: 0.22rem;
    height: 0.22rem;
    border-radius: 999px;
    background: #cbd5e1;
}
.purchase-view-modal-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    margin-left: auto;
    flex-shrink: 0;
    padding: 0.1rem 0 0.1rem 0.35rem;
}
.purchase-view-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.8rem;
    padding: 0.3rem 0.72rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
}
.purchase-view-badge--success {
    color: #166534;
    background: #ecfdf5;
    border-color: #bbf7d0;
}
.purchase-view-badge--warning {
    color: #92400e;
    background: #fffbeb;
    border-color: #fde68a;
}
.purchase-view-badge--danger {
    color: #b91c1c;
    background: #fef2f2;
    border-color: #fecaca;
}
.purchase-view-badge--info {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.purchase-view-badge--muted {
    color: #475569;
    background: #f8fafc;
    border-color: #e2e8f0;
}
.purchase-view-modal-close {
    float: none !important;
    position: relative;
    top: auto;
    right: auto;
    margin: 0;
    flex-shrink: 0;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #475569;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    text-shadow: none;
    opacity: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.purchase-view-modal-close span {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transform: translateY(-0.04em);
}
.purchase-view-modal-close:hover,
.purchase-view-modal-close:focus {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}
.purchase-view-modal-body {
    padding: 1.1rem 1.15rem 1.35rem;
    max-height: calc(100vh - 10.5rem);
    overflow-y: auto;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 16%);
}
.purchase-view-summary-grid,
.purchase-view-finance-grid,
.purchase-view-note-grid {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}
.purchase-view-summary-grid > [class*='col-'],
.purchase-view-finance-grid > [class*='col-'],
.purchase-view-note-grid > [class*='col-'] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 0.85rem;
}
.purchase-view-card,
.purchase-view-section {
    margin-bottom: 0;
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
}

/* Cards in the top summary row can share row height; sections follow content (no stretch). */
.purchase-view-summary-grid .purchase-view-card {
    height: 100%;
}

.purchase-view-section {
    height: auto;
    min-height: 0;
}

/* Products / line-items block: height = header + table only, with space before the next block */
.purchase-view-section:has(.purchase-view-table-wrap) {
    margin-bottom: 1.15rem;
    padding-bottom: 0.55rem;
}
.purchase-view-card-label,
.purchase-view-section-kicker {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}
.purchase-view-card-title,
.purchase-view-section-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}
.purchase-view-card-subtitle {
    margin: 0.22rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
}
.purchase-view-card-copy {
    display: grid;
    gap: 0.3rem;
    margin-top: 0.78rem;
}
.purchase-view-card-copy p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.55;
    color: #475569;
}
.purchase-view-card-meta {
    display: grid;
    gap: 0.6rem;
    margin-top: 0.85rem;
    padding-top: 0.8rem;
    border-top: 1px solid #eef2f7;
}
.purchase-view-card-meta div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.7rem;
}
.purchase-view-card-meta span {
    font-size: 0.78rem;
    color: #64748b;
}
.purchase-view-card-meta strong {
    font-size: 0.8rem;
    font-weight: 600;
    text-align: right;
    color: #0f172a;
    word-break: break-word;
}
.purchase-view-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0.1rem 0 1rem;
}
.purchase-view-stat-card {
    padding: 0.85rem 0.95rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.88rem;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.purchase-view-stat-card--accent,
.purchase-view-section--accent {
    border-color: #ddd6fe;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}
.purchase-view-stat-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.73rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}
.purchase-view-stat-value {
    display: block;
    font-size: 1.04rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}
.purchase-view-section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}
.purchase-view-section-meta {
    margin: 0;
    font-size: 0.78rem;
    color: #64748b;
}
.purchase-view-table-wrap {
    margin-top: 0.78rem;
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #ffffff;
}
.purchase-view-table {
    min-width: 68rem;
    margin-bottom: 0;
}
.purchase-view-table--compact {
    min-width: 44rem;
}
.purchase-view-table thead th {
    padding: 0.72rem 0.78rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    white-space: nowrap;
}
.purchase-view-table tbody td {
    padding: 0.75rem 0.78rem;
    border-top: 1px solid #edf2f7;
    font-size: 0.82rem;
    line-height: 1.5;
    color: #334155;
    vertical-align: top;
}
.purchase-view-product-name {
    display: block;
    font-weight: 700;
    color: #0f172a;
}
.purchase-view-table-muted {
    display: block;
    margin-top: 0.18rem;
    font-size: 0.74rem;
    color: #64748b;
}
.purchase-view-section-empty {
    margin: 0.78rem 0 0;
    padding: 0.9rem 1rem;
    border-radius: 0.8rem;
    background: #f8fafc;
    font-size: 0.82rem;
    color: #64748b;
    text-align: center;
}
.purchase-view-total-list {
    display: grid;
    gap: 0.58rem;
    margin-top: 0.78rem;
}
.purchase-view-total-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    padding-bottom: 0.42rem;
    border-bottom: 1px dashed #e2e8f0;
}
.purchase-view-total-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.purchase-view-total-row span {
    font-size: 0.82rem;
    color: #475569;
}
.purchase-view-total-row span small {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    color: #64748b;
}
.purchase-view-total-row strong {
    font-size: 0.84rem;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
}
.purchase-view-total-row--emphasis strong,
.purchase-view-total-row--balance strong {
    font-size: 0.98rem;
}
.purchase-view-total-row--balance {
    padding: 0.72rem 0.78rem;
    border: 1px solid #ddd6fe;
    border-radius: 0.8rem;
    background: rgba(139, 92, 246, 0.06);
}
.purchase-view-note-body {
    margin-top: 0.78rem;
    font-size: 0.82rem;
    line-height: 1.65;
    color: #334155;
    white-space: pre-line;
}
.purchase-view-note-list {
    display: grid;
    gap: 0.62rem;
    margin-top: 0.85rem;
}
.purchase-view-note-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.purchase-view-note-item--stacked {
    flex-direction: column;
}
.purchase-view-note-item span {
    font-size: 0.78rem;
    color: #64748b;
}
.purchase-view-note-item strong {
    font-size: 0.82rem;
    font-weight: 600;
    color: #0f172a;
    text-align: right;
    word-break: break-word;
}
.purchase-view-note-item--stacked strong {
    text-align: left;
}
.purchase-view-divider {
    margin: 0.95rem 0;
    border-top: 1px dashed #e2e8f0;
}
.purchase-view-media-wrap {
    margin-top: 0.9rem;
}
.purchase-view-activity-wrap {
    margin-top: 0.78rem;
}
.purchase-view-activity-wrap > .table {
    margin-bottom: 0;
}
.purchase-view-activity-wrap > .table thead th {
    padding: 0.72rem 0.78rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}
.purchase-view-activity-wrap > .table > tbody > tr:first-child > th {
    padding: 0.72rem 0.78rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}
.purchase-view-activity-wrap > .table tbody td {
    padding: 0.75rem 0.78rem;
    border-top: 1px solid #edf2f7;
    font-size: 0.82rem;
    line-height: 1.55;
    color: #334155;
    vertical-align: top;
}
.purchase-view-activity-wrap > .table tbody td .label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
}
.purchase-view-activity-wrap > .table tbody td table {
    width: 100%;
}
.purchase-view-activity-wrap > .table tbody td table td,
.purchase-view-activity-wrap > .table tbody td table th {
    padding: 0.12rem 0;
    border: none;
    background: transparent;
    font-size: 0.76rem;
    color: inherit;
}
.purchase-view-barcode {
    margin-top: 0.15rem;
    padding: 1rem 1rem 0.45rem;
    border: 1px dashed #cbd5e1;
    border-radius: 0.95rem;
    background: #ffffff;
    text-align: center;
}
.purchase-view-barcode img {
    max-width: 100%;
    height: auto;
}
.purchase-view-modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.15rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}
.purchase-view-modal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-width: 5rem;
    padding: 0.62rem 1rem;
    border: 1px solid #dbe2ea;
    border-radius: 0.58rem;
    background: #ffffff;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.purchase-view-modal-btn:hover,
.purchase-view-modal-btn:focus {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}
.purchase-view-modal-btn--primary {
    border-color: #223251;
    background: #223251;
    color: #ffffff;
}
.purchase-view-modal-btn--primary:hover,
.purchase-view-modal-btn--primary:focus {
    border-color: #1b2740;
    background: #1b2740;
    color: #ffffff;
}
.purchase-print-preview-page {
    min-height: 100vh;
    padding: 1.4rem 1rem 2rem;
    background:
        radial-gradient(circle at top left, rgba(99, 102, 241, 0.08), transparent 32%),
        linear-gradient(180deg, #eef2ff 0%, #f8fafc 18%, #f3f4f6 100%);
}
.purchase-print-preview-toolbar {
    position: sticky;
    top: 1rem;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    width: min(100%, 76rem);
    margin: 0 auto 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(219, 226, 234, 0.94);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(14px);
}
.purchase-print-preview-heading {
    min-width: 0;
}
.purchase-print-preview-kicker {
    display: inline-block;
    margin-bottom: 0.28rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}
.purchase-print-preview-title {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}
.purchase-print-preview-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0.32rem 0 0;
    font-size: 0.82rem;
    color: #64748b;
}
.purchase-print-preview-copy {
    margin: 0.45rem 0 0;
    max-width: 42rem;
    font-size: 0.82rem;
    line-height: 1.6;
    color: #475569;
}
.purchase-print-preview-dot {
    width: 0.22rem;
    height: 0.22rem;
    border-radius: 999px;
    background: #cbd5e1;
}
.purchase-print-preview-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.purchase-print-preview-canvas {
    width: min(100%, 76rem);
    margin: 0 auto;
}
.purchase-print-preview-shell {
    width: 100%;
    max-width: none;
    margin: 0;
}
.purchase-print-preview-shell .purchase-view-modal-body {
    max-height: none;
    overflow: visible;
}
@media (max-width: 767px) {
    .purchase-print-preview-page {
        padding: 0.85rem 0.75rem 1.5rem;
    }
    .purchase-print-preview-toolbar {
        top: 0.75rem;
        padding: 0.85rem;
    }
    .purchase-print-preview-actions {
        width: 100%;
    }
    .purchase-print-preview-actions .purchase-view-modal-btn {
        flex: 1 1 auto;
    }
}
@media (max-width: 991px) {
    .purchase-view-stats {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767px) {
    .nestiko-purchase-view-modal {
        width: calc(100vw - 1rem);
        margin: 0.7rem auto;
    }
    .nestiko-purchase-view-modal .modal-header,
    .purchase-view-modal-body,
    .purchase-view-modal-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }
    .nestiko-purchase-view-modal .modal-header {
        flex-direction: column;
    }
    .purchase-view-modal-actions {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }
    .purchase-view-card-meta div,
    .purchase-view-total-row,
    .purchase-view-note-item {
        flex-direction: column;
        gap: 0.2rem;
    }
    .purchase-view-card-meta strong,
    .purchase-view-total-row strong,
    .purchase-view-note-item strong {
        text-align: left;
    }
    .purchase-view-modal-footer .purchase-view-modal-btn {
        flex: 1 1 auto;
    }
}
:root[data-theme='dark'] .nestiko-purchase-view-modal .modal-content {
    border-color: #334866;
    background: #111a2c;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}
:root[data-theme='dark'] .nestiko-purchase-view-modal .modal-header {
    border-bottom-color: #334866;
    background: linear-gradient(180deg, #1b2842 0%, #22314d 100%);
}
:root[data-theme='dark'] .nestiko-purchase-view-modal .modal-title,
:root[data-theme='dark'] .purchase-view-card-title,
:root[data-theme='dark'] .purchase-view-section-title,
:root[data-theme='dark'] .purchase-view-card-meta strong,
:root[data-theme='dark'] .purchase-view-stat-value,
:root[data-theme='dark'] .purchase-view-total-row strong,
:root[data-theme='dark'] .purchase-view-note-item strong {
    color: #e2e8f0;
}
:root[data-theme='dark'] .purchase-view-modal-kicker,
:root[data-theme='dark'] .purchase-view-modal-subtitle,
:root[data-theme='dark'] .purchase-view-card-label,
:root[data-theme='dark'] .purchase-view-section-kicker,
:root[data-theme='dark'] .purchase-view-card-subtitle,
:root[data-theme='dark'] .purchase-view-card-copy p,
:root[data-theme='dark'] .purchase-view-card-meta span,
:root[data-theme='dark'] .purchase-view-stat-label,
:root[data-theme='dark'] .purchase-view-section-meta,
:root[data-theme='dark'] .purchase-view-total-row span,
:root[data-theme='dark'] .purchase-view-total-row span small,
:root[data-theme='dark'] .purchase-view-note-body,
:root[data-theme='dark'] .purchase-view-note-item span {
    color: #94a3b8;
}
:root[data-theme='dark'] .purchase-view-modal-ref {
    color: #e2e8f0;
}
:root[data-theme='dark'] .purchase-view-modal-dot {
    background: #475569;
}
:root[data-theme='dark'] .purchase-view-badge--success {
    color: #bbf7d0;
    background: rgba(22, 101, 52, 0.28);
    border-color: rgba(74, 222, 128, 0.32);
}
:root[data-theme='dark'] .purchase-view-badge--warning {
    color: #fde68a;
    background: rgba(146, 64, 14, 0.28);
    border-color: rgba(251, 191, 36, 0.28);
}
:root[data-theme='dark'] .purchase-view-badge--danger {
    color: #fecaca;
    background: rgba(127, 29, 29, 0.26);
    border-color: rgba(248, 113, 113, 0.28);
}
:root[data-theme='dark'] .purchase-view-badge--info {
    color: #bfdbfe;
    background: rgba(29, 78, 216, 0.24);
    border-color: rgba(96, 165, 250, 0.28);
}
:root[data-theme='dark'] .purchase-view-badge--muted {
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.05);
    border-color: #334866;
}
:root[data-theme='dark'] .purchase-view-modal-close {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    box-shadow: none;
}
:root[data-theme='dark'] .purchase-view-modal-close:hover,
:root[data-theme='dark'] .purchase-view-modal-close:focus {
    border-color: #475569;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
:root[data-theme='dark'] .purchase-view-modal-body {
    background: linear-gradient(180deg, #111a2c 0%, #0f1727 16%);
}
:root[data-theme='dark'] .purchase-view-card,
:root[data-theme='dark'] .purchase-view-section,
:root[data-theme='dark'] .purchase-view-stat-card,
:root[data-theme='dark'] .purchase-view-table-wrap,
:root[data-theme='dark'] .purchase-view-barcode,
:root[data-theme='dark'] .purchase-view-modal-footer {
    border-color: #334866;
    background: #162036;
    box-shadow: none;
}
:root[data-theme='dark'] .purchase-view-stat-card--accent,
:root[data-theme='dark'] .purchase-view-section--accent,
:root[data-theme='dark'] .purchase-view-total-row--balance {
    border-color: rgba(167, 139, 250, 0.35);
    background: linear-gradient(180deg, rgba(91, 33, 182, 0.24) 0%, rgba(59, 7, 100, 0.18) 100%);
}
:root[data-theme='dark'] .purchase-view-card-meta,
:root[data-theme='dark'] .purchase-view-divider {
    border-color: #22314d;
}
:root[data-theme='dark'] .purchase-view-table thead th,
:root[data-theme='dark'] .purchase-view-activity-wrap > .table thead th,
:root[data-theme='dark'] .purchase-view-activity-wrap > .table > tbody > tr:first-child > th {
    border-bottom-color: #334866;
    background: #1b2842;
    color: #94a3b8;
}
:root[data-theme='dark'] .purchase-view-table tbody td,
:root[data-theme='dark'] .purchase-view-activity-wrap > .table tbody td {
    border-color: #22314d;
    color: #cbd5e1;
}
:root[data-theme='dark'] .purchase-view-product-name {
    color: #e2e8f0;
}
:root[data-theme='dark'] .purchase-view-table-muted,
:root[data-theme='dark'] .purchase-view-section-empty {
    color: #94a3b8;
}
:root[data-theme='dark'] .purchase-view-section-empty {
    background: #172137;
}
:root[data-theme='dark'] .purchase-view-total-row {
    border-color: #334866;
}
:root[data-theme='dark'] .purchase-view-barcode {
    border-color: #334866;
}
:root[data-theme='dark'] .purchase-view-modal-btn {
    border-color: #334866;
    background: #172137;
    color: #e2e8f0;
}
:root[data-theme='dark'] .purchase-view-modal-btn:hover,
:root[data-theme='dark'] .purchase-view-modal-btn:focus {
    border-color: #475569;
    background: #1b2842;
    color: #ffffff;
}
:root[data-theme='dark'] .purchase-view-modal-btn--primary {
    border-color: #3b82f6;
    background: #2563eb;
    color: #ffffff;
}
:root[data-theme='dark'] .purchase-view-modal-btn--primary:hover,
:root[data-theme='dark'] .purchase-view-modal-btn--primary:focus {
    border-color: #60a5fa;
    background: #1d4ed8;
    color: #ffffff;
}
:root[data-theme='dark'] .purchase-print-preview-page {
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.14), transparent 28%),
        linear-gradient(180deg, #0f1727 0%, #111a2c 22%, #0b1322 100%);
}
:root[data-theme='dark'] .purchase-print-preview-toolbar {
    border-color: rgba(51, 72, 102, 0.94);
    background: rgba(17, 26, 44, 0.92);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}
:root[data-theme='dark'] .purchase-print-preview-kicker,
:root[data-theme='dark'] .purchase-print-preview-subtitle,
:root[data-theme='dark'] .purchase-print-preview-copy {
    color: #94a3b8;
}
:root[data-theme='dark'] .purchase-print-preview-title {
    color: #e2e8f0;
}
:root[data-theme='dark'] .purchase-print-preview-dot {
    background: #475569;
}
@media print {
    .purchase-print-preview-page {
        padding: 0 !important;
        background: #ffffff !important;
    }
    .purchase-print-preview-canvas {
        width: 100% !important;
        max-width: none !important;
    }
    .nestiko-purchase-view-modal .modal-content,
    .nestiko-purchase-view-modal .modal-header,
    .purchase-view-card,
    .purchase-view-section,
    .purchase-view-stat-card,
    .purchase-view-table-wrap,
    .purchase-view-barcode,
    .purchase-view-modal-footer {
        background: #ffffff !important;
        color: #111827 !important;
        box-shadow: none !important;
        border-color: #d1d5db !important;
    }
    .nestiko-purchase-view-modal .modal-title,
    .purchase-view-card-title,
    .purchase-view-section-title,
    .purchase-view-card-meta strong,
    .purchase-view-stat-value,
    .purchase-view-total-row strong,
    .purchase-view-note-item strong,
    .purchase-view-product-name {
        color: #111827 !important;
    }
    .purchase-view-modal-kicker,
    .purchase-view-modal-subtitle,
    .purchase-print-preview-kicker,
    .purchase-print-preview-subtitle,
    .purchase-view-card-label,
    .purchase-view-section-kicker,
    .purchase-view-card-subtitle,
    .purchase-view-card-copy p,
    .purchase-view-card-meta span,
    .purchase-view-stat-label,
    .purchase-view-section-meta,
    .purchase-view-total-row span,
    .purchase-view-note-body,
    .purchase-view-note-item span,
    .purchase-view-table thead th,
    .purchase-view-activity-wrap > .table thead th,
    .purchase-view-activity-wrap > .table > tbody > tr:first-child > th,
    .purchase-view-table tbody td,
    .purchase-view-activity-wrap > .table tbody td {
        color: #374151 !important;
    }
}
.text-bold{
    font-weight: bold;
}
.tour .popover-content{
    padding: 18px 14px;
}
.table-slim>tbody>tr>td, .table-slim>tbody>tr>th, .table-slim>tfoot>tr>td, .table-slim>tfoot>tr>th, .table-slim>thead>tr>td, .table-slim>thead>tr>th{
    padding: 1px;
}

/* Custom scroll bar start*/

/* width */
/* ::-webkit-scrollbar {
    width: 7px;
} */

/* Track */
/* ::-webkit-scrollbar-track {
    background: #f1f1f1; 
} */
 
/* Handle */
/* ::-webkit-scrollbar-thumb {
    background: #888; 
} */

/* Handle on hover */
/* ::-webkit-scrollbar-thumb:hover {
    background: #555; 
} */

/* Custom scroll bar end*/

.product_cell{
    height: 100px;
    padding: 1%;
}
.product_cell_div{
    height: 100% !important;
    width: 100% !important;
    text-align: center;
    vertical-align: middle;
    padding-top: 5px;
    cursor: pointer;
    overflow: hidden;
}

/*CSS to print receipts*/
.print_section{
    display: none;
}
@media print{
    .print_section{
        display: inline !important;
    }
    .modal-xl{
        width: 100% !important;
    }
    ::-webkit-scrollbar{
        display: none !important;
    }
    #toast-container {
      display: none;
    }
}

.input-number .btn-default{
    background-color: white;
    padding: 6px 9px;
}

.width-50{
    width: 50% !important;
}
.width-40{
    width: 40% !important;
}
.width-60{
    width: 60% !important;
}
.width-100{
    width: 100% !important;
}

.font-30{
    font-size: 30px !important;
}

.font-23{
    font-size: 23px !important;
}
.padding-5{
    padding: 5px !important;
}
.padding-10{
    padding: 10px !important;
}
.padding-side-15{
    /*padding-left: 15px !important;
    padding-right: 15px !important;*/
}
.text-muted-imp{
    color: #A3A3A3 !important;
}

.table-no-top-cell-border td{
    border-top: 0px !important;
    border-bottom: 0px !important;
}
.table-no-top-cell-border th{
    border-top: 0px !important;
    border-bottom: 0px !important;
}

.table-no-side-cell-border td{
    border-left: 0px !important;
    border-right: 0px !important;
}
.table-no-side-cell-border th{
    border-left: 0px !important;
    border-right: 0px !important;
}

.color-555 {
    color: #555555 !important;
}
.color-555 *{
    color: #555555 !important;
}
.color-white {
    color: white !important;
}
.col-no-padding{
    padding-left: 0px;
    padding-right: 0px;
}
.col-2px-padding{
    padding: 2px;
}

.pos-express-btn{
    font-size: 23px !important;
    overflow: hidden !important;
    height: 73px !important;
    white-space: normal;
}
.word-wrap{
    word-wrap: break-word !important;
}

.modal-xl{
    width: 90%; /* respsonsive width */
    margin-left: auto !important;
    margin-right: auto !important;
}
table.ajax_view tbody tr{
    cursor: pointer;
}
.bg-white{
    background-color: #fff;
}

.product-thumbnail-small{
    height: 50px;
    width: 50px;
}

table.table-text-center td, table.table-text-center th{
    vertical-align: middle !important;
}
.product_list{
    padding-left: 3px;
    padding-right: 3px;
}
.product_box{
  width: 100%;
  /*padding-top: 5px;
  padding-bottom: 2px;*/
  margin-bottom: 10px;
  text-align: center;
  cursor: pointer;
  /*border: 1px solid darkgray;*/
  font-weight: 600;
  background-color: #fff;
  border-radius: 12px;
  padding: 8px;
}
.product_box .image-container{
  height: 50px;
  margin: auto;
  width: 100%;
  margin-bottom: 4px;
  
}
.product_box .image-container img{
  height: 100%;
  width: 100%;
  border-radius: 12px;
}
.eq-height-row{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:flex;
    flex-wrap: wrap;
}
.eq-height-col{
    display: flex;
}

.product_box .text_div{
    margin-top: 3px;
}
.product_box .text{
    width: 100%;
    overflow: hidden;
   text-overflow: ellipsis;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1; /* number of lines to show */
   line-height: 14px;        /* fallback */
   max-height: 14px;       /* fallback */
}
.small-box.bg-gray:hover{
    color: #000;
    text-decoration: none;
}

#calendar table tbody td {
    cursor: pointer;
}

.min-height-90hv{
    min-height: 90vh !important;
}

/* Grow Shadow */
.hvr-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow, transform;
  transition-property: box-shadow, transform;
}
.hvr-grow-shadow:hover, .hvr-grow-shadow:focus, .hvr-grow-shadow:active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.text-link{
    cursor: pointer;
}

.text-link:hover{
    text-decoration: underline;
}

.v-center{
    vertical-align: middle !important;
}

.bg-woocommerce{
  background-color: #9E458B !important;
}

/*.box, .info-box, .nav-tabs-custom, .external-event{
  box-shadow: 0 4px 6px 0 hsla(0, 0%, 0%, 0.2) !important;
}*/

.user_avatar {
  border-radius: 50%;
  width: 25px;
  height: 25px;
  margin: 1px;
}

.fs-10 {
  font-size: 10px;
}

.timeline-lode-more-btn {
  margin-left: 50px;
  margin-top: 25px;
  padding-right: 12px;
  padding-left: 12px;
}

.pa-0 {
  padding: 0px !important;
}

.mt-56{
  margin-top: 56px !important;
}

.m-2{
  margin: 2px !important;
}

.treeview-menu i{
  display: none !important;
}
.treeview-menu a{
  padding-left: 25px !important;
  font-size: 95% !important;
}
.treeview-menu a::before{
  content: "\2192 ";
}

@media only screen and (max-width: 600px) {
  .pos-form-actions{
    position: absolute;
  }
}
.mr-8 {
  margin-right: 8px !important;
}

@media (max-width: 1024px) {
   .pos_form_totals{
        margin-bottom: 40px;
    }
}

.swal-modal .swal-text {
    text-align: center;
}

.pos-total {
    /* display: inline-block; */
    padding: 8px 10px;
    vertical-align: middle;
    margin-left: 5px;
    margin-right: 5px;
}
.pos-total span.number{
    font-size: 26px;
    vertical-align: middle;
    font-weight: bolder;
}

.pos-total span.text{
    font-weight: bolder;
    display: inline-block;
    width: 60px;
    vertical-align: middle;
}
.mb-40 {
    margin-bottom: 40px !important;
}

@media print {
    a:after { content:''; }
    a[href]:after { content: none !important; }
}

.fa-times{
    font-size: 30px
}
.mb-5{
  margin-bottom: 5px !important;
}
.tree-actions {
  margin-left: 20px;
  display: none;
}
.jstree-hovered .tree-actions {
  display: inherit;
}

/* Variation Table Column Widths */
.variation_value_table th:nth-child(3),
.variation_value_table td:nth-child(3) {
  min-width: 200px;
}

/* Variation Image Upload Styles */
.variation-image-cell {
  width: 50px;
  min-width: 50px;
  max-width: 60px;
  text-align: center;
}
.variation-image-upload {
  position: relative;
}
.variation-upload-btn {
  position: relative;
  min-width: 36px;
}
.variation-upload-btn .image-count-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #ff6b6b;
  color: white;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
}
.variation-image-preview {
  max-width: 200px;
}
.variation-image-preview .preview-thumb img {
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.existing-images .img-thumbnail {
  max-width: 50px;
  max-height: 50px;
  overflow: hidden;
}
.existing-images .img-thumbnail img {
    width: 100%;
    height: auto;
}

/* —— Documents & notes panel (Nestiko-style; AJAX partial + contact/user tabs) —— */
.nestiko-doc-notes {
    margin: 0;
}

.nestiko-doc-notes-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.85rem;
}

.nestiko-doc-notes-toolbar-main {
    min-width: 0;
}

.nestiko-doc-notes-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.nestiko-doc-notes-sub {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 500;
    line-height: 1.35;
}

.nestiko-doc-notes-add {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, #5b21b6, #7c3aed);
    color: #fff !important;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.5rem 0.95rem;
    cursor: pointer;
    line-height: 1.2;
    font-family: inherit;
    box-shadow: 0 1px 2px rgba(91, 33, 182, 0.25);
    transition: opacity 0.15s ease, transform 0.1s ease;
}

.nestiko-doc-notes-add:hover,
.nestiko-doc-notes-add:focus {
    opacity: 0.93;
    color: #fff !important;
    outline: none;
}

.nestiko-doc-notes-add:active {
    transform: scale(0.98);
}

.nestiko-doc-notes-panel {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.nestiko-doc-notes-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.nestiko-doc-notes .dataTables_wrapper {
    padding: 0;
}

.nestiko-doc-notes .dataTables_wrapper .row {
    margin-left: 0;
    margin-right: 0;
    padding: 0.45rem 0.65rem;
    align-items: center;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.nestiko-doc-notes .dataTables_wrapper > .dataTables_length,
.nestiko-doc-notes .dataTables_wrapper > .dataTables_filter,
.nestiko-doc-notes .dataTables_wrapper > .dt-buttons {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.nestiko-doc-notes .dataTables_length,
.nestiko-doc-notes .dataTables_filter {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 600;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.nestiko-doc-notes .dataTables_length label,
.nestiko-doc-notes .dataTables_filter label {
    font-weight: 600;
    color: #64748b;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.nestiko-doc-notes .dataTables_length select,
.nestiko-doc-notes .dataTables_filter input {
    border: 1px solid #e2e8f0;
    border-radius: 0.45rem;
    padding: 0.28rem 0.45rem;
    font-size: 0.8rem;
    color: #0f172a;
    background: #fff;
    min-height: 2rem;
}

.nestiko-doc-notes .dt-buttons {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    justify-content: center;
    padding: 0.35rem 0;
}

.nestiko-doc-notes .dt-buttons .dt-button,
.nestiko-doc-notes button.dt-button {
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.45rem !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    padding: 0.38rem 0.55rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.nestiko-doc-notes .dt-buttons .dt-button:hover,
.nestiko-doc-notes button.dt-button:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.nestiko-doc-notes table.nestiko-doc-notes-dt.dataTable,
.nestiko-doc-notes table#documents_and_notes_table.dataTable {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}

/* Table cell chrome: when `.roles-panel` is present, use shared rules in nestiko-users.css only. */
.nestiko-doc-notes:not(.roles-panel) table.dataTable thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.55rem 0.65rem !important;
    vertical-align: middle;
}

.nestiko-doc-notes:not(.roles-panel) table.dataTable tbody td {
    font-size: 0.8rem;
    color: #475569;
    padding: 0.5rem 0.65rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle;
}

.nestiko-doc-notes:not(.roles-panel) table.dataTable tbody tr:hover td {
    background: #fafafa;
}

.nestiko-doc-notes .dataTables_info {
    font-size: 0.78rem;
    color: #64748b;
    padding: 0.55rem 0.75rem;
}

.nestiko-doc-notes .dataTables_paginate {
    padding: 0.45rem 0.65rem;
}

.nestiko-doc-notes .dataTables_paginate .paginate_button {
    border-radius: 0.35rem !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #475569 !important;
    font-size: 0.75rem !important;
    margin: 0 0.12rem !important;
    padding: 0.28rem 0.5rem !important;
}

.nestiko-doc-notes .dataTables_paginate .paginate_button.current,
.nestiko-doc-notes .dataTables_paginate .paginate_button.current:hover {
    background: #7c3aed !important;
    border-color: #7c3aed !important;
    color: #fff !important;
}

.nestiko-doc-notes .dataTables_paginate .paginate_button:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.nestiko-doc-notes .dataTables_empty {
    padding: 1.5rem 1rem !important;
    text-align: center;
    color: #94a3b8;
    font-size: 0.85rem;
}

.nestiko-doc-notes .dataTables_info,
.nestiko-doc-notes .dataTables_paginate {
    border-top: 1px solid #e2e8f0;
    background: #fafafa;
}

:root[data-theme='dark'] .nestiko-doc-notes-title {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-doc-notes-sub,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_length,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_filter,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_info {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-doc-notes-panel {
    background: #111a2c;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-doc-notes .dataTables_wrapper .row {
    background: rgba(255, 255, 255, 0.04);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-doc-notes .dataTables_wrapper > .dataTables_length,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_wrapper > .dataTables_filter,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_wrapper > .dt-buttons {
    background: rgba(255, 255, 255, 0.04);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-doc-notes .dataTables_info,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_paginate {
    background: rgba(255, 255, 255, 0.03);
    border-top-color: #22314d;
}

:root[data-theme='dark'] .nestiko-doc-notes:not(.roles-panel) table.dataTable thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border-bottom-color: #22314d !important;
}

:root[data-theme='dark'] .nestiko-doc-notes:not(.roles-panel) table.dataTable tbody td {
    color: #cbd5e1;
    border-bottom-color: #1e293b !important;
}

:root[data-theme='dark'] .nestiko-doc-notes .dataTables_length select,
:root[data-theme='dark'] .nestiko-doc-notes .dataTables_filter input {
    background: #1a2740;
    border-color: #334866;
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-doc-notes .dt-buttons .dt-button,
:root[data-theme='dark'] .nestiko-doc-notes button.dt-button {
    background: #1a2740 !important;
    border-color: #334866 !important;
    color: #e2e8f0 !important;
}

:root[data-theme='dark'] .nestiko-doc-notes .dataTables_paginate .paginate_button {
    background: #1a2740 !important;
    border-color: #334866 !important;
    color: #e2e8f0 !important;
}

.nestiko-doc-notes-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.nestiko-doc-notes-head p {
    min-width: 0;
}

.nestiko-doc-notes-head .nestiko-doc-notes-add {
    flex-shrink: 0;
}

.nestiko-doc-notes .users-table-controls {
    border-top: 1px solid #e2e8f0;
}

.nestiko-doc-notes .nestiko-doc-notes-table-wrap {
    border-top: 0;
}

.nestiko-doc-notes .doc-notes-grid-actions.btn-group {
    display: inline-block;
}

.nestiko-doc-notes .doc-notes-heading-link {
    color: #0f172a;
    font-weight: 600;
}

.nestiko-doc-notes .doc-notes-heading-link:hover,
.nestiko-doc-notes .doc-notes-heading-link:focus {
    color: #5b21b6;
    text-decoration: none;
}

.nestiko-doc-notes table#documents_and_notes_table.dataTable {
    min-width: 42rem !important;
}

@media (max-width: 767px) {
    .nestiko-doc-notes-head {
        align-items: stretch;
        flex-direction: column;
    }

    .nestiko-doc-notes-head .nestiko-doc-notes-add {
        width: 100%;
        justify-content: center;
    }
}

:root[data-theme='dark'] .nestiko-doc-notes .users-table-controls {
    border-top-color: #22314d;
}

:root[data-theme='dark'] .nestiko-doc-notes .doc-notes-heading-link {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-doc-notes .doc-notes-heading-link:hover,
:root[data-theme='dark'] .nestiko-doc-notes .doc-notes-heading-link:focus {
    color: #c4b5fd;
}

.nestiko-doc-note-modal .modal-content,
.nestiko-doc-note-view-modal .modal-content,
.nestiko-doc-note-delete-modal .modal-content {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.16);
}

.nestiko-doc-note-modal .modal-header,
.nestiko-doc-note-view-modal .modal-header,
.nestiko-doc-note-delete-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #e2e8f0;
    padding: 1.2rem 1.35rem 1rem;
    background:
        radial-gradient(circle at top right, rgba(124, 58, 237, 0.12), transparent 45%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

/* Bootstrap 3 clearfix pseudo-elements become extra flex items when header is flex; drop them. */
.nestiko-doc-note-modal .modal-header::before,
.nestiko-doc-note-modal .modal-header::after,
.nestiko-doc-note-view-modal .modal-header::before,
.nestiko-doc-note-view-modal .modal-header::after,
.nestiko-doc-note-delete-modal .modal-header::before,
.nestiko-doc-note-delete-modal .modal-header::after {
    display: none;
    content: none;
}

.nestiko-doc-note-modal-close,
.doc-note-delete-modal-close {
    float: none;
    flex-shrink: 0;
    margin: 0;
    opacity: 1;
    color: #64748b;
}

.nestiko-doc-note-modal-heading,
.nestiko-doc-note-view-heading,
.doc-note-delete-modal-heading {
    min-width: 0;
}

.nestiko-doc-note-modal-kicker,
.nestiko-doc-note-view-kicker,
.doc-note-delete-modal-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #7c3aed;
    margin-bottom: 0.45rem;
}

.nestiko-doc-note-modal .modal-title,
.nestiko-doc-note-view-modal .modal-title,
.nestiko-doc-note-delete-modal .modal-title {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.2;
    color: #0f172a;
    font-weight: 700;
}

.nestiko-doc-note-modal-copy,
.nestiko-doc-note-view-copy,
.doc-note-delete-modal-copy {
    margin: 0.5rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.55;
}

.nestiko-doc-note-modal .modal-body,
.nestiko-doc-note-view-modal .modal-body,
.doc-note-delete-modal-body {
    padding: 1.25rem 1.35rem 1.4rem;
    background: #fff;
}

.nestiko-doc-note-modal-summary,
.nestiko-doc-note-view-meta,
.doc-note-delete-modal-grid {
    display: grid;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.nestiko-doc-note-modal-summary,
.nestiko-doc-note-view-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.doc-note-delete-modal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nestiko-doc-note-modal-summary-card,
.nestiko-doc-note-view-meta-card,
.doc-note-delete-modal-card {
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
    padding: 0.85rem 0.95rem;
}

.nestiko-doc-note-modal-summary-card span,
.nestiko-doc-note-view-meta-card span,
.doc-note-delete-modal-card span,
.nestiko-doc-note-files-head span,
.nestiko-doc-note-view-files-head span {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.nestiko-doc-note-modal-summary-card strong,
.nestiko-doc-note-view-meta-card strong,
.doc-note-delete-modal-card strong,
.nestiko-doc-note-files-head strong,
.nestiko-doc-note-view-files-head strong {
    display: block;
    font-size: 0.96rem;
    line-height: 1.4;
    color: #0f172a;
    font-weight: 700;
}

.doc-note-delete-modal-card--wide {
    grid-column: 1 / -1;
}

.doc-note-delete-modal-card--accent {
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.22);
}

.nestiko-doc-note-label {
    display: inline-block;
    margin-bottom: 0.45rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.nestiko-doc-note-input,
.nestiko-doc-note-editor,
.nestiko-doc-note-modal textarea.form-control,
.nestiko-doc-note-modal input.form-control {
    border: 1px solid #dbe4f0;
    border-radius: 0.8rem;
    box-shadow: none;
    color: #0f172a;
    background: #fff;
}

.nestiko-doc-note-input {
    height: 4.2rem;
    padding: 0.85rem 1rem;
    font-size: 0.95rem;
}

.nestiko-doc-note-editor {
    min-height: 10rem;
}

.nestiko-doc-note-upload-group {
    margin-bottom: 0;
}

.nestiko-doc-note-dropzone {
    border: 1px dashed #c4b5fd !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, #faf5ff 0%, #f8fafc 100%) !important;
    padding: 1.1rem 1rem !important;
}

.nestiko-doc-note-help {
    margin: 0.5rem 0 0;
    color: #64748b;
    font-size: 0.78rem;
}

.nestiko-doc-note-privacy {
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
    padding: 0.9rem 1rem;
}

.nestiko-doc-note-privacy .checkbox {
    margin: 0;
}

.nestiko-doc-note-privacy p {
    margin: 0.45rem 0 0;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.5;
}

.nestiko-doc-note-files,
.nestiko-doc-note-view-files {
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #fff;
    padding: 0.95rem 1rem;
    margin-bottom: 1rem;
}

.nestiko-doc-note-files-head,
.nestiko-doc-note-view-files-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 0.8rem;
}

.nestiko-doc-note-files-list,
.nestiko-doc-note-view-files-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.nestiko-doc-note-file-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    max-width: 100%;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
}

.nestiko-doc-note-file-pill:hover,
.nestiko-doc-note-file-pill:focus {
    color: #5b21b6;
    border-color: rgba(124, 58, 237, 0.35);
    background: #faf5ff;
    text-decoration: none;
}

.nestiko-doc-note-view-body {
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #fff;
    padding: 1rem;
    color: #334155;
    line-height: 1.65;
    margin-bottom: 1rem;
}

.doc-note-delete-modal-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.95rem 1rem;
    border: 1px solid #fecaca;
    border-radius: 0.95rem;
    background: #fff5f5;
    margin-bottom: 1rem;
}

.doc-note-delete-modal-alert__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
    flex-shrink: 0;
}

.doc-note-delete-modal-alert__content strong {
    display: block;
    color: #991b1b;
    font-size: 0.92rem;
    margin-bottom: 0.2rem;
}

.doc-note-delete-modal-alert__content p {
    margin: 0;
    color: #7f1d1d;
    font-size: 0.82rem;
    line-height: 1.5;
}

.nestiko-doc-note-modal-footer,
.doc-note-delete-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    border-top: 1px solid #e2e8f0;
    padding: 1rem 1.35rem 1.15rem;
    background: #fff;
}

.nestiko-doc-note-modal-footer::before,
.nestiko-doc-note-modal-footer::after,
.doc-note-delete-modal-footer::before,
.doc-note-delete-modal-footer::after {
    display: none;
    content: none;
}

.doc-note-delete-modal-delete {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border-color: #dc2626;
    color: #fff;
}

.doc-note-delete-modal-delete:hover,
.doc-note-delete-modal-delete:focus {
    color: #fff;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
}

.nestiko-doc-note-modal .users-btn.is-loading,
.doc-note-delete-modal-delete.is-loading {
    opacity: 0.8;
    pointer-events: none;
}

@media (max-width: 767px) {
    .nestiko-doc-note-modal .modal-header,
    .nestiko-doc-note-view-modal .modal-header,
    .nestiko-doc-note-delete-modal .modal-header {
        padding: 1rem 1rem 0.9rem;
    }

    .nestiko-doc-note-modal .modal-body,
    .nestiko-doc-note-view-modal .modal-body,
    .doc-note-delete-modal-body,
    .nestiko-doc-note-modal-footer,
    .doc-note-delete-modal-footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .nestiko-doc-note-modal-summary,
    .nestiko-doc-note-view-meta,
    .doc-note-delete-modal-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-doc-note-files-head,
    .nestiko-doc-note-view-files-head,
    .nestiko-doc-note-modal-footer,
    .doc-note-delete-modal-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .nestiko-doc-note-modal-footer .users-btn,
    .doc-note-delete-modal-footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

:root[data-theme='dark'] .nestiko-doc-note-modal .modal-content,
:root[data-theme='dark'] .nestiko-doc-note-view-modal .modal-content,
:root[data-theme='dark'] .nestiko-doc-note-delete-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-doc-note-modal .modal-header,
:root[data-theme='dark'] .nestiko-doc-note-view-modal .modal-header,
:root[data-theme='dark'] .nestiko-doc-note-delete-modal .modal-header {
    background:
        radial-gradient(circle at top right, rgba(139, 92, 246, 0.2), transparent 42%),
        linear-gradient(180deg, #111a2c 0%, #0f172a 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-doc-note-modal .modal-title,
:root[data-theme='dark'] .nestiko-doc-note-view-modal .modal-title,
:root[data-theme='dark'] .nestiko-doc-note-delete-modal .modal-title,
:root[data-theme='dark'] .nestiko-doc-note-modal-summary-card strong,
:root[data-theme='dark'] .nestiko-doc-note-view-meta-card strong,
:root[data-theme='dark'] .doc-note-delete-modal-card strong,
:root[data-theme='dark'] .nestiko-doc-note-files-head strong,
:root[data-theme='dark'] .nestiko-doc-note-view-files-head strong {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-doc-note-modal-copy,
:root[data-theme='dark'] .nestiko-doc-note-view-copy,
:root[data-theme='dark'] .doc-note-delete-modal-copy,
:root[data-theme='dark'] .nestiko-doc-note-modal-summary-card span,
:root[data-theme='dark'] .nestiko-doc-note-view-meta-card span,
:root[data-theme='dark'] .doc-note-delete-modal-card span,
:root[data-theme='dark'] .nestiko-doc-note-files-head span,
:root[data-theme='dark'] .nestiko-doc-note-view-files-head span,
:root[data-theme='dark'] .nestiko-doc-note-help,
:root[data-theme='dark'] .nestiko-doc-note-privacy p {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-doc-note-modal .modal-body,
:root[data-theme='dark'] .nestiko-doc-note-view-modal .modal-body,
:root[data-theme='dark'] .doc-note-delete-modal-body,
:root[data-theme='dark'] .nestiko-doc-note-modal-footer,
:root[data-theme='dark'] .doc-note-delete-modal-footer,
:root[data-theme='dark'] .nestiko-doc-note-view-body,
:root[data-theme='dark'] .nestiko-doc-note-files,
:root[data-theme='dark'] .nestiko-doc-note-view-files {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-doc-note-modal-summary-card,
:root[data-theme='dark'] .nestiko-doc-note-view-meta-card,
:root[data-theme='dark'] .doc-note-delete-modal-card,
:root[data-theme='dark'] .nestiko-doc-note-privacy,
:root[data-theme='dark'] .nestiko-doc-note-files,
:root[data-theme='dark'] .nestiko-doc-note-view-files,
:root[data-theme='dark'] .nestiko-doc-note-view-body {
    border-color: #22314d;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-doc-note-label {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-doc-note-input,
:root[data-theme='dark'] .nestiko-doc-note-editor,
:root[data-theme='dark'] .nestiko-doc-note-modal textarea.form-control,
:root[data-theme='dark'] .nestiko-doc-note-modal input.form-control {
    background: #111a2c;
    border-color: #334866;
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-doc-note-dropzone {
    background: linear-gradient(180deg, rgba(91, 33, 182, 0.12) 0%, #111a2c 100%) !important;
    border-color: rgba(139, 92, 246, 0.45) !important;
}

:root[data-theme='dark'] .nestiko-doc-note-file-pill {
    background: #111a2c;
    border-color: #334866;
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-doc-note-file-pill:hover,
:root[data-theme='dark'] .nestiko-doc-note-file-pill:focus {
    background: rgba(91, 33, 182, 0.14);
    border-color: rgba(139, 92, 246, 0.45);
    color: #ddd6fe;
}

:root[data-theme='dark'] .doc-note-delete-modal-alert {
    background: rgba(127, 29, 29, 0.18);
    border-color: rgba(248, 113, 113, 0.28);
}

:root[data-theme='dark'] .doc-note-delete-modal-alert__content strong {
    color: #fecaca;
}

:root[data-theme='dark'] .doc-note-delete-modal-alert__content p,
:root[data-theme='dark'] .nestiko-doc-note-view-body {
    color: #cbd5e1;
}

/* —— Activities panel (View User tab; optional nestiko_activities_wrap) —— */
.nestiko-activities {
    margin: 0;
}

.nestiko-activities-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.85rem;
}

.nestiko-activities-toolbar-main {
    min-width: 0;
}

.nestiko-activities-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.nestiko-activities-sub {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 500;
    line-height: 1.35;
}

.nestiko-activities-panel {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.nestiko-activities-hero {
    padding: 1rem 1rem 0.1rem;
    background: #ffffff;
}

.nestiko-activities-copy h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-activities-copy p {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.6;
    color: #475569;
}

.nestiko-activities-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0.9rem;
}

.nestiko-activities-stat {
    min-width: 0;
    padding: 0.9rem 0.95rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.nestiko-activities-stat--accent {
    border-color: rgba(59, 130, 246, 0.18);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.08) 100%);
}

.nestiko-activities-stat span {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.nestiko-activities-stat strong {
    display: block;
    margin-top: 0.38rem;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.45;
    color: #0f172a;
    word-break: break-word;
}

.nestiko-activities-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.95rem 1rem 0;
    background: #ffffff;
}

.nestiko-activities-summary-copy {
    margin: 0;
    font-size: 0.82rem;
    color: #475569;
    line-height: 1.55;
}

.nestiko-activities-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid #e2e8f0;
}

.nestiko-activities-table {
    width: 100%;
    min-width: 60rem;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.nestiko-activities-table thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.55rem 0.65rem !important;
    vertical-align: middle;
    white-space: nowrap;
}

.nestiko-activities-table tbody td {
    font-size: 0.8rem;
    color: #475569;
    padding: 0.55rem 0.65rem !important;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: top;
    line-height: 1.45;
}

.nestiko-activities-table tbody tr:hover td {
    background: #fafafa;
}

.nestiko-activities-date-cell strong,
.nestiko-activities-actor strong {
    display: block;
    color: #0f172a;
    font-weight: 700;
}

.nestiko-activities-date-cell span {
    display: block;
    margin-top: 0.28rem;
    color: #64748b;
    font-size: 0.74rem;
    line-height: 1.45;
}

.nestiko-activities-action-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 0.34rem 0.65rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.nestiko-activities-action-badge--success {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.nestiko-activities-action-badge--info {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.nestiko-activities-action-badge--danger {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.nestiko-activities-action-badge--neutral {
    background: rgba(148, 163, 184, 0.12);
    color: #475569;
}

.nestiko-activities-actor-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.nestiko-activities-tag {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border-radius: 0.35rem;
    border: 1px solid #e2e8f0;
}

.nestiko-activities-note {
    color: #475569;
    font-size: 0.79rem;
    line-height: 1.55;
}

.nestiko-activities-note p {
    margin: 0;
}

.nestiko-activities-note p + p {
    margin-top: 0.35rem;
}

.nestiko-activities-note table {
    margin-bottom: 0;
}

.nestiko-activities-empty {
    margin: 0;
    padding: 1.75rem 1rem;
    text-align: center;
    color: #94a3b8;
    font-size: 0.85rem;
    font-weight: 500;
}

:root[data-theme='dark'] .nestiko-activities-title {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-activities-sub {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-activities-panel {
    background: #111a2c;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-activities-hero,
:root[data-theme='dark'] .nestiko-activities-summary-bar {
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-activities-copy h4,
:root[data-theme='dark'] .nestiko-activities-stat strong,
:root[data-theme='dark'] .nestiko-activities-date-cell strong,
:root[data-theme='dark'] .nestiko-activities-actor strong {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-activities-copy p,
:root[data-theme='dark'] .nestiko-activities-stat span,
:root[data-theme='dark'] .nestiko-activities-summary-copy,
:root[data-theme='dark'] .nestiko-activities-date-cell span,
:root[data-theme='dark'] .nestiko-activities-note {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-activities-stat {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-activities-stat--accent {
    border-color: rgba(96, 165, 250, 0.24);
    background: linear-gradient(180deg, rgba(30, 64, 175, 0.18) 0%, rgba(30, 41, 59, 0.28) 100%);
}

:root[data-theme='dark'] .nestiko-activities-table-wrap {
    border-top-color: #22314d;
}

:root[data-theme='dark'] .nestiko-activities-table thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-activities-table tbody td {
    color: #cbd5e1;
    border-bottom-color: #1e293b;
}

:root[data-theme='dark'] .nestiko-activities-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}

:root[data-theme='dark'] .nestiko-activities-action-badge--success {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

:root[data-theme='dark'] .nestiko-activities-action-badge--info {
    background: rgba(59, 130, 246, 0.18);
    color: #bfdbfe;
}

:root[data-theme='dark'] .nestiko-activities-action-badge--danger {
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
}

:root[data-theme='dark'] .nestiko-activities-action-badge--neutral {
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-activities-tag {
    background: #1a2740;
    border-color: #334866;
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-activities-empty {
    color: #64748b;
}

@media (max-width: 991px) {
    .nestiko-activities-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nestiko-activities-table {
        min-width: 52rem;
    }
}

@media (max-width: 767px) {
    .nestiko-activities-hero,
    .nestiko-activities-summary-bar {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }

    .nestiko-activities-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-activities-summary-bar {
        display: block;
    }
}

.nestiko-product-view-modal {
    width: calc(100vw - 1.5rem);
    max-width: 78rem;
    margin: 1rem auto;
}

.nestiko-product-view-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-product-view-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    text-align: left;
    /* Symmetric horizontal padding — same idea as nestiko-opening-stock-modal; keeps text off the border without extra left-only inset. */
    padding: 1.1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-product-view-heading {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.nestiko-product-view-modal .modal-title {
    margin: 0;
    font-size: 1.18rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    text-align: left;
}

.nestiko-product-view-kicker,
.nestiko-product-view-section-kicker,
.nestiko-product-view-card-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-product-view-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem 0.55rem;
    margin-top: 0.45rem;
    font-size: 0.8rem;
    color: #64748b;
    text-align: left;
}

.nestiko-product-view-dot {
    width: 0.28rem;
    height: 0.28rem;
    border-radius: 999px;
    background: #cbd5e1;
}

.nestiko-product-view-close {
    float: none !important;
    position: relative;
    top: auto;
    right: auto;
    margin: 0;
    flex-shrink: 0;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #475569;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    text-shadow: none;
    opacity: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.nestiko-product-view-close span {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transform: translateY(-0.04em);
}

.nestiko-product-view-body {
    padding: 1.2rem;
    background: #ffffff;
}

.nestiko-product-view-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.nestiko-product-view-card {
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #ffffff;
    padding: 0.95rem 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    min-width: 0;
}

.nestiko-product-view-card--media {
    background: linear-gradient(180deg, #fafafa 0%, #f8fafc 100%);
}

.nestiko-product-view-card-label {
    margin-bottom: 0.65rem;
}

.nestiko-product-view-meta-list {
    display: grid;
    gap: 0.65rem;
}

.nestiko-product-view-meta-item span {
    display: block;
    font-size: 0.74rem;
    color: #64748b;
    line-height: 1.45;
}

.nestiko-product-view-meta-item strong {
    display: block;
    margin-top: 0.18rem;
    font-size: 0.84rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.5;
    word-break: break-word;
}

.nestiko-product-view-file {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.8rem;
    padding: 0.55rem 0.78rem;
    border-radius: 999px;
    border: 1px solid rgba(59, 130, 246, 0.18);
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}

.nestiko-product-view-file:hover,
.nestiko-product-view-file:focus {
    color: #1e40af;
    text-decoration: none;
}

.nestiko-product-view-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 15rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #f8fafc;
    overflow: hidden;
}

.nestiko-product-view-image {
    max-width: 100%;
    max-height: 15rem;
    object-fit: contain;
}

.nestiko-product-view-section {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    margin-top: 1rem;
    overflow: hidden;
}

.nestiko-product-view-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1rem 1rem 0.85rem;
    border-bottom: 1px solid #eef2f7;
    background: #ffffff;
}

.nestiko-product-view-section-title {
    margin: 0.28rem 0 0;
    font-size: 0.98rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-product-view-note {
    padding: 1rem;
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.7;
}

.nestiko-product-view-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.nestiko-product-view-table {
    width: 100%;
    min-width: 52rem;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.nestiko-product-view-table thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.7rem 0.8rem !important;
    vertical-align: middle;
    white-space: nowrap;
}

.nestiko-product-view-table tbody td {
    font-size: 0.82rem;
    color: #475569;
    padding: 0.72rem 0.8rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: top;
    line-height: 1.55;
}

.nestiko-product-view-table tbody tr:hover td {
    background: #fafafa;
}

.nestiko-product-view-table .img-thumbnail {
    border-radius: 0.7rem;
    border-color: #dbe2ea;
    background: #ffffff;
}

.nestiko-product-view-inline-total {
    padding: 0.85rem 1rem 1rem;
    text-align: right;
    color: #334155;
    font-size: 0.84rem;
}

.nestiko-product-view-inline-total strong {
    color: #0f172a;
}

.nestiko-product-view-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

@media (max-width: 1199px) {
    .nestiko-product-view-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nestiko-product-view-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-product-view-modal .modal-header,
    .nestiko-product-view-body,
    .nestiko-product-view-footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-product-view-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-product-view-footer {
        flex-direction: column;
    }

    .nestiko-product-view-footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

:root[data-theme='dark'] .nestiko-product-view-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-product-view-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-product-view-modal .modal-title,
:root[data-theme='dark'] .nestiko-product-view-meta-item strong,
:root[data-theme='dark'] .nestiko-product-view-section-title,
:root[data-theme='dark'] .nestiko-product-view-inline-total strong {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-product-view-subtitle,
:root[data-theme='dark'] .nestiko-product-view-meta-item span,
:root[data-theme='dark'] .nestiko-product-view-note,
:root[data-theme='dark'] .nestiko-product-view-inline-total {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-product-view-dot {
    background: #475569;
}

:root[data-theme='dark'] .nestiko-product-view-close {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-product-view-close:hover,
:root[data-theme='dark'] .nestiko-product-view-close:focus {
    border-color: #475569;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

:root[data-theme='dark'] .nestiko-product-view-body,
:root[data-theme='dark'] .nestiko-product-view-section,
:root[data-theme='dark'] .nestiko-product-view-section-head,
:root[data-theme='dark'] .nestiko-product-view-footer,
:root[data-theme='dark'] .nestiko-product-view-card {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-product-view-card,
:root[data-theme='dark'] .nestiko-product-view-section,
:root[data-theme='dark'] .nestiko-product-view-image-wrap {
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-product-view-card--media,
:root[data-theme='dark'] .nestiko-product-view-image-wrap {
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-product-view-file {
    background: rgba(59, 130, 246, 0.14);
    border-color: rgba(96, 165, 250, 0.24);
    color: #bfdbfe;
}

:root[data-theme='dark'] .nestiko-product-view-section-head,
:root[data-theme='dark'] .nestiko-product-view-footer {
    border-color: #22314d;
}

:root[data-theme='dark'] .nestiko-product-view-table thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border-bottom-color: #22314d !important;
}

:root[data-theme='dark'] .nestiko-product-view-table tbody td {
    color: #cbd5e1;
    border-bottom-color: #1e293b !important;
}

:root[data-theme='dark'] .nestiko-product-view-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}

:root[data-theme='dark'] .nestiko-product-view-table .img-thumbnail {
    background: #111a2c;
    border-color: #334866;
}

/* View group prices modal (stock report / list — AJAX into .view_modal) */
.nestiko-group-prices-view-modal {
    width: calc(100vw - 1.5rem);
    max-width: 44rem;
    margin: 1rem auto;
}

.nestiko-group-prices-view-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-group-prices-view-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    text-align: left;
    padding: 1.1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-group-prices-view-heading {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.nestiko-group-prices-view-kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-group-prices-view-modal .modal-title {
    margin: 0.35rem 0 0;
    font-size: 1.14rem;
    font-weight: 700;
    color: #0f172a;
    text-align: left;
}

.nestiko-group-prices-view-body {
    padding: 1rem 1.2rem 1.15rem;
    background: #ffffff;
}

.nestiko-group-prices-view-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    background: #fff;
}

.nestiko-group-prices-view-table {
    margin: 0;
    width: 100%;
    border-collapse: collapse;
}

.nestiko-group-prices-view-table thead th {
    padding: 0.65rem 0.85rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: left;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.nestiko-group-prices-view-table tbody td {
    padding: 0.75rem 0.85rem;
    font-size: 0.88rem;
    color: #0f172a;
    border-bottom: 1px solid #eef2f7;
    vertical-align: top;
}

.nestiko-group-prices-view-table tbody tr:last-child td {
    border-bottom: 0;
}

.nestiko-group-prices-view-amount {
    font-weight: 700;
}

.nestiko-group-prices-view-group-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
    padding: 0.28rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.nestiko-group-prices-view-group-line:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.nestiko-group-prices-view-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.85rem 1.2rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

@media (max-width: 767px) {
    .nestiko-group-prices-view-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-group-prices-view-modal .modal-header,
    .nestiko-group-prices-view-body,
    .nestiko-group-prices-view-footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }
}

:root[data-theme='dark'] .nestiko-group-prices-view-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-group-prices-view-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-group-prices-view-modal .modal-title,
:root[data-theme='dark'] .nestiko-group-prices-view-amount {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-group-prices-view-table thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-group-prices-view-table tbody td {
    color: #cbd5e1;
    border-bottom-color: #1e293b;
}

:root[data-theme='dark'] .nestiko-group-prices-view-table-wrap {
    border-color: #22314d;
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-group-prices-view-group-line {
    border-bottom-color: #1e293b;
}

:root[data-theme='dark'] .nestiko-group-prices-view-footer {
    background: #111a2c;
    border-top-color: #22314d;
}

.nestiko-variation-modal {
    width: calc(100vw - 1.5rem);
    max-width: 48rem;
    margin: 1rem auto;
}

.nestiko-variation-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-variation-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-variation-modal__heading {
    min-width: 0;
}

.nestiko-variation-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-variation-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-variation-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-variation-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-variation-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-variation-modal__grid {
    display: grid;
    gap: 1rem;
}

.nestiko-variation-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-variation-values-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.7rem;
}

.nestiko-variation-values-head p {
    margin: 0.32rem 0 0;
    font-size: 0.8rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-variation-values-list {
    display: grid;
    gap: 0.75rem;
}

.nestiko-variation-value-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.nestiko-variation-value-row--primary {
    padding: 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
}

.nestiko-variation-value-input {
    flex: 1 1 auto;
    min-width: 0;
}

.nestiko-variation-values-add,
.nestiko-variation-value-row .users-btn {
    flex-shrink: 0;
}

.nestiko-variation-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-variation-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-variation-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-variation-modal .modal-title,
:root[data-theme='dark'] .nestiko-variation-field label {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-variation-modal__copy,
:root[data-theme='dark'] .nestiko-variation-values-head p {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-variation-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-variation-modal__body,
:root[data-theme='dark'] .nestiko-variation-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-variation-value-row--primary {
    border-color: #22314d;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-variation-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-variation-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-variation-modal .modal-header,
    .nestiko-variation-modal__body,
    .nestiko-variation-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-variation-values-head {
        flex-direction: column;
        align-items: stretch;
    }

    .nestiko-variation-values-add {
        width: 100%;
        justify-content: center;
    }

    .nestiko-variation-modal__footer {
        flex-direction: column;
    }

    .nestiko-variation-modal__footer .users-btn,
    .nestiko-variation-value-row .users-btn {
        justify-content: center;
    }
}

.nestiko-selling-price-group-modal {
    width: calc(100vw - 1.5rem);
    max-width: 42rem;
    margin: 1rem auto;
}

.nestiko-selling-price-group-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-selling-price-group-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-selling-price-group-modal__heading {
    min-width: 0;
}

.nestiko-selling-price-group-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-selling-price-group-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-selling-price-group-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-selling-price-group-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-selling-price-group-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-selling-price-group-modal__grid {
    display: grid;
    gap: 1rem;
}

.nestiko-selling-price-group-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-selling-price-group-field textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.nestiko-selling-price-group-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal .modal-title,
:root[data-theme='dark'] .nestiko-selling-price-group-field label {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal__copy {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal__body,
:root[data-theme='dark'] .nestiko-selling-price-group-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-selling-price-group-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-selling-price-group-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-selling-price-group-modal .modal-header,
    .nestiko-selling-price-group-modal__body,
    .nestiko-selling-price-group-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-selling-price-group-modal__footer {
        flex-direction: column;
    }

    .nestiko-selling-price-group-modal__footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-unit-modal {
    width: calc(100vw - 1.5rem);
    max-width: 46rem;
    margin: 1rem auto;
}

.nestiko-unit-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-unit-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-unit-modal__heading {
    min-width: 0;
}

.nestiko-unit-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-unit-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-unit-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-unit-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-unit-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-unit-modal__grid {
    display: grid;
    gap: 1rem;
}

.nestiko-unit-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-unit-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
}

.nestiko-unit-toggle .checkbox-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.84rem;
    color: #0f172a;
}

.nestiko-unit-toggle small {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.nestiko-unit-base-card {
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #f8fafc;
}

.nestiko-unit-base-card__equation {
    display: grid;
    grid-template-columns: auto auto minmax(8rem, 10rem) minmax(12rem, 1fr);
    gap: 0.75rem;
    align-items: center;
}

.nestiko-unit-base-card__label {
    font-size: 0.88rem;
    color: #334155;
}

.nestiko-unit-base-card__label strong {
    color: #0f172a;
}

.nestiko-unit-base-card__equals {
    font-size: 1rem;
    font-weight: 700;
    color: #64748b;
}

.nestiko-unit-base-card__note {
    margin: 0.75rem 0 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-unit-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-unit-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-unit-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-unit-modal .modal-title,
:root[data-theme='dark'] .nestiko-unit-field label,
:root[data-theme='dark'] .nestiko-unit-toggle .checkbox-inline,
:root[data-theme='dark'] .nestiko-unit-base-card__label strong {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-unit-modal__copy,
:root[data-theme='dark'] .nestiko-unit-base-card__label,
:root[data-theme='dark'] .nestiko-unit-base-card__equals,
:root[data-theme='dark'] .nestiko-unit-base-card__note {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-unit-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-unit-modal__body,
:root[data-theme='dark'] .nestiko-unit-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-unit-toggle,
:root[data-theme='dark'] .nestiko-unit-base-card {
    border-color: #22314d;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-unit-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-unit-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-unit-modal .modal-header,
    .nestiko-unit-modal__body,
    .nestiko-unit-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-unit-toggle {
        flex-direction: column;
        align-items: flex-start;
    }

    .nestiko-unit-base-card__equation {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-unit-modal__footer {
        flex-direction: column;
    }

    .nestiko-unit-modal__footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-taxonomy-modal {
    width: calc(100vw - 1.5rem);
    max-width: 46rem;
    margin: 1rem auto;
}

.nestiko-taxonomy-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-taxonomy-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-taxonomy-modal__heading {
    min-width: 0;
}

.nestiko-taxonomy-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-taxonomy-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-taxonomy-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-taxonomy-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-taxonomy-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-taxonomy-modal__grid {
    display: grid;
    gap: 1rem;
}

.nestiko-taxonomy-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-taxonomy-field textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.nestiko-taxonomy-field__help {
    margin: 0.42rem 0 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-taxonomy-toggle {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
}

.nestiko-taxonomy-toggle .checkbox-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.84rem;
    color: #0f172a;
}

.nestiko-taxonomy-parent-card {
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #f8fafc;
}

.nestiko-taxonomy-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal .modal-title,
:root[data-theme='dark'] .nestiko-taxonomy-field label,
:root[data-theme='dark'] .nestiko-taxonomy-toggle .checkbox-inline {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal__copy,
:root[data-theme='dark'] .nestiko-taxonomy-field__help {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal__body,
:root[data-theme='dark'] .nestiko-taxonomy-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-taxonomy-toggle,
:root[data-theme='dark'] .nestiko-taxonomy-parent-card {
    border-color: #22314d;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-taxonomy-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-taxonomy-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-taxonomy-modal .modal-header,
    .nestiko-taxonomy-modal__body,
    .nestiko-taxonomy-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-taxonomy-modal__footer {
        flex-direction: column;
    }

    .nestiko-taxonomy-modal__footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-brand-modal {
    width: calc(100vw - 1.5rem);
    max-width: 42rem;
    margin: 1rem auto;
}

.nestiko-brand-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-brand-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-brand-modal__heading {
    min-width: 0;
}

.nestiko-brand-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-brand-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-brand-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-brand-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-brand-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-brand-modal__grid {
    display: grid;
    gap: 1rem;
}

.nestiko-brand-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-brand-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
}

.nestiko-brand-toggle .checkbox-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.84rem;
    color: #0f172a;
}

.nestiko-brand-toggle small {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.nestiko-brand-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-brand-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-brand-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-brand-modal .modal-title,
:root[data-theme='dark'] .nestiko-brand-field label,
:root[data-theme='dark'] .nestiko-brand-toggle .checkbox-inline {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-brand-modal__copy {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-brand-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-brand-modal__body,
:root[data-theme='dark'] .nestiko-brand-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-brand-toggle {
    border-color: #22314d;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-brand-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-brand-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-brand-modal .modal-header,
    .nestiko-brand-modal__body,
    .nestiko-brand-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-brand-toggle {
        flex-direction: column;
        align-items: flex-start;
    }

    .nestiko-brand-modal__footer {
        flex-direction: column;
    }

    .nestiko-brand-modal__footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-warranty-modal {
    width: calc(100vw - 1.5rem);
    max-width: 44rem;
    margin: 1rem auto;
}

.nestiko-warranty-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-warranty-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-warranty-modal__heading {
    min-width: 0;
}

.nestiko-warranty-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-warranty-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-warranty-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-warranty-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-warranty-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-warranty-modal__grid {
    display: grid;
    gap: 1rem;
}

.nestiko-warranty-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-warranty-field textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.nestiko-warranty-duration-row {
    display: grid;
    grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr);
    gap: 0.75rem;
}

.nestiko-warranty-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-warranty-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-warranty-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-warranty-modal .modal-title,
:root[data-theme='dark'] .nestiko-warranty-field label {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-warranty-modal__copy {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-warranty-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-warranty-modal__body,
:root[data-theme='dark'] .nestiko-warranty-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-warranty-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-warranty-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-warranty-modal .modal-header,
    .nestiko-warranty-modal__body,
    .nestiko-warranty-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-warranty-duration-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-warranty-modal__footer {
        flex-direction: column;
    }

    .nestiko-warranty-modal__footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-discount-modal {
    width: calc(100vw - 1.5rem);
    max-width: 68rem;
    margin: 1rem auto;
}

.nestiko-discount-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-discount-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-discount-modal__heading {
    min-width: 0;
}

.nestiko-discount-modal__kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-discount-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-discount-modal__copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-discount-modal__close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-discount-modal__body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-discount-modal__section + .nestiko-discount-modal__section {
    margin-top: 1rem;
}

.nestiko-discount-modal__section-head {
    margin-bottom: 0.75rem;
}

.nestiko-discount-modal__section-head h5 {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-discount-modal__section-head p {
    margin: 0.32rem 0 0;
    font-size: 0.8rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-discount-modal__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem 1rem;
}

.nestiko-discount-field {
    min-width: 0;
}

.nestiko-discount-field--full {
    grid-column: 1 / -1;
}

.nestiko-discount-field label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-discount-field textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.nestiko-discount-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.nestiko-discount-check-card {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
    cursor: pointer;
}

.nestiko-discount-check-card > span {
    min-width: 0;
}

.nestiko-discount-check-card strong {
    display: block;
    color: #0f172a;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.45;
}

.nestiko-discount-check-card small {
    display: block;
    margin-top: 0.24rem;
    color: #64748b;
    font-size: 0.76rem;
    line-height: 1.55;
}

.nestiko-discount-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-discount-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-discount-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-discount-modal .modal-title,
:root[data-theme='dark'] .nestiko-discount-modal__section-head h5,
:root[data-theme='dark'] .nestiko-discount-field label,
:root[data-theme='dark'] .nestiko-discount-check-card strong {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-discount-modal__copy,
:root[data-theme='dark'] .nestiko-discount-modal__section-head p,
:root[data-theme='dark'] .nestiko-discount-check-card small {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-discount-modal__close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-discount-modal__body,
:root[data-theme='dark'] .nestiko-discount-modal__footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-discount-check-card {
    border-color: #22314d;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-discount-modal__footer {
    border-top-color: #22314d;
}

@media (max-width: 767px) {
    .nestiko-discount-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-discount-modal .modal-header,
    .nestiko-discount-modal__body,
    .nestiko-discount-modal__footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-discount-modal__grid,
    .nestiko-discount-checks {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-discount-modal__footer {
        flex-direction: column;
    }

    .nestiko-discount-modal__footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-purchase-requisition-modal {
    width: calc(100vw - 1.5rem);
    max-width: 72rem;
    margin: 1rem auto;
}

.nestiko-purchase-requisition-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-purchase-requisition-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-purchase-requisition-heading {
    min-width: 0;
}

.nestiko-purchase-requisition-kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-purchase-requisition-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.14rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-purchase-requisition-copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-purchase-requisition-close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-purchase-requisition-body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-purchase-requisition-summary,
.nestiko-purchase-requisition-meta {
    display: grid;
    gap: 0.85rem;
}

.nestiko-purchase-requisition-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.nestiko-purchase-requisition-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.nestiko-purchase-requisition-card,
.nestiko-purchase-requisition-meta-card {
    min-width: 0;
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.nestiko-purchase-requisition-card--accent {
    border-color: rgba(59, 130, 246, 0.18);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.08) 100%);
}

.nestiko-purchase-requisition-card span,
.nestiko-purchase-requisition-meta-card span {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.nestiko-purchase-requisition-card strong,
.nestiko-purchase-requisition-meta-card strong {
    display: block;
    margin-top: 0.38rem;
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.45;
    color: #0f172a;
    word-break: break-word;
}

.nestiko-purchase-requisition-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #ffffff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.nestiko-purchase-requisition-table {
    width: 100%;
    min-width: 42rem;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.nestiko-purchase-requisition-table thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.75rem 0.85rem !important;
    vertical-align: middle;
}

.nestiko-purchase-requisition-table tbody td {
    font-size: 0.82rem;
    color: #475569;
    padding: 0.8rem 0.85rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: top;
    line-height: 1.55;
}

.nestiko-purchase-requisition-product strong,
.nestiko-purchase-requisition-qty strong,
.nestiko-purchase-requisition-remaining {
    display: block;
    color: #0f172a;
    font-weight: 700;
}

.nestiko-purchase-requisition-product span,
.nestiko-purchase-requisition-qty span {
    display: block;
    margin-top: 0.24rem;
    color: #64748b;
    font-size: 0.76rem;
    line-height: 1.5;
}

.nestiko-purchase-requisition-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-modal .modal-title,
:root[data-theme='dark'] .nestiko-purchase-requisition-card strong,
:root[data-theme='dark'] .nestiko-purchase-requisition-meta-card strong,
:root[data-theme='dark'] .nestiko-purchase-requisition-product strong,
:root[data-theme='dark'] .nestiko-purchase-requisition-qty strong,
:root[data-theme='dark'] .nestiko-purchase-requisition-remaining {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-copy,
:root[data-theme='dark'] .nestiko-purchase-requisition-card span,
:root[data-theme='dark'] .nestiko-purchase-requisition-meta-card span,
:root[data-theme='dark'] .nestiko-purchase-requisition-product span,
:root[data-theme='dark'] .nestiko-purchase-requisition-qty span {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-body,
:root[data-theme='dark'] .nestiko-purchase-requisition-footer {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-card,
:root[data-theme='dark'] .nestiko-purchase-requisition-meta-card,
:root[data-theme='dark'] .nestiko-purchase-requisition-table-wrap {
    border-color: #22314d;
    background: #111a2c;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-card--accent {
    border-color: rgba(96, 165, 250, 0.24);
    background: linear-gradient(180deg, rgba(30, 64, 175, 0.18) 0%, rgba(30, 41, 59, 0.28) 100%);
}

:root[data-theme='dark'] .nestiko-purchase-requisition-table thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border-bottom-color: #22314d !important;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-table tbody td {
    color: #cbd5e1;
    border-bottom-color: #1e293b !important;
}

:root[data-theme='dark'] .nestiko-purchase-requisition-footer {
    border-top-color: #22314d;
}

@media (max-width: 991px) {
    .nestiko-purchase-requisition-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nestiko-purchase-requisition-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nestiko-purchase-requisition-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-purchase-requisition-modal .modal-header,
    .nestiko-purchase-requisition-body,
    .nestiko-purchase-requisition-footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-purchase-requisition-summary,
    .nestiko-purchase-requisition-meta {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-purchase-requisition-footer {
        flex-direction: column;
    }

    .nestiko-purchase-requisition-footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-edit-shipping-modal {
    width: calc(100vw - 1.5rem);
    max-width: 76rem;
    margin: 1rem auto;
}

.nestiko-edit-shipping-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-edit-shipping-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-edit-shipping-heading {
    min-width: 0;
}

.nestiko-edit-shipping-kicker {
    display: inline-block;
    margin-bottom: 0.28rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.nestiko-edit-shipping-modal .modal-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}

.nestiko-edit-shipping-copy {
    margin: 0.34rem 0 0;
    max-width: 48rem;
    font-size: 0.83rem;
    line-height: 1.6;
    color: #64748b;
}

.nestiko-edit-shipping-close {
    margin: 0;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #475569;
    font-size: 1.35rem;
    line-height: 1.85rem;
    text-shadow: none;
    opacity: 1;
}

.nestiko-edit-shipping-body {
    padding: 1.1rem 1.15rem 1rem;
    max-height: calc(100vh - 10.5rem);
    overflow-y: auto;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 16%);
}

.nestiko-edit-shipping-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.nestiko-edit-shipping-stat {
    padding: 0.85rem 0.95rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.88rem;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.nestiko-edit-shipping-stat--accent {
    border-color: #ddd6fe;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}

.nestiko-edit-shipping-stat span {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.73rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.nestiko-edit-shipping-stat strong {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0f172a;
}

.nestiko-edit-shipping-section {
    margin-bottom: 0.9rem;
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
}

.nestiko-edit-shipping-section:last-child {
    margin-bottom: 0;
}

.nestiko-edit-shipping-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}

.nestiko-edit-shipping-section-kicker {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.nestiko-edit-shipping-section-head h5 {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}

.nestiko-edit-shipping-section-head p:last-child {
    margin: 0;
    max-width: 30rem;
    font-size: 0.8rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-edit-shipping-field label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-edit-shipping-field .form-control,
.nestiko-edit-shipping-field .select2-container--default .select2-selection--single,
.nestiko-edit-shipping-field .select2-container--default .select2-selection--multiple {
    border-color: #dbe2ea;
    border-radius: 0.8rem;
    min-height: 2.8rem;
    box-shadow: none;
}

.nestiko-edit-shipping-field textarea.form-control {
    min-height: 7rem;
}

.nestiko-edit-shipping-field .input-group-addon {
    border-color: #dbe2ea;
    background: #ffffff;
    color: #475569;
}

.nestiko-edit-shipping-dropzone {
    border: 1px dashed #cbd5e1;
    border-radius: 0.9rem;
    background: #f8fafc;
    padding: 0.75rem;
}

.nestiko-edit-shipping-dropzone .dropzone {
    min-height: 8rem;
    border: none;
    background: transparent;
}

.nestiko-edit-shipping-media {
    border-top: 1px solid #eef2f7;
    padding-top: 0.9rem;
}

.nestiko-edit-shipping-activities {
    border-top: 1px solid #eef2f7;
    padding-top: 0.9rem;
}

.nestiko-edit-shipping-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.15rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

:root[data-theme='dark'] .nestiko-edit-shipping-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-edit-shipping-modal .modal-header,
:root[data-theme='dark'] .nestiko-edit-shipping-footer {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-color: #22314d;
}

:root[data-theme='dark'] .nestiko-edit-shipping-modal .modal-title,
:root[data-theme='dark'] .nestiko-edit-shipping-stat strong,
:root[data-theme='dark'] .nestiko-edit-shipping-section-head h5,
:root[data-theme='dark'] .nestiko-edit-shipping-field label {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-edit-shipping-kicker,
:root[data-theme='dark'] .nestiko-edit-shipping-copy,
:root[data-theme='dark'] .nestiko-edit-shipping-stat span,
:root[data-theme='dark'] .nestiko-edit-shipping-section-kicker,
:root[data-theme='dark'] .nestiko-edit-shipping-section-head p:last-child {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-edit-shipping-close {
    border-color: #334155;
    background: rgba(255, 255, 255, 0.05);
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-edit-shipping-body {
    background: linear-gradient(180deg, #111827 0%, #0f172a 18%);
}

:root[data-theme='dark'] .nestiko-edit-shipping-stat,
:root[data-theme='dark'] .nestiko-edit-shipping-section {
    border-color: #22314d;
    background: linear-gradient(180deg, #111a2c 0%, #0f172a 100%);
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-edit-shipping-stat--accent {
    border-color: rgba(96, 165, 250, 0.24);
    background: linear-gradient(180deg, rgba(30, 64, 175, 0.18) 0%, rgba(30, 41, 59, 0.28) 100%);
}

:root[data-theme='dark'] .nestiko-edit-shipping-field .form-control,
:root[data-theme='dark'] .nestiko-edit-shipping-field .select2-container--default .select2-selection--single,
:root[data-theme='dark'] .nestiko-edit-shipping-field .select2-container--default .select2-selection--multiple {
    border-color: #334155;
    background: #162033;
    color: #f8fafc;
}

:root[data-theme='dark'] .nestiko-edit-shipping-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #f8fafc;
}

:root[data-theme='dark'] .nestiko-edit-shipping-field .input-group-addon {
    border-color: #334155;
    background: rgba(255, 255, 255, 0.05);
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-edit-shipping-dropzone {
    border-color: #334155;
    background: #111a2c;
}

:root[data-theme='dark'] .nestiko-edit-shipping-media,
:root[data-theme='dark'] .nestiko-edit-shipping-activities {
    border-top-color: #22314d;
}

@media (max-width: 991px) {
    .nestiko-edit-shipping-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nestiko-edit-shipping-modal {
        width: calc(100vw - 1rem);
        margin: 0.7rem auto;
    }

    .nestiko-edit-shipping-modal .modal-header,
    .nestiko-edit-shipping-body,
    .nestiko-edit-shipping-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    .nestiko-edit-shipping-modal .modal-header,
    .nestiko-edit-shipping-footer {
        flex-direction: column;
    }

    .nestiko-edit-shipping-summary {
        grid-template-columns: 1fr;
    }

    .nestiko-edit-shipping-footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

.nestiko-opening-stock-modal {
    width: calc(100vw - 1.5rem);
    max-width: 78rem;
    margin: 1rem auto;
}

.nestiko-opening-stock-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-opening-stock-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    text-align: left;
    padding: 1.1rem 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-opening-stock-heading {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.nestiko-opening-stock-kicker,
.nestiko-opening-stock-location-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #7c3aed;
}

.nestiko-opening-stock-modal .modal-title {
    margin: 0.28rem 0 0;
    font-size: 1.14rem;
    font-weight: 700;
    color: #0f172a;
    text-align: left;
}

.nestiko-opening-stock-copy {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #64748b;
    text-align: left;
}

.nestiko-opening-stock-close {
    margin: 0;
    color: #475569;
    opacity: 1;
}

.nestiko-opening-stock-body {
    padding: 1.15rem 1.2rem;
    background: #ffffff;
}

.nestiko-opening-stock-shell {
    display: grid;
    gap: 1rem;
}

.nestiko-opening-stock-hero {
    display: grid;
    gap: 0.9rem;
}

.nestiko-opening-stock-copy h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-opening-stock-copy p {
    margin: 0.42rem 0 0;
    font-size: 0.84rem;
    line-height: 1.6;
    color: #475569;
}

.nestiko-opening-stock-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.nestiko-opening-stock-stat {
    min-width: 0;
    padding: 0.9rem 0.95rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #f8fafc;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.nestiko-opening-stock-stat--accent {
    border-color: rgba(59, 130, 246, 0.18);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.08) 100%);
}

.nestiko-opening-stock-stat span {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.nestiko-opening-stock-stat strong {
    display: block;
    margin-top: 0.38rem;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.45;
    color: #0f172a;
    word-break: break-word;
}

.nestiko-opening-stock-location-card {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    overflow: hidden;
}

.nestiko-opening-stock-location-head {
    padding: 1rem 1rem 0.85rem;
    border-bottom: 1px solid #eef2f7;
}

.nestiko-opening-stock-location-title {
    margin: 0.28rem 0 0;
    font-size: 0.98rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-opening-stock-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.nestiko-opening-stock-table {
    width: 100%;
    min-width: 70rem;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.nestiko-opening-stock-table thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.7rem 0.8rem !important;
    vertical-align: middle;
    white-space: nowrap;
}

.nestiko-opening-stock-table tbody td,
.nestiko-opening-stock-table tfoot td {
    font-size: 0.8rem;
    color: #475569;
    padding: 0.72rem 0.8rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: top;
    line-height: 1.5;
}

.nestiko-opening-stock-table tbody tr:hover td {
    background: #fafafa;
}

.nestiko-opening-stock-product-name strong {
    display: block;
    color: #0f172a;
    font-weight: 700;
}

.nestiko-opening-stock-product-name span,
.nestiko-opening-stock-secondary-label {
    display: block;
    margin-top: 0.3rem;
    color: #64748b;
    font-size: 0.74rem;
    line-height: 1.45;
}

.nestiko-opening-stock-table .form-control {
    min-width: 6rem;
}

.nestiko-opening-stock-input-group {
    display: flex;
    align-items: stretch;
}

.nestiko-opening-stock-input-group .input-group-addon {
    min-width: 3.2rem;
}

.nestiko-opening-stock-subtotal,
.nestiko-opening-stock-total-cell strong,
.nestiko-opening-stock-total-cell span {
    color: #0f172a;
    font-weight: 700;
}

.nestiko-opening-stock-total-cell {
    background: #f8fafc;
}

.nestiko-opening-stock-add-row {
    min-width: 2.35rem;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
    justify-content: center;
}

.nestiko-opening-stock-empty {
    margin: 0;
    padding: 1.6rem 1rem;
    border: 1px dashed #cbd5e1;
    border-radius: 0.9rem;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
}

.nestiko-opening-stock-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

.opening-stock-page-panel {
    overflow: hidden;
}

:root[data-theme='dark'] .nestiko-opening-stock-modal .modal-content {
    background: #0f172a;
    border-color: #22314d;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-opening-stock-modal .modal-header {
    background: linear-gradient(180deg, #111a2c 0%, #162136 100%);
    border-bottom-color: #22314d;
}

:root[data-theme='dark'] .nestiko-opening-stock-modal .modal-title,
:root[data-theme='dark'] .nestiko-opening-stock-copy h4,
:root[data-theme='dark'] .nestiko-opening-stock-stat strong,
:root[data-theme='dark'] .nestiko-opening-stock-location-title,
:root[data-theme='dark'] .nestiko-opening-stock-product-name strong,
:root[data-theme='dark'] .nestiko-opening-stock-subtotal,
:root[data-theme='dark'] .nestiko-opening-stock-total-cell strong,
:root[data-theme='dark'] .nestiko-opening-stock-total-cell span {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-opening-stock-copy,
:root[data-theme='dark'] .nestiko-opening-stock-copy p,
:root[data-theme='dark'] .nestiko-opening-stock-stat span,
:root[data-theme='dark'] .nestiko-opening-stock-product-name span,
:root[data-theme='dark'] .nestiko-opening-stock-secondary-label,
:root[data-theme='dark'] .nestiko-opening-stock-empty {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-opening-stock-close {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-opening-stock-body,
:root[data-theme='dark'] .nestiko-opening-stock-footer,
:root[data-theme='dark'] .nestiko-opening-stock-location-card {
    background: #0f172a;
}

:root[data-theme='dark'] .nestiko-opening-stock-stat,
:root[data-theme='dark'] .nestiko-opening-stock-location-card,
:root[data-theme='dark'] .nestiko-opening-stock-empty {
    border-color: #22314d;
    background: #111a2c;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-opening-stock-stat--accent {
    border-color: rgba(96, 165, 250, 0.24);
    background: linear-gradient(180deg, rgba(30, 64, 175, 0.18) 0%, rgba(30, 41, 59, 0.28) 100%);
}

:root[data-theme='dark'] .nestiko-opening-stock-location-head,
:root[data-theme='dark'] .nestiko-opening-stock-footer {
    border-color: #22314d;
}

:root[data-theme='dark'] .nestiko-opening-stock-table thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border-bottom-color: #22314d !important;
}

:root[data-theme='dark'] .nestiko-opening-stock-table tbody td,
:root[data-theme='dark'] .nestiko-opening-stock-table tfoot td {
    color: #cbd5e1;
    border-bottom-color: #1e293b !important;
}

:root[data-theme='dark'] .nestiko-opening-stock-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}

:root[data-theme='dark'] .nestiko-opening-stock-total-cell {
    background: rgba(255, 255, 255, 0.04);
}

@media (max-width: 991px) {
    .nestiko-opening-stock-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nestiko-opening-stock-modal {
        width: calc(100vw - 0.8rem);
        margin: 0.4rem auto;
    }

    .nestiko-opening-stock-modal .modal-header,
    .nestiko-opening-stock-body,
    .nestiko-opening-stock-footer {
        padding-left: 0.95rem;
        padding-right: 0.95rem;
    }

    .nestiko-opening-stock-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .nestiko-opening-stock-footer {
        flex-direction: column;
    }

    .nestiko-opening-stock-footer .users-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Shared notification modal */
.nestiko-notification-modal {
    width: calc(100vw - 1.5rem);
    max-width: 64rem;
    margin: 1rem auto;
}

.nestiko-notification-modal .modal-content {
    border: 1px solid #dbe2ea;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(15, 23, 42, 0.2);
}

.nestiko-notification-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.95rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.nestiko-notification-modal .modal-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.nestiko-notification-modal .notification-modal-heading {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}

.nestiko-notification-modal .notification-modal-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.26rem 0.58rem;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.1);
    color: #1d4ed8;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.nestiko-notification-modal .notification-modal-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
    font-size: 0.78rem;
    line-height: 1.5;
    color: #64748b;
}

.nestiko-notification-modal .notification-modal-dot {
    width: 0.26rem;
    height: 0.26rem;
    border-radius: 999px;
    background: #cbd5e1;
}

.nestiko-notification-modal .notification-modal-header-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-left: auto;
}

.nestiko-notification-modal .notification-modal-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.nestiko-notification-modal .notification-modal-status-badge--success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #15803d;
}

.nestiko-notification-modal .notification-modal-status-badge--warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}

.nestiko-notification-modal .notification-modal-status-badge--danger {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.nestiko-notification-modal .notification-modal-status-badge--neutral {
    background: #f8fafc;
    border-color: #dbe2ea;
    color: #475569;
}

.nestiko-notification-modal .notification-modal-close {
    margin: 0;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 1.35rem;
    line-height: 1.85rem;
    text-shadow: none;
    opacity: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.nestiko-notification-modal .notification-modal-close:hover,
.nestiko-notification-modal .notification-modal-close:focus {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}

.nestiko-notification-modal .notification-modal-body {
    max-height: calc(100vh - 10rem);
    padding: 1.1rem 1.15rem 1rem;
    overflow-y: auto;
}

.nestiko-notification-modal .notification-modal-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.nestiko-notification-modal .notification-modal-summary-card {
    min-width: 0;
    padding: 0.95rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1px 2px rgba(15, 23, 42, 0.04);
}

.nestiko-notification-modal .notification-modal-summary-card--accent {
    background: linear-gradient(180deg, #eff6ff 0%, #eef2ff 100%);
    border-color: #bfdbfe;
}

.nestiko-notification-modal .notification-modal-summary-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.nestiko-notification-modal .notification-modal-summary-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
    word-break: break-word;
}

.nestiko-notification-modal .notification-modal-summary-list {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.75rem;
}

.nestiko-notification-modal .notification-modal-summary-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
}

.nestiko-notification-modal .notification-modal-summary-item span:first-child {
    color: #64748b;
}

.nestiko-notification-modal .notification-modal-summary-item strong {
    color: #0f172a;
    font-weight: 700;
    text-align: right;
    word-break: break-word;
}

.nestiko-notification-modal .notification-modal-channel-list,
.nestiko-notification-modal .notification-modal-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.nestiko-notification-modal .notification-modal-channel-list {
    margin-top: 0.75rem;
}

.nestiko-notification-modal .notification-modal-channel-pill,
.nestiko-notification-modal .notification-modal-tag {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.38rem 0.72rem;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.2;
}

.nestiko-notification-modal .notification-modal-tag {
    background: #f8fafc;
}

.nestiko-notification-modal .notification-modal-section {
    margin-top: 0.95rem;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    transition: opacity 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.nestiko-notification-modal .notification-modal-section--inactive {
    opacity: 0.82;
}

.nestiko-notification-modal .notification-modal-section-header {
    margin-bottom: 0.85rem;
}

.nestiko-notification-modal .notification-modal-section-header--split {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.nestiko-notification-modal .notification-modal-section-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.3rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1d4ed8;
}

.nestiko-notification-modal .notification-modal-section-title {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-notification-modal .notification-modal-section-copy {
    margin: 0.28rem 0 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-notification-modal .notification-modal-toggle-wrap,
.nestiko-notification-modal .notification-modal-toggle-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.nestiko-notification-modal .notification-modal-toggle,
.nestiko-notification-modal .notification-modal-fixed-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.2rem;
    padding: 0.45rem 0.78rem;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.nestiko-notification-modal .notification-modal-toggle--inline {
    margin-top: 0.2rem;
}

.nestiko-notification-modal .notification-modal-toggle .icheckbox_square-blue,
.nestiko-notification-modal .notification-modal-toggle .iradio_square-blue {
    margin-right: 0.15rem;
}

.nestiko-notification-modal .notification-modal-panel {
    border: 1px dashed #dbe2ea;
    border-radius: 0.85rem;
    padding: 0.95rem;
    background: rgba(255, 255, 255, 0.86);
}

.nestiko-notification-modal .notification-modal-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.nestiko-notification-modal .notification-modal-panel-head strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
}

.nestiko-notification-modal .notification-modal-panel-head p {
    max-width: 18rem;
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.55;
    color: #64748b;
    text-align: right;
}

.nestiko-notification-modal .notification-modal-panel-kicker {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #2563eb;
}

.nestiko-notification-modal .notification-modal-panel--channel {
    height: 100%;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.nestiko-notification-modal .notification-modal-form-grid {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.nestiko-notification-modal .notification-modal-form-grid > [class*='col-'] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.nestiko-notification-modal .form-group {
    margin-bottom: 0.95rem;
}

.nestiko-notification-modal .form-group:last-child {
    margin-bottom: 0;
}

.nestiko-notification-modal .form-group label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
}

.nestiko-notification-modal .form-control {
    min-height: 2.48rem;
    border-radius: 0.58rem;
    border: 1px solid #dbe2ea;
    background: #ffffff;
    color: #0f172a;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.nestiko-notification-modal .form-control::placeholder {
    color: #94a3b8;
}

.nestiko-notification-modal .form-control:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}

.nestiko-notification-modal textarea.form-control {
    min-height: 5.4rem;
    resize: vertical;
}

.nestiko-notification-modal .help-block {
    margin-top: 0.4rem;
    margin-bottom: 0;
    font-size: 0.74rem;
    color: #64748b;
}

.nestiko-notification-modal .tox-tinymce {
    border: 1px solid #dbe2ea !important;
    border-radius: 0.72rem !important;
    overflow: hidden;
}

.nestiko-notification-modal .notification-modal-empty {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: #64748b;
}

.nestiko-notification-modal .notification-modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.15rem 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.nestiko-notification-modal .notification-modal-btn {
    display: inline-flex;
    align-items: center;
    min-width: 5rem;
    justify-content: center;
    border-radius: 0.58rem;
}

.nestiko-notification-modal .notification-modal-send.is-loading {
    opacity: 0.9;
    pointer-events: none;
}

.nestiko-notification-modal .notification-modal-send.is-loading i {
    margin-right: 0.35rem;
}

@media (max-width: 991px) {
    .nestiko-notification-modal .notification-modal-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nestiko-notification-modal {
        width: calc(100vw - 1rem);
        margin: 0.7rem auto;
    }

    .nestiko-notification-modal .modal-header,
    .nestiko-notification-modal .notification-modal-body,
    .nestiko-notification-modal .notification-modal-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    .nestiko-notification-modal .modal-header,
    .nestiko-notification-modal .notification-modal-section-header--split {
        align-items: flex-start;
        flex-direction: column;
    }

    .nestiko-notification-modal .notification-modal-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .nestiko-notification-modal .notification-modal-summary-grid {
        grid-template-columns: 1fr;
    }

    .nestiko-notification-modal .notification-modal-summary-item {
        flex-direction: column;
        gap: 0.18rem;
    }

    .nestiko-notification-modal .notification-modal-summary-item strong {
        text-align: left;
    }

    .nestiko-notification-modal .notification-modal-panel {
        padding: 0.85rem;
    }

    .nestiko-notification-modal .notification-modal-panel-head {
        flex-direction: column;
    }

    .nestiko-notification-modal .notification-modal-panel-head p {
        max-width: none;
        text-align: left;
    }

    .nestiko-notification-modal .notification-modal-footer .notification-modal-btn {
        flex: 1 1 auto;
    }
}

:root[data-theme='dark'] .nestiko-notification-modal .modal-content {
    border-color: #334866;
    background: #111a2c;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}

:root[data-theme='dark'] .nestiko-notification-modal .modal-header {
    border-bottom-color: #334866;
    background: linear-gradient(180deg, #1b2842 0%, #22314d 100%);
}

:root[data-theme='dark'] .nestiko-notification-modal .modal-title,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-summary-title,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-summary-item strong,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section-title {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-kicker,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section-kicker {
    background: rgba(96, 165, 250, 0.16);
    color: #bfdbfe;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-subtitle,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-summary-label,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-summary-item span:first-child,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section-copy,
:root[data-theme='dark'] .nestiko-notification-modal .help-block,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-empty {
    color: #94a3b8;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-dot {
    background: #475569;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-status-badge--success {
    background: rgba(22, 163, 74, 0.18);
    border-color: rgba(34, 197, 94, 0.28);
    color: #bbf7d0;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-status-badge--warning {
    background: rgba(249, 115, 22, 0.18);
    border-color: rgba(251, 146, 60, 0.28);
    color: #fed7aa;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-status-badge--danger {
    background: rgba(239, 68, 68, 0.18);
    border-color: rgba(248, 113, 113, 0.28);
    color: #fecaca;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-status-badge--neutral {
    background: rgba(255, 255, 255, 0.05);
    border-color: #334866;
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-close {
    border-color: #334866;
    background: rgba(17, 26, 44, 0.92);
    color: #cbd5e1;
    box-shadow: none;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-close:hover,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-close:focus {
    background: #17233a;
    border-color: #475569;
    color: #f8fafc;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-summary-card,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-panel {
    border-color: #334866;
    background: rgba(255, 255, 255, 0.04);
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.65) 0%, rgba(15, 23, 42, 0.45) 100%);
}

/* Chips / template tags: explicit light text (light theme uses #334155 — invisible on dark surfaces) */
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-channel-pill,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-tag {
    border-color: #64748b;
    background: rgba(15, 23, 42, 0.92);
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-tag {
    color: #bae6fd;
    font-weight: 700;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-toggle,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-fixed-pill {
    border-color: #64748b;
    background: rgba(30, 41, 59, 0.95);
    color: #f1f5f9;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-toggle span,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-fixed-pill span {
    color: inherit;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section--inactive .notification-modal-toggle,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-section--inactive .notification-modal-fixed-pill {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-summary-card--accent {
    background: linear-gradient(180deg, rgba(30, 64, 175, 0.22) 0%, rgba(30, 41, 59, 0.3) 100%);
    border-color: rgba(96, 165, 250, 0.28);
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-panel-head {
    border-bottom-color: rgba(71, 85, 105, 0.55);
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-panel-head strong {
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-panel-head p,
:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-panel-kicker {
    color: #93c5fd;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-panel--channel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(15, 23, 42, 0.2) 100%);
}

:root[data-theme='dark'] .nestiko-notification-modal .form-group label {
    color: #cbd5e1;
}

:root[data-theme='dark'] .nestiko-notification-modal .form-control {
    border-color: #334866;
    background: #111a2c;
    color: #e2e8f0;
}

:root[data-theme='dark'] .nestiko-notification-modal .form-control::placeholder {
    color: #64748b;
}

:root[data-theme='dark'] .nestiko-notification-modal .form-control:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16);
}

:root[data-theme='dark'] .nestiko-notification-modal .tox-tinymce {
    border-color: #334866 !important;
}

:root[data-theme='dark'] .nestiko-notification-modal .notification-modal-footer {
    border-top-color: #334866;
}

/*
 * Extra bottom padding so primary actions are not flush against the modal edge (legacy + Nestiko).
 * Nestiko drawer shells add safe-area + gutter in nestiko-modal-drawer.css; centered modals get outer padding there too.
 */
.modal-footer {
    padding-bottom: calc(15px + 0.75rem);
}

/* ----- Toastr: bottom-right stack, card UI (overrides vendor toastr) ----- */
#toast-container {
    z-index: 2000000 !important;
}

#toast-container.toast-bottom-right,
#toast-container.toast-bottom-left {
    top: auto !important;
    bottom: max(1rem, env(safe-area-inset-bottom, 0px)) !important;
    right: auto;
    left: auto;
}

#toast-container.toast-bottom-right {
    right: max(1rem, env(safe-area-inset-right, 0px)) !important;
}

#toast-container.toast-bottom-left {
    left: max(1rem, env(safe-area-inset-left, 0px)) !important;
}

#toast-container > div {
    width: min(22.5rem, calc(100vw - 2rem)) !important;
    min-height: 3.25rem;
    margin: 0 0 0.65rem !important;
    padding: 0.85rem 2.75rem 0.85rem 1rem !important;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.85rem !important;
    background-image: none !important;
    box-shadow:
        0 4px 6px -1px rgba(15, 23, 42, 0.08),
        0 14px 34px -10px rgba(15, 23, 42, 0.18) !important;
    opacity: 1 !important;
    color: #0f172a !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    backdrop-filter: blur(8px);
}

#toast-container > div:hover {
    box-shadow:
        0 6px 10px -2px rgba(15, 23, 42, 0.1),
        0 18px 40px -12px rgba(15, 23, 42, 0.22) !important;
    opacity: 1 !important;
}

#toast-container > div.rtl {
    padding: 0.85rem 1rem 0.85rem 2.75rem !important;
    background-image: none !important;
}

#toast-container .toast-title {
    margin: 0 0 0.28rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

#toast-container .toast-title:empty {
    display: none;
    margin: 0;
}

#toast-container .toast-message {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.45;
    color: #0f172a;
}

#toast-container .toast-message a,
#toast-container .toast-message label {
    color: #4f46e5;
}

#toast-container .toast-close-button {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    float: none;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569 !important;
    font-size: 1.1rem;
    line-height: 1.65rem;
    text-shadow: none !important;
    opacity: 1 !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#toast-container > div.rtl .toast-close-button {
    right: auto;
    left: 0.55rem;
    float: none;
}

#toast-container .toast-close-button:hover,
#toast-container .toast-close-button:focus {
    color: #0f172a !important;
    background: #fff;
    border-color: #94a3b8;
    opacity: 1 !important;
}

#toast-container .toast-progress {
    height: 3px;
    border-radius: 0 0 0.85rem 0.85rem;
    opacity: 0.55;
}

#toast-container > .toast-success {
    border-left: 4px solid #16a34a;
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.97) 0%, rgba(240, 253, 250, 0.98) 100%) !important;
}

#toast-container > .toast-success .toast-title {
    color: #15803d;
}

#toast-container > .toast-success .toast-progress {
    background: #22c55e !important;
}

#toast-container > .toast-error {
    border-left: 4px solid #dc2626;
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.97) 0%, rgba(255, 247, 247, 0.99) 100%) !important;
}

#toast-container > .toast-error .toast-title {
    color: #b91c1c;
}

#toast-container > .toast-error .toast-progress {
    background: #ef4444 !important;
}

#toast-container > .toast-warning {
    border-left: 4px solid #ea580c;
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.97) 0%, rgba(254, 252, 232, 0.99) 100%) !important;
}

#toast-container > .toast-warning .toast-title {
    color: #c2410c;
}

#toast-container > .toast-warning .toast-progress {
    background: #f97316 !important;
}

#toast-container > .toast-info {
    border-left: 4px solid #2563eb;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.97) 0%, rgba(248, 250, 252, 0.99) 100%) !important;
}

#toast-container > .toast-info .toast-title {
    color: #1d4ed8;
}

#toast-container > .toast-info .toast-progress {
    background: #3b82f6 !important;
}

:root[data-theme='dark'] #toast-container > div {
    border-color: rgba(51, 65, 85, 0.75);
    color: #e2e8f0 !important;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.35),
        0 18px 44px -12px rgba(0, 0, 0, 0.45) !important;
}

:root[data-theme='dark'] #toast-container .toast-title {
    color: #94a3b8 !important;
}

:root[data-theme='dark'] #toast-container .toast-message {
    color: #f1f5f9 !important;
}

:root[data-theme='dark'] #toast-container .toast-close-button {
    background: rgba(30, 41, 59, 0.9);
    border-color: rgba(71, 85, 105, 0.75);
    color: #e2e8f0 !important;
}

:root[data-theme='dark'] #toast-container > .toast-success {
    background: linear-gradient(135deg, rgba(6, 78, 59, 0.45) 0%, rgba(15, 23, 42, 0.92) 100%) !important;
}

:root[data-theme='dark'] #toast-container > .toast-error {
    background: linear-gradient(135deg, rgba(127, 29, 29, 0.45) 0%, rgba(15, 23, 42, 0.92) 100%) !important;
}

:root[data-theme='dark'] #toast-container > .toast-warning {
    background: linear-gradient(135deg, rgba(120, 53, 15, 0.4) 0%, rgba(15, 23, 42, 0.92) 100%) !important;
}

:root[data-theme='dark'] #toast-container > .toast-info {
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.45) 0%, rgba(15, 23, 42, 0.92) 100%) !important;
}