:root{--primary:#2563eb;--primary2:#06b6d4;--ink:#111827;--muted:#667085;--border:#dbe3ee;--bg:#f8fafc;--card:#fff;--dark:#081120}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}a{text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:270px;background:linear-gradient(180deg,#0f172a,#162033);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:24px}.brand-icon{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:grid;place-items:center;font-size:22px}.brand-name{font-weight:900;line-height:1.1}.brand-name small{display:block;color:#b7c3d7;font-size:11px;font-weight:600;margin-top:4px}.sidebar nav{overflow-y:auto;padding:0 14px 24px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#cbd5e1;padding:12px 14px;border-radius:14px;margin-bottom:6px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.main{margin-left:270px;width:calc(100% - 270px);min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.topbar h4{margin:0;font-weight:900}.topbar small{color:var(--muted)}.menu-btn{display:none;border:0;background:#eef2f6;border-radius:12px;width:42px;height:42px}.content{padding:28px;flex:1}.cardx,.metric{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 16px 40px rgba(15,23,42,.05);padding:22px}.cardx h5{font-weight:900;margin-bottom:18px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:25px;font-weight:950;margin:5px 0}.metric small{color:#98a2b3}.metric.danger strong{color:#dc3545}.notice{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff7e6;border:1px solid #f6d28b;border-radius:20px;padding:18px 20px}.notice p{margin:3px 0 0;color:#7a5200}.form-control,.form-select{border-radius:13px;border:1px solid var(--border);min-height:44px}.btn{border-radius:13px;font-weight:800}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));border:0}.btn-soft{background:#eef2f6;color:#344054;border:1px solid var(--border)}.table{vertical-align:middle}.table small{display:block;color:var(--muted)}.empty{text-align:center;padding:28px;color:var(--muted)}footer{padding:18px 28px;color:var(--muted);font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-hero{background:radial-gradient(circle at top right,rgba(6,182,212,.25),transparent 35%),linear-gradient(135deg,#0f172a,#152033);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.login-hero h1{font-size:48px;line-height:1;font-weight:950;max-width:660px}.login-hero p{font-size:18px;color:#cbd5e1;max-width:560px}.brand-login{padding:0}.login-wrap{display:grid;place-items:center;padding:30px}.login-card{width:min(440px,100%);background:#fff;border-radius:26px;padding:30px;box-shadow:0 24px 70px rgba(15,23,42,.12)}.server-message{margin-bottom:12px}.server-feedback{display:flex;gap:12px;padding:13px;border-radius:15px;margin-bottom:12px}.server-feedback.is-success{background:#eff6ff;color:#2563eb}.server-feedback.is-error{background:#fff1f3;color:#b42318}.server-feedback-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.7)}.server-feedback strong,.server-feedback span{display:block;font-size:12px}.submit-progress-wrap{margin-top:10px;padding:9px 11px;border-radius:12px;background:#f8fafc;border:1px solid var(--border)}.submit-progress-head{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-weight:800;margin-bottom:6px}.submit-progress-track{height:7px;border-radius:999px;background:#e5e7eb;overflow:hidden}.submit-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary2));transition:width .15s}.pos-grid{display:grid;grid-template-columns:1fr 130px 160px 120px;gap:12px;align-items:end}.sale-total{margin-top:20px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#ecfeff);display:flex;justify-content:space-between;align-items:center}.sale-total span{font-weight:800;color:#2563eb}.sale-total strong{font-size:26px;font-weight:950;color:#1d4ed8}.backdrop{display:none}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:none}.backdrop.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:20}.main{margin-left:0;width:100%}.menu-btn{display:block}.topbar{padding:0 16px}.content{padding:18px}.login{grid-template-columns:1fr}.login-hero{display:none}.pos-grid{grid-template-columns:1fr}.topbar .btn{display:none}}

/* v2 modals and retail polish */
.danger-modal{border:0;border-radius:22px;overflow:hidden;box-shadow:0 28px 70px rgba(15,23,42,.2)}
.danger-modal .modal-header{padding:22px 22px 12px}.danger-kicker{margin-bottom:4px;color:#dc3545;font-size:9px;font-weight:900;letter-spacing:1.4px}.danger-summary{display:flex;gap:13px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(180deg,#fff,#f8f9fc)}.danger-summary>i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff1f3;color:#dc3545;font-size:20px}.danger-summary strong{display:block;font-size:15px;font-weight:900}.danger-summary span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.danger-warning{margin-top:14px;padding:14px;border:1px solid rgba(220,53,69,.18);border-radius:15px;background:#fff5f5}.danger-warning b{display:block;color:#a61f29;font-size:12px}.danger-warning p{margin:4px 0 0;color:#7a3b41;font-size:11px}.delete-confirm-check{display:flex;gap:10px;margin-top:15px;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:#fafbfc;font-size:11px;color:#475467}.delete-confirm-check input{accent-color:#dc3545;margin-top:2px}.voided-stamp{display:inline-block;margin-top:8px;padding:6px 10px;border:2px solid #dc3545;color:#dc3545;font-weight:950;letter-spacing:2px;transform:rotate(-3deg);border-radius:8px}.modal-content{border-radius:22px}.modal-header,.modal-footer{border-color:var(--border)}

/* v3 password recovery pages */
.login-card a{color:var(--primary)}
.login-card a:hover{text-decoration:underline}
@media(max-width:575px){.login-card .d-flex.justify-content-between{gap:8px;flex-direction:column;align-items:flex-start!important}}

/* v5 operations polish */
.notice-low{background:linear-gradient(135deg,#fff7e6,#fffaf0);border-color:#f6d28b}
.cardx .text-secondary{font-size:13px}
.badge.text-bg-light{background:#eef2f6!important;color:#344054!important;border:1px solid var(--border)}
@media print{
 .sidebar,.topbar,footer,.btn,.menu-btn,.backdrop{display:none!important}
 .main{margin:0!important;width:100%!important}
 .content{padding:0!important}
 .cardx,.metric{box-shadow:none!important;border:1px solid #ddd!important}
 body{background:#fff!important}
}

/* v6 POS and visibility improvements */
.form-control,.form-select{
    background:#fff!important;
    border:1.6px solid #cfd6e3!important;
    color:#101828!important;
    box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.form-control:focus,.form-select:focus{
    border-color:var(--primary)!important;
    box-shadow:0 0 0 .22rem rgba(37,99,235,.14)!important;
}
.form-label{
    color:#243044;
    font-size:12px;
    font-weight:850;
}
.form-control::placeholder{color:#98a2b3}
.pos-shell{display:flex;flex-direction:column;gap:18px}
.pos-header-card{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    padding:22px;
    border-radius:24px;
    background:radial-gradient(circle at top right,rgba(6,182,212,.2),transparent 35%),linear-gradient(135deg,#ffffff,#f3fbf4);
    border:1px solid rgba(37,99,235,.14);
    box-shadow:0 16px 40px rgba(15,23,42,.05);
}
.pos-kicker{
    color:var(--primary);
    font-size:10px;
    font-weight:950;
    letter-spacing:1.6px;
}
.pos-header-card h3{
    margin:3px 0;
    font-size:28px;
    font-weight:950;
}
.pos-header-card p{margin:0;color:var(--muted);font-size:13px}
.pos-step-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.pos-step-pills span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--border);
    color:#344054;
    font-size:11px;
    font-weight:800;
}
.pos-step-pills b{
    width:20px;height:20px;border-radius:50%;
    display:grid;place-items:center;
    background:var(--primary);color:#fff;font-size:10px;
}
.pos-panel{
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    box-shadow:0 16px 40px rgba(15,23,42,.05);
    padding:22px;
}
.pos-panel-title{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    color:#111827;
    font-weight:950;
}
.pos-panel-title i{
    width:34px;height:34px;
    display:grid;place-items:center;
    border-radius:12px;
    background:#eff6ff;
    color:var(--primary);
}
.pos-entry-grid{
    display:grid;
    grid-template-columns:1fr 120px 150px 130px;
    gap:13px;
    align-items:end;
}
.pos-field{min-width:0}
.pos-control{
    min-height:52px!important;
    font-size:15px!important;
    font-weight:700;
}
.pos-help{
    margin-top:7px;
    font-size:11px;
    color:#667085;
}
.pos-add-btn{
    min-height:52px;
    background:#f2f6f4;
    border-color:#cfded2;
    color:#245829;
}
.pos-cart-wrap{margin-top:22px}
.pos-cart-table thead th{
    background:#f8fafc;
    color:#475467;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.5px;
}
.pos-cart-table tbody td{
    padding-top:13px;
    padding-bottom:13px;
}
.pos-cart-table small{font-size:10px}
.pos-cart-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:36px!important;
    border:1px dashed #cfd6e3;
    border-radius:18px;
    background:#fafbfc;
}
.pos-cart-empty i{font-size:30px;color:#98a2b3}
.sticky-pos-summary{position:sticky;top:104px}
.pos-totals-card{
    margin-top:18px;
    padding:15px;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid var(--border);
    display:flex;
    flex-direction:column;
    gap:10px;
}
.pos-totals-card>div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    color:#667085;
}
.pos-totals-card strong{color:#111827}
.pos-totals-card .grand{
    border-top:1px solid #e4e7ec;
    padding-top:12px;
    margin-top:4px;
}
.pos-totals-card .grand span{
    font-size:14px;
    color:#1d4ed8;
    font-weight:900;
}
.pos-totals-card .grand strong{
    color:#1d4ed8;
    font-size:27px;
    font-weight:950;
}
#completeSaleBtn:disabled{opacity:.55;cursor:not-allowed!important}
@media(max-width:1200px){
    .sticky-pos-summary{position:static}
}
@media(max-width:768px){
    .pos-header-card{align-items:flex-start;flex-direction:column}
    .pos-step-pills{justify-content:flex-start}
    .pos-entry-grid{grid-template-columns:1fr}
}

/* v7 searchable selects, barcode scanning and product photo picker */
.select2-container--default .select2-selection--single{
    min-height:52px;
    border:1.6px solid #cfd6e3!important;
    border-radius:13px!important;
    display:flex!important;
    align-items:center!important;
    background:#fff!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    color:#101828!important;
    font-weight:750;
    line-height:50px!important;
    padding-left:14px!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    height:50px!important;
    right:8px!important;
}
.select2-dropdown{
    border:1px solid #cfd6e3!important;
    border-radius:12px!important;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(15,23,42,.12);
}
.select2-search__field{
    border:1px solid #cfd6e3!important;
    border-radius:10px!important;
    min-height:38px;
    padding:7px 10px!important;
}
.barcode-scan-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:end;
    padding:14px;
    border:1px dashed rgba(47,125,50,.35);
    border-radius:18px;
    background:#f4fbf5;
    margin-bottom:15px;
}
.barcode-input{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    letter-spacing:.6px;
}
.photo-picker{
    min-height:106px;
    display:flex;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1.6px dashed #cfd6e3;
    border-radius:16px;
    background:#fafbfc;
    cursor:pointer;
    transition:.15s ease;
}
.photo-picker:hover{
    border-color:var(--primary);
    background:#f4fbf5;
}
.photo-picker input{display:none}
.photo-picker-preview{
    width:78px;
    height:78px;
    flex:0 0 auto;
    border-radius:14px;
    background:#eef2f6;
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#98a2b3;
    font-size:26px;
}
.photo-picker-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:none;
}
.photo-picker strong{
    display:block;
    color:#1f2937;
    font-size:13px;
}
.photo-picker span{
    display:block;
    color:#667085;
    font-size:11px;
    margin-top:3px;
}
.photo-picker.compact{min-height:84px}
.photo-picker.compact .photo-picker-preview{width:60px;height:60px}
.input-group .btn-soft{
    border-color:#cfd6e3;
}
@media(max-width:768px){
    .barcode-scan-box{grid-template-columns:1fr}
}

/* v8 POS layout corrections */
.pos-shell{
    gap:12px;
}
.pos-header-card{
    min-height:auto;
    padding:18px 22px;
    margin-bottom:0!important;
}
.pos-header-card h3{
    font-size:24px;
}
.pos-header-card p{
    font-size:12px;
}
.pos-step-pills span{
    padding:7px 10px;
}
.pos-panel{
    padding:20px;
}
.pos-panel-title{
    margin-bottom:12px;
}
.pos-subtitle{
    margin-top:16px;
    margin-bottom:12px;
}
.pos-subtitle i{
    background:#f2f4f7;
    color:#475467;
}
.compact-scan-box{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    padding:12px;
    margin-bottom:8px;
}
.barcode-input-wrap{
    min-width:0;
}
.scanner-focus-btn{
    min-height:52px;
    padding-left:18px;
    padding-right:18px;
    white-space:nowrap;
}
.refined-pos-entry{
    grid-template-columns:minmax(320px,1fr) 130px 160px 150px;
    align-items:end;
    gap:14px;
}
.refined-pos-entry .product-field{
    min-width:0;
}
.refined-pos-entry .select2-container{
    width:100%!important;
}
.refined-pos-entry .select2-container--default .select2-selection--single{
    min-height:52px;
}
.pos-add-field .pos-add-btn{
    min-height:52px;
    white-space:nowrap;
}
.pos-cart-wrap{
    margin-top:20px;
}
.pos-cart-empty{
    padding:32px!important;
}
.content{
    padding-top:22px;
}

/* Make the POS cards align better under the header */
.pos-shell>.row.g-4{
    --bs-gutter-y:1rem;
}

@media(max-width:1400px){
    .refined-pos-entry{
        grid-template-columns:minmax(260px,1fr) 110px 140px 135px;
    }
}
@media(max-width:1200px){
    .refined-pos-entry{
        grid-template-columns:1fr 1fr;
    }
    .pos-add-field{
        grid-column:1/-1;
    }
}
@media(max-width:768px){
    .compact-scan-box{
        grid-template-columns:1fr;
    }
    .scanner-focus-btn{
        width:100%;
    }
    .refined-pos-entry{
        grid-template-columns:1fr;
    }
}

/* v9 POS correction based on screenshot */
.pos-header-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center!important;
    gap:18px!important;
    padding:14px 22px!important;
    min-height:96px!important;
}
.pos-header-card h3{
    margin:2px 0 4px!important;
    line-height:1.05!important;
    font-size:24px!important;
}
.pos-header-card p{
    max-width:620px;
    line-height:1.35;
    margin-bottom:0!important;
}
.pos-step-pills{
    align-self:center;
    white-space:nowrap;
}
.pos-shell>.row.g-4{
    margin-top:0!important;
    align-items:flex-start;
}
.pos-panel{
    overflow:hidden;
}
.compact-scan-box{
    grid-template-columns:minmax(0,1fr) 210px!important;
    gap:12px!important;
}
.compact-scan-box .barcode-input-wrap,
.manual-product-box,
.manual-product-box .product-field{
    min-width:0!important;
}
.scanner-focus-btn{
    width:100%;
    justify-content:center;
}

/* Manual product selection must never push into the payment card */
.refined-pos-entry{
    display:block!important;
}
.manual-product-box{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:14px;
    border:1px solid #e4e7ec;
    border-radius:18px;
    background:#fbfcfd;
}
.manual-product-box .select2-container{
    width:100%!important;
    max-width:100%!important;
}
.manual-product-actions{
    display:grid;
    grid-template-columns:150px 180px 160px;
    gap:14px;
    align-items:end;
    justify-content:start;
}
.manual-product-actions .pos-control,
.manual-product-actions .pos-add-btn{
    min-height:52px!important;
}
.manual-product-actions .pos-add-btn{
    white-space:nowrap;
}
.pos-cart-wrap{
    margin-top:18px!important;
}
.pos-cart-wrap .d-flex{
    flex-wrap:wrap;
    gap:10px;
}
.sticky-pos-summary{
    margin-top:0!important;
}

/* Prevent Select2 from creating hidden overflow in POS cards */
.pos-panel .select2,
.pos-panel .select2-container,
.pos-panel .select2-selection{
    max-width:100%!important;
}
.pos-panel .select2-selection__rendered{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Desktop alignment */
@media(max-width:1400px){
    .pos-header-card{
        grid-template-columns:1fr;
    }
    .pos-step-pills{
        justify-content:flex-start!important;
        white-space:normal;
    }
    .manual-product-actions{
        grid-template-columns:1fr 1fr 160px;
    }
}
@media(max-width:1200px){
    .compact-scan-box{
        grid-template-columns:1fr!important;
    }
    .manual-product-actions{
        grid-template-columns:1fr 1fr;
    }
    .manual-product-actions .pos-add-field{
        grid-column:1/-1;
    }
}
@media(max-width:768px){
    .pos-header-card{
        padding:16px!important;
        min-height:auto!important;
    }
    .manual-product-actions{
        grid-template-columns:1fr;
    }
}

/* v10 POS header removed */
.pos-shell{
    gap:0!important;
}
.pos-shell>.row.g-4{
    margin-top:0!important;
}
.content:has(.pos-shell){
    padding-top:18px;
}
@supports not selector(:has(*)){
    .pos-shell{
        margin-top:0!important;
    }
}

/* v12 amount tendered validation display */
#paymentBalance.text-danger{
    color:#dc3545!important;
}
#paymentBalance.text-success{
    color:#2563eb!important;
}
.pos-totals-card div:has(#paymentBalance.text-danger){
    background:#fff5f5;
    margin-left:-8px;
    margin-right:-8px;
    padding:7px 8px;
    border-radius:10px;
}

/* v13 purchase supplier modal/select group */
.supplier-select-group .select2-container{
    flex:1 1 auto;
    width:1%!important;
}
.supplier-select-group .select2-container--default .select2-selection--single{
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
}
.supplier-select-group .btn{
    border-top-left-radius:0;
    border-bottom-left-radius:0;
    min-height:52px;
}

/* v14 quantity and POS price controls */
#posPrice[readonly]{
    background:#f3f6f4!important;
    color:#475467!important;
    cursor:not-allowed;
}
.readonly-price-note{
    color:#667085;
    font-size:10px;
}

/* v15 POS manual product layout reset - replaces accumulated conflicting grid rules */
.pos-manual-fixed{
    display:block!important;
    padding:16px!important;
    border:1px solid #e4e7ec!important;
    border-radius:18px!important;
    background:#fbfcfd!important;
    overflow:hidden!important;
}
.manual-product-select{
    min-width:0!important;
    width:100%!important;
    margin-bottom:14px!important;
}
.manual-product-select .select2,
.manual-product-select .select2-container{
    width:100%!important;
    max-width:100%!important;
}
.fixed-actions-row{
    display:grid!important;
    grid-template-columns:160px 230px 190px!important;
    gap:16px!important;
    align-items:start!important;
    justify-content:start!important;
    width:100%!important;
    max-width:100%!important;
}
.fixed-actions-row .manual-field{
    min-width:0!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
}
.fixed-actions-row .form-label{
    display:block!important;
    height:20px!important;
    line-height:20px!important;
    margin:0 0 8px 0!important;
    padding:0!important;
}
.fixed-actions-row .pos-control,
.fixed-actions-row .pos-add-btn{
    height:56px!important;
    min-height:56px!important;
    line-height:1.2!important;
    margin:0!important;
}
.fixed-actions-row .pos-add-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
}
.field-footnote{
    height:22px!important;
    line-height:16px!important;
    margin-top:6px!important;
    font-size:11px!important;
}
.invisible-label{
    visibility:hidden!important;
}
#posPrice[readonly]{
    background:#f6f8f7!important;
    cursor:not-allowed!important;
}
.pos-panel{
    overflow:hidden!important;
}
.pos-panel .select2-container{
    max-width:100%!important;
}
.pos-subtitle{
    margin-top:16px!important;
}

/* neutralize older POS entry grid rules that were causing drifting */
.refined-pos-entry,
.pos-entry-grid.refined-pos-entry{
    display:block!important;
    grid-template-columns:none!important;
}
.manual-product-actions{
    margin:0!important;
}

/* medium screens: keep the button under inputs cleanly */
@media(max-width:1300px){
    .fixed-actions-row{
        grid-template-columns:1fr 1fr!important;
    }
    .fixed-actions-row .add-field{
        grid-column:1 / -1!important;
        max-width:260px!important;
    }
}
@media(max-width:768px){
    .fixed-actions-row{
        grid-template-columns:1fr!important;
    }
    .fixed-actions-row .add-field{
        max-width:none!important;
    }
}

/* v16 purchase page layout correction */
.supplier-select-group{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
}
.supplier-select-group .select2-container{
    flex:1 1 auto!important;
    width:1%!important;
    min-width:0!important;
}
.supplier-select-group .btn{
    flex:0 0 auto!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
}
.purchase-product-box{
    margin-top:18px!important;
    padding:16px!important;
    border:1px solid #e4e7ec!important;
    border-radius:18px!important;
    background:#fbfcfd!important;
    overflow:hidden!important;
}
.purchase-product-select{
    width:100%!important;
    min-width:0!important;
    margin-bottom:14px!important;
}
.purchase-product-select .select2,
.purchase-product-select .select2-container{
    width:100%!important;
    max-width:100%!important;
}
.purchase-actions-row{
    display:grid!important;
    grid-template-columns:160px 210px 180px!important;
    gap:16px!important;
    align-items:start!important;
    justify-content:start!important;
    max-width:100%!important;
}
.purchase-field{
    min-width:0!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
}
.purchase-field .form-label{
    height:20px!important;
    line-height:20px!important;
    margin:0 0 8px 0!important;
}
.purchase-field .form-control,
.purchase-field .btn{
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
}
.purchase-field .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
}
.purchase-add-field .invisible-label{
    visibility:hidden!important;
}
#purchaseTable{
    margin-top:6px;
}
@media(max-width:992px){
    .purchase-actions-row{
        grid-template-columns:1fr 1fr!important;
    }
    .purchase-add-field{
        grid-column:1 / -1!important;
        max-width:260px!important;
    }
}
@media(max-width:768px){
    .supplier-select-group{
        flex-direction:column!important;
    }
    .supplier-select-group .select2-container{
        width:100%!important;
    }
    .supplier-select-group .btn{
        width:100%!important;
        border-radius:13px!important;
        margin-top:8px;
    }
    .purchase-actions-row{
        grid-template-columns:1fr!important;
    }
    .purchase-add-field{
        max-width:none!important;
    }
}

/* v17 global premium UI audit */
:root{
    --field-h:56px;
    --field-radius:14px;
    --field-border:#d0d7e2;
    --field-focus:#2563eb;
    --surface-soft:#fbfcfd;
}
.cardx{
    border-radius:24px!important;
    border:1px solid #e3e8ef!important;
    box-shadow:0 18px 46px rgba(15,23,42,.055)!important;
}
.cardx>h5{
    font-size:22px;
    font-weight:950;
    letter-spacing:-.02em;
    margin-bottom:24px;
}
.form-label{
    font-size:12px!important;
    font-weight:900!important;
    color:#243044!important;
    letter-spacing:.01em;
    margin-bottom:8px!important;
}
.form-control,
.form-select{
    min-height:var(--field-h)!important;
    border-radius:var(--field-radius)!important;
    border:1.6px solid var(--field-border)!important;
    background:#fff!important;
    color:#101828!important;
    font-weight:750!important;
}
.form-control:focus,
.form-select:focus{
    border-color:var(--field-focus)!important;
    box-shadow:0 0 0 .22rem rgba(47,125,50,.13)!important;
}
.btn{
    font-weight:850;
}
.btn-primary,
.btn-soft{
    min-height:44px;
}
.select2-container{
    max-width:100%!important;
}
.select2-container--default .select2-selection--single{
    min-height:var(--field-h)!important;
    border-radius:var(--field-radius)!important;
    border:1.6px solid var(--field-border)!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height:54px!important;
    font-weight:750!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    height:54px!important;
}

/* v17 Record Stock Purchase top alignment */
.purchase-card{
    overflow:hidden!important;
}
.purchase-top-grid{
    display:grid!important;
    grid-template-columns:minmax(360px,1.1fr) minmax(220px,.55fr) minmax(240px,.65fr)!important;
    gap:18px!important;
    align-items:start!important;
    width:100%!important;
    margin-bottom:18px!important;
}
.purchase-top-field{
    min-width:0!important;
    width:100%!important;
}
.purchase-top-field .form-control,
.purchase-top-field .form-select,
.purchase-top-field .select2-container,
.purchase-top-field .select2-selection{
    width:100%!important;
}
.supplier-select-group{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 110px!important;
    width:100%!important;
    align-items:stretch!important;
}
.supplier-select-group .select2-container{
    width:100%!important;
    min-width:0!important;
}
.supplier-select-group .select2-selection{
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
}
.supplier-select-group .btn{
    height:var(--field-h)!important;
    min-height:var(--field-h)!important;
    border-top-left-radius:0!important;
    border-bottom-left-radius:0!important;
    border-left:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
}
.purchase-product-box{
    margin-top:12px!important;
    padding:18px!important;
    border:1px solid #e4e7ec!important;
    border-radius:20px!important;
    background:linear-gradient(180deg,#ffffff,#fbfcfd)!important;
}
.purchase-product-select{
    margin-bottom:16px!important;
}
.purchase-actions-row{
    grid-template-columns:160px 220px 190px!important;
    gap:16px!important;
}
.purchase-field .form-control,
.purchase-field .btn{
    height:var(--field-h)!important;
    min-height:var(--field-h)!important;
    border-radius:var(--field-radius)!important;
}

/* premium table spacing */
.table thead th{
    color:#344054;
    font-weight:950;
    letter-spacing:.02em;
}
.sale-total{
    border-radius:18px!important;
    min-height:76px;
    display:flex;
    align-items:center;
}

/* role-focused sidebar polish */
.sidebar nav a{
    border-radius:14px;
}

/* responsive purchase form */
@media(max-width:1200px){
    .purchase-top-grid{
        grid-template-columns:1fr 1fr!important;
    }
    .supplier-top-field{
        grid-column:1 / -1!important;
    }
}
@media(max-width:768px){
    .purchase-top-grid{
        grid-template-columns:1fr!important;
    }
    .supplier-select-group{
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .supplier-select-group .select2-selection,
    .supplier-select-group .btn{
        border-radius:var(--field-radius)!important;
        border-left:1.6px solid var(--field-border)!important;
    }
    .purchase-actions-row{
        grid-template-columns:1fr!important;
    }
}

/* v18 remove raw Bootstrap feel - premium action chips and badges */
.action-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:10px 16px;
    border-radius:14px;
    font-size:13px;
    font-weight:900;
    text-decoration:none!important;
    border:1px solid transparent;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
    transition:.16s ease;
    white-space:nowrap;
}
.action-chip:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(15,23,42,.1);
}
.chip-sm{
    min-height:34px;
    padding:7px 12px;
    border-radius:12px;
    font-size:12px;
}
.chip-warning{
    background:linear-gradient(135deg,#ffca2c,#ffb703);
    color:#1f2937!important;
    border-color:#f2b705;
}
.chip-neutral{
    background:#eef2f6;
    color:#344054!important;
    border-color:#d7dee8;
    box-shadow:none;
}
.chip-primary{
    background:linear-gradient(135deg,#2563eb,#1f6f3a);
    color:#fff!important;
    border-color:#1f6f3a;
}
.premium-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 11px;
    min-height:30px;
    border-radius:999px;
    font-size:11px;
    font-weight:950;
    line-height:1;
    border:1px solid transparent;
    white-space:nowrap;
}
.badge-warning-soft{
    background:#fff3cd;
    color:#7a4b00;
    border-color:#ffe08a;
}
.badge-success-soft{
    background:#dcfce7;
    color:#166534;
    border-color:#bbf7d0;
}
.badge-danger-soft{
    background:#fee2e2;
    color:#991b1b;
    border-color:#fecaca;
}
.badge-muted-soft,
.badge-light-soft{
    background:#eef2f6;
    color:#344054;
    border-color:#d7dee8;
}

/* dashboard action alignment */
.notice .action-chip{
    margin-left:auto;
}
.notice-low{
    border:1px solid #f4c76b!important;
    box-shadow:0 14px 32px rgba(245,158,11,.08)!important;
}
.cardx table td .action-chip,
.cardx table td .premium-badge{
    vertical-align:middle;
}
.cardx table td:last-child{
    white-space:nowrap;
}

/* remove bootstrap badge/button visual residue in table-heavy pages */
.table .btn.btn-soft,
.table .btn.btn-primary,
.table .btn.btn-warning{
    border-radius:12px!important;
    font-weight:900!important;
}
.table .btn-sm{
    min-height:34px!important;
    padding:7px 12px!important;
}

/* dashboard list polish */
.cardx h5{
    letter-spacing:-.025em;
}
.cardx .table tbody tr{
    transition:.12s ease;
}
.cardx .table tbody tr:hover{
    background:#fbfcfd;
}

/* v21 Access Matrix */
.access-matrix-card .text-secondary{
    color:#667085!important;
    font-size:13px;
}
.access-matrix-wrap{
    border:1px solid #e4e7ec;
    border-radius:18px;
    overflow:hidden;
}
.access-matrix-table{
    margin:0;
}
.access-matrix-table thead th{
    background:#f8fafc;
    position:sticky;
    top:0;
    z-index:1;
    text-align:center;
}
.access-matrix-table thead th:first-child{
    text-align:left;
}
.matrix-group-row td{
    background:#eff6ff!important;
    color:#166534;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
}
.access-matrix-table td strong{
    display:block;
    font-size:13px;
}
.access-matrix-table td small{
    color:#98a2b3;
    font-size:10px;
}
.matrix-check{
    display:inline-grid;
    place-items:center;
    cursor:pointer;
}
.matrix-check input{
    display:none;
}
.matrix-check span{
    width:34px;
    height:34px;
    border-radius:12px;
    border:1.6px solid #cfd6e3;
    background:#fff;
    display:grid;
    place-items:center;
}
.matrix-check span:before{
    content:"";
    width:14px;
    height:14px;
    border-radius:6px;
    background:transparent;
}
.matrix-check input:checked + span{
    background:#eff6ff;
    border-color:#2563eb;
}
.matrix-check input:checked + span:before{
    background:#2563eb;
}
.matrix-check input:disabled + span{
    opacity:.65;
    cursor:not-allowed;
}

/* v23 POS price lock cleanup */
.readonly-price-note{
    display:none!important;
}
#posPrice[readonly]{
    background:#f6f8f7!important;
    color:#475467!important;
    cursor:not-allowed!important;
}

/* v24 premium POS server response modal */
.premium-response-modal .modal-content{
    border:0;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(15,23,42,.22);
}
.premium-response-modal .modal-body{
    padding:34px;
    text-align:center;
    background:
      radial-gradient(circle at top right,rgba(47,125,50,.12),transparent 35%),
      linear-gradient(180deg,#ffffff,#f8fafc);
}
.premium-response-icon{
    width:78px;
    height:78px;
    margin:0 auto 18px;
    border-radius:26px;
    display:grid;
    place-items:center;
    font-size:38px;
    background:#eff6ff;
    color:#16803a;
    box-shadow:0 18px 34px rgba(22,128,58,.16);
}
.premium-response-modal.is-error .premium-response-icon{
    background:#fff1f3;
    color:#b42318;
    box-shadow:0 18px 34px rgba(180,35,24,.14);
}
.premium-response-modal h4{
    font-weight:950;
    letter-spacing:-.035em;
    margin:0 0 10px;
    color:#101828;
}
.premium-response-modal p{
    color:#667085;
    font-size:14px;
    line-height:1.55;
    margin:0 auto 24px;
    max-width:390px;
}
.premium-response-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}
.premium-response-actions .btn{
    min-width:150px;
    min-height:50px;
    border-radius:16px;
}

/* v25 discount permission lock */
#discount[readonly]{
    background:#f6f8f7!important;
    color:#475467!important;
    cursor:not-allowed!important;
}

/* v26 mobile camera barcode scanner */
.camera-enabled-scan{
    grid-template-columns:minmax(0,1fr) auto auto!important;
}
.camera-scan-btn{
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
}
.premium-camera-modal .modal-content{
    border:0;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(15,23,42,.22);
}
.premium-camera-modal .modal-header{
    border:0;
    padding:22px 24px;
    background:linear-gradient(135deg,#0f172a,#162033);
    color:#fff;
}
.premium-camera-modal .modal-title{
    font-weight:950;
    letter-spacing:-.02em;
}
.premium-camera-modal .modal-header small{
    color:#cbd5e1;
    font-size:12px;
}
.premium-camera-modal .btn-close{
    filter:invert(1);
    opacity:.9;
}
.premium-camera-modal .modal-body{
    padding:22px;
    background:#f8fafc;
}
#mobileBarcodeReader{
    width:100%;
    min-height:320px;
    background:#0f172a;
    border-radius:20px;
    overflow:hidden;
    border:1px solid #d0d7e2;
}
#mobileBarcodeReader video{
    border-radius:20px;
}
.camera-scan-hint{
    margin-top:14px;
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:13px 14px;
    background:#eff6ff;
    border:1px solid #bbf7d0;
    color:#166534;
    border-radius:16px;
    font-size:12px;
    font-weight:750;
}
@media(max-width:992px){
    .camera-enabled-scan{
        grid-template-columns:1fr!important;
    }
    .camera-enabled-scan .btn{
        width:100%;
    }
}

/* v27 native fast camera scanner */
.native-camera-shell{
    position:relative;
    width:100%;
    min-height:320px;
    background:#0f172a;
    border-radius:20px;
    overflow:hidden;
    border:1px solid #d0d7e2;
}
#nativeBarcodeVideo{
    width:100%;
    min-height:320px;
    display:block;
    object-fit:cover;
    background:#0f172a;
}
.native-scan-frame{
    position:absolute;
    inset:18%;
    border:3px solid rgba(102,187,106,.95);
    border-radius:18px;
    box-shadow:0 0 0 999px rgba(15,23,42,.28),0 0 30px rgba(102,187,106,.35);
    pointer-events:none;
}
.native-scan-frame:after{
    content:"";
    position:absolute;
    left:10%;
    right:10%;
    top:50%;
    height:2px;
    background:linear-gradient(90deg,transparent,#06b6d4,transparent);
    box-shadow:0 0 16px rgba(102,187,106,.9);
}
#mobileBarcodeReader{
    display:none!important;
}

/* v28 hybrid scanner compatibility */
.premium-camera-modal .camera-scan-hint{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}
.native-camera-shell:before{
    content:"Hybrid scanner: Native when available, ZXing fallback on other mobile browsers";
    position:absolute;
    z-index:2;
    left:14px;
    right:14px;
    bottom:14px;
    padding:9px 12px;
    border-radius:999px;
    background:rgba(15,23,42,.72);
    color:#fff;
    font-size:11px;
    font-weight:800;
    text-align:center;
    backdrop-filter:blur(8px);
}

/* v30 camera scanner extended to product entry and stock receiving */
.product-barcode-group{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 50px 54px!important;
    width:100%!important;
}
.product-barcode-group .form-control{
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
}
.product-barcode-group .btn{
    height:56px!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:0!important;
}
.product-barcode-group .btn:last-child{
    border-top-right-radius:14px!important;
    border-bottom-right-radius:14px!important;
}
.purchase-receive-scan-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 170px 190px!important;
    gap:14px!important;
    align-items:end!important;
    margin-bottom:16px!important;
    padding:14px!important;
    border:1px solid #e4e7ec!important;
    border-radius:18px!important;
    background:#f8fafc!important;
}
.purchase-receive-scan-row .btn,
.purchase-receive-scan-row .form-control{
    height:56px!important;
    min-height:56px!important;
}
.purchase-camera-scan,
.product-camera-scan{
    white-space:nowrap!important;
}
@media(max-width:992px){
    .purchase-receive-scan-row{
        grid-template-columns:1fr!important;
    }
    .purchase-receive-scan-row .btn{
        width:100%;
    }
    .product-barcode-group{
        grid-template-columns:minmax(0,1fr) 48px 52px!important;
    }
}

/* v31 fixed product add/edit barcode section */
.barcode-control-group.product-barcode-group{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) 54px 58px!important;
    width:100%!important;
    max-width:100%!important;
    align-items:stretch!important;
    gap:0!important;
}
.barcode-control-group.product-barcode-group .form-control{
    width:100%!important;
    min-width:0!important;
    height:56px!important;
    min-height:56px!important;
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
    border-right:0!important;
}
.barcode-control-group.product-barcode-group .btn{
    height:56px!important;
    min-height:56px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    border-radius:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:none!important;
}
.barcode-control-group.product-barcode-group .btn:last-child{
    border-top-right-radius:14px!important;
    border-bottom-right-radius:14px!important;
}
.barcode-control-group.product-barcode-group .btn i{
    font-size:20px;
}
@media(max-width:576px){
    .barcode-control-group.product-barcode-group{
        grid-template-columns:minmax(0,1fr) 50px 54px!important;
    }
}

/* v33 mobile camera scanner fully removed */
.camera-scan-btn,
.product-camera-scan,
.purchase-camera-scan,
.premium-camera-modal,
.native-camera-shell,
#nativeBarcodeVideo,
#mobileBarcodeReader{
    display:none!important;
}
.barcode-scan-box.compact-scan-box{
    grid-template-columns:minmax(0,1fr) auto!important;
}
.purchase-receive-scan-row{
    grid-template-columns:minmax(0,1fr) 170px!important;
}
.barcode-control-group.product-barcode-group.no-camera{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) 54px!important;
}
.barcode-control-group.product-barcode-group.no-camera .btn:last-child{
    border-top-right-radius:14px!important;
    border-bottom-right-radius:14px!important;
}
@media(max-width:992px){
    .barcode-scan-box.compact-scan-box,
    .purchase-receive-scan-row{
        grid-template-columns:1fr!important;
    }
    .purchase-receive-scan-row .btn{
        width:100%;
    }
}

/* v34 offline POS mode */
.offline-pos-panel{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:13px 15px;
    margin-bottom:16px;
    border-radius:18px;
    border:1px solid #bbf7d0;
    background:#eff6ff;
    color:#166534;
}
.offline-pos-panel strong,
.offline-pos-panel span{
    display:block;
}
.offline-pos-panel strong{
    font-size:13px;
    font-weight:950;
}
.offline-pos-panel span{
    font-size:12px;
    color:#3f6f4d;
}
.offline-pos-panel.is-offline{
    background:#fff7ed;
    border-color:#fed7aa;
    color:#9a3412;
}
.offline-pos-panel.is-offline span{
    color:#9a3412;
}
.offline-pos-panel.has-pending{
    border-color:#facc15;
}
.offline-sale-modal .offline-icon{
    background:#fff7ed;
    color:#ea580c;
}
.offline-ticket-box{
    margin:0 auto 22px;
    padding:14px 16px;
    border-radius:18px;
    border:1px dashed #f59e0b;
    background:#fffbeb;
    max-width:340px;
}
.offline-ticket-box span,
.offline-ticket-box strong{
    display:block;
}
.offline-ticket-box span{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#92400e;
    font-weight:900;
}
.offline-ticket-box strong{
    font-size:18px;
    color:#78350f;
    font-weight:950;
}
@media(max-width:768px){
    .offline-pos-panel{
        flex-direction:column;
        align-items:stretch;
    }
}

/* v36 offline receipt + auto-sync polish */
.offline-pos-panel.has-pending #syncOfflineSalesBtn{
    border-color:#f59e0b!important;
    color:#92400e!important;
    background:#fffbeb!important;
}
.offline-sale-modal .premium-response-actions .btn{
    min-width:165px;
}

/* v39 clearer POS payment warning */
.pos-balance-due-alert{
    display:block;
    margin:14px auto 0;
    padding:14px 18px;
    border-radius:18px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-size:22px;
    font-weight:950;
    line-height:1.2;
    letter-spacing:-.02em;
}
.premium-response-modal .modal-body p{
    line-height:1.55;
}

/* v40 corrected POS modal text rendering */
.premium-response-modal .modal-body p,
#posResponseMessage{
    white-space:pre-line!important;
    font-size:18px!important;
    line-height:1.65!important;
    color:#475467!important;
    font-weight:700!important;
}

/* v41 readable POS insufficient-payment modal */
.pos-readable-alert{
    max-width:520px;
    margin:0 auto;
    text-align:center;
}
.pos-readable-alert-main{
    font-size:22px;
    line-height:1.2;
    font-weight:950;
    color:#101828;
    letter-spacing:-.03em;
    margin-bottom:8px;
}
.pos-readable-alert-help{
    font-size:16px;
    line-height:1.55;
    color:#667085;
    font-weight:600;
    margin-bottom:18px;
}
.pos-readable-balance-card{
    margin:0 auto;
    padding:18px 20px;
    border-radius:22px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    box-shadow:0 14px 36px rgba(234,88,12,.10);
}
.pos-readable-balance-card span{
    display:block;
    font-size:12px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:950;
    color:#9a3412;
    margin-bottom:8px;
}
.pos-readable-balance-card strong{
    display:block;
    font-size:34px;
    line-height:1.1;
    font-weight:1000;
    color:#7c2d12;
    letter-spacing:-.04em;
}
@media(max-width:576px){
    .pos-readable-alert-main{
        font-size:20px;
    }
    .pos-readable-balance-card strong{
        font-size:28px;
    }
}

/* v42 POS modal action button fix */
.premium-response-modal #posResponseAction.btn-soft{
    background:#eef2f6!important;
    color:#344054!important;
    border-color:#e4e7ec!important;
}
.premium-response-modal #posResponseAction.btn-primary{
    background:#3f9746!important;
    border-color:#3f9746!important;
    color:#fff!important;
}

/* v43 POS modal action alignment and stable receipt action */
.premium-response-modal .premium-response-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    flex-wrap:wrap!important;
    margin-top:24px!important;
}
.premium-response-modal .premium-response-actions .btn{
    min-width:220px!important;
    height:58px!important;
    border-radius:22px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:950!important;
    line-height:1!important;
}
.premium-response-modal #posResponseAction.btn-primary{
    background:#3f9746!important;
    border-color:#3f9746!important;
    color:#fff!important;
    box-shadow:0 16px 36px rgba(63,151,70,.20)!important;
}
.premium-response-modal #posResponseAction.btn-soft{
    background:#eef2f6!important;
    border-color:#e4e7ec!important;
    color:#344054!important;
}
@media(max-width:576px){
    .premium-response-modal .premium-response-actions .btn{
        width:100%!important;
        min-width:0!important;
    }
}

/* v44 final POS alert modal action cleanup */
#posResponseModal .premium-response-actions.single-action,
#posResponseModal .premium-response-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    margin-top:26px!important;
}
#posResponseModal .premium-response-actions .btn{
    min-width:260px!important;
    max-width:360px!important;
    width:auto!important;
    height:60px!important;
    border-radius:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:950!important;
    line-height:1!important;
}
#posResponseModal .premium-response-actions.error-action .btn{
    background:#eef2f6!important;
    border-color:#e4e7ec!important;
    color:#344054!important;
}
#posResponseModal .premium-response-actions.success-action .btn{
    background:#3f9746!important;
    border-color:#3f9746!important;
    color:#fff!important;
    box-shadow:0 16px 36px rgba(63,151,70,.20)!important;
}
#posResponseModal .premium-response-actions.error-action .btn i.bi-receipt{
    display:none!important;
}
@media(max-width:576px){
    #posResponseModal .premium-response-actions .btn{
        width:100%!important;
        min-width:0!important;
    }
}

/* v45 premium module alerts for Record Stock Purchase */
#moduleResponseModal .premium-response-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:26px!important;
}
#moduleResponseModal .premium-response-actions .btn{
    min-width:260px!important;
    max-width:360px!important;
    height:60px!important;
    border-radius:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:950!important;
}
#moduleResponseModal #moduleResponseMessage{
    white-space:pre-line!important;
    font-size:18px!important;
    line-height:1.6!important;
    color:#667085!important;
    font-weight:650!important;
}
#moduleResponseModal #moduleResponseAction.btn-primary{
    background:#3f9746!important;
    border-color:#3f9746!important;
    color:#fff!important;
}
#moduleResponseModal #moduleResponseAction.btn-soft{
    background:#eef2f6!important;
    border-color:#e4e7ec!important;
    color:#344054!important;
}
@media(max-width:576px){
    #moduleResponseModal .premium-response-actions .btn{
        width:100%!important;
        min-width:0!important;
    }
}

/* v46 M-PESA STK Push on POS */
.stk-push-panel{margin-top:16px;padding:16px;border-radius:22px;border:1px solid #bbf7d0;background:#ecfeff;}
.stk-push-copy{margin-bottom:12px;}
.stk-push-copy strong,.stk-push-copy span{display:block;}
.stk-push-copy strong{color:#14532d;font-size:14px;font-weight:950;}
.stk-push-copy span{color:#3f6f4d;font-size:12px;font-weight:650;}
.stk-status{margin-top:12px;padding:11px 12px;border-radius:16px;background:#fff;color:#475467;font-size:12px;font-weight:800;border:1px solid #dcfce7;}
.stk-status.pending{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.stk-status.ok{background:#eff6ff;border-color:#bbf7d0;color:#166534;}
.stk-status.err{background:#fef2f2;border-color:#fecaca;color:#991b1b;}

/* Kenstar v1 premium POS payment methods */
.premium-payment-methods{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:8px;
}
.pay-method-btn{
    border:1px solid #e4e7ec;
    background:#fff;
    border-radius:20px;
    padding:14px 12px;
    min-height:76px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#344054;
    font-weight:950;
    box-shadow:0 10px 26px rgba(16,24,40,.05);
    transition:.18s ease;
}
.pay-method-btn i{
    font-size:22px;
}
.pay-method-btn span{
    font-size:13px;
    line-height:1.15;
}
.pay-method-btn:hover{
    transform:translateY(-1px);
    border-color:#b7e4bd;
}
.pay-method-btn.active{
    border-color:#3f9746;
    background:linear-gradient(135deg,#eff6ff,#ffffff);
    color:#166534;
    box-shadow:0 14px 36px rgba(63,151,70,.14);
}
.stk-customer-phone-panel{
    margin-top:14px;
    padding:14px;
    border-radius:20px;
    border:1px solid #d1fadf;
    background:#f6fef9;
}
.stk-customer-phone-panel .form-control{
    height:54px;
    font-weight:800;
}
#stkPushPanel{
    margin-top:14px!important;
}
@media(max-width:576px){
    .premium-payment-methods{
        grid-template-columns:1fr;
    }
    .pay-method-btn{
        min-height:64px;
        flex-direction:row;
        justify-content:flex-start;
        padding-left:18px;
    }
}

/* Kenstar v1 POS payment layout cleanup */
.premium-payment-methods{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:8px!important;
}
.pay-method-btn{
    min-height:70px!important;
    border-radius:18px!important;
    padding:12px 10px!important;
}
.pay-method-btn i{
    font-size:20px!important;
}
.pay-method-btn span{
    font-size:12px!important;
    line-height:1.15!important;
}
.stk-customer-phone-panel{
    display:none!important;
}
.stk-combined-panel{
    margin-top:14px!important;
    padding:16px!important;
    border-radius:22px!important;
    border:1px solid #bbf7d0!important;
    background:#ecfeff!important;
}
.stk-combined-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:12px!important;
}
.stk-combined-head strong,
.stk-combined-head span{
    display:block!important;
}
.stk-combined-head strong{
    color:#14532d!important;
    font-size:15px!important;
    font-weight:950!important;
    line-height:1.15!important;
}
.stk-combined-head span{
    color:#3f6f4d!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1.35!important;
    margin-top:4px!important;
}
.stk-combined-head i{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    background:#dcfce7!important;
    color:#166534!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:21px!important;
}
.stk-combined-panel .form-label{
    margin-bottom:6px!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    color:#166534!important;
}
.stk-combined-panel .form-control{
    height:52px!important;
    min-height:52px!important;
    border-radius:16px!important;
    font-weight:850!important;
}
.stk-combined-panel .form-text{
    color:#3f6f4d!important;
    font-size:12px!important;
    line-height:1.35!important;
    margin-top:7px!important;
}
.stk-combined-panel #sendStkPushBtn{
    height:54px!important;
    border-radius:18px!important;
    font-weight:950!important;
}
.stk-combined-panel .stk-status{
    margin-top:10px!important;
    border-radius:16px!important;
}
#stkPushPanel.stk-push-panel{
    display:none!important;
}
@media(max-width:1200px){
    .premium-payment-methods{
        grid-template-columns:1fr 1fr!important;
    }
}
@media(max-width:576px){
    .premium-payment-methods{
        grid-template-columns:1fr!important;
    }
    .pay-method-btn{
        min-height:58px!important;
        flex-direction:row!important;
        justify-content:flex-start!important;
    }
}

/* v52 final POS payment layout cleanup */
.pos-payment-grid .payment-method-full-row{
    margin-top:4px!important;
}
.pos-payment-grid .premium-payment-methods{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
}
.pos-payment-grid .pay-method-btn{
    min-height:72px!important;
    border-radius:18px!important;
    flex-direction:row!important;
    justify-content:center!important;
    gap:10px!important;
}
.pos-payment-grid .pay-method-btn i{
    font-size:22px!important;
}
.pos-payment-grid .pay-method-btn span{
    font-size:13px!important;
}
#stkPushPanel.stk-combined-panel{
    display:none;
}
#stkPushPanel.stk-combined-panel{
    margin-top:4px!important;
    padding:16px!important;
}
#stkPushPanel .row{
    align-items:end!important;
}
#stkPushPanel #sendStkPushBtn{
    height:54px!important;
    margin-top:0!important;
    border-radius:18px!important;
}
#stkPushPanel .stk-status{
    margin-top:12px!important;
}
@media(max-width:1200px){
    .pos-payment-grid .premium-payment-methods{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:576px){
    .pos-payment-grid .premium-payment-methods{
        grid-template-columns:1fr!important;
    }
    .pos-payment-grid .pay-method-btn{
        min-height:58px!important;
        justify-content:flex-start!important;
        padding-left:18px!important;
    }
}

/* v55 topbar offline status */
.topbar-actions{
    display:flex;
    align-items:center;
    gap:12px;
}
.topbar-title h4{
    margin:0;
}
.topbar-offline-status{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 10px;
    border-radius:18px;
    background:#eff6ff;
    border:1px solid #bbf7d0;
}
.topbar-online-pill{
    display:flex;
    align-items:center;
    gap:9px;
}
.topbar-online-pill .status-dot{
    width:10px;
    height:10px;
    border-radius:99px;
    background:#16a34a;
    box-shadow:0 0 0 4px rgba(22,163,74,.12);
}
.topbar-online-pill strong{
    display:block;
    font-size:12px;
    line-height:1;
    font-weight:950;
    color:#166534;
}
.topbar-online-pill small{
    display:block;
    margin-top:3px;
    color:#3f6f4d;
    font-size:10px;
    white-space:nowrap;
}
.topbar-offline-status.is-offline{
    background:#fff7ed;
    border-color:#fed7aa;
}
.topbar-offline-status.is-offline .status-dot{
    background:#f97316;
    box-shadow:0 0 0 4px rgba(249,115,22,.14);
}
.topbar-offline-status.is-offline strong,
.topbar-offline-status.is-offline small{
    color:#9a3412;
}
.topbar-offline-status.has-pending{
    border-color:#facc15;
}
.topbar-offline-status #syncOfflineSalesBtn{
    padding:7px 10px;
    min-height:auto;
    font-size:12px;
}

/* v55 premium dashboard */
.premium-dashboard-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:28px;
    border-radius:30px;
    background:
      radial-gradient(circle at top right,rgba(63,151,70,.16),transparent 35%),
      linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;
    box-shadow:0 22px 55px rgba(15,23,42,.18);
    margin-bottom:22px;
}
.premium-dashboard-hero h2{
    margin:8px 0 8px;
    font-size:32px;
    line-height:1.05;
    font-weight:950;
}
.premium-dashboard-hero p{
    margin:0;
    color:#cbd5e1;
    max-width:720px;
}
.dash-kicker{
    display:inline-flex;
    align-items:center;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#bbf7d0;
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.dash-hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.premium-metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.premium-metric-card{
    position:relative;
    overflow:hidden;
    padding:20px;
    border-radius:26px;
    border:1px solid var(--border);
    background:#fff;
    box-shadow:0 18px 46px rgba(15,23,42,.07);
}
.premium-metric-card:after{
    content:"";
    position:absolute;
    right:-34px;
    top:-34px;
    width:120px;
    height:120px;
    border-radius:50%;
    background:rgba(63,151,70,.10);
}
.premium-metric-card .metric-icon{
    width:44px;
    height:44px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    background:#eff6ff;
    color:#166534;
    font-size:20px;
}
.premium-metric-card span{
    display:block;
    color:#667085;
    font-size:12px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.premium-metric-card strong{
    display:block;
    margin:7px 0;
    font-size:27px;
    line-height:1;
    font-weight:1000;
    color:#101828;
}
.premium-metric-card small{
    color:#98a2b3;
    font-size:12px;
    font-weight:650;
}
.premium-metric-card.warning .metric-icon{
    background:#fff7ed;
    color:#c2410c;
}
.premium-metric-card.profit .metric-icon{
    background:#eff6ff;
    color:#1d4ed8;
}
.premium-panel-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:26px;
    box-shadow:0 18px 46px rgba(15,23,42,.06);
    padding:20px;
    height:100%;
}
.panel-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:14px;
}
.panel-head h5{
    margin:0;
    font-weight:950;
}
.panel-head p{
    margin:4px 0 0;
    color:#98a2b3;
    font-size:13px;
}
.panel-head>i{
    width:42px;
    height:42px;
    border-radius:15px;
    background:#f2f4f7;
    color:#344054;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}
.premium-table td{
    vertical-align:middle;
}
.premium-table b,
.premium-table small{
    display:block;
}
.premium-table small{
    color:#98a2b3;
    margin-top:3px;
}
.stock-pill{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#f9fafb;
    border:1px solid #eef2f6;
    font-weight:850;
    color:#344054;
}
.user-status-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.user-status-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    border:1px solid #e4e7ec;
    border-radius:22px;
    background:#fcfcfd;
}
.user-avatar{
    width:44px;
    height:44px;
    border-radius:16px;
    background:#eef2ff;
    color:#3730a3;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
}
.user-status-meta{
    min-width:0;
    flex:1;
}
.user-status-meta strong,
.user-status-meta span,
.user-status-meta small{
    display:block;
}
.user-status-meta strong{
    font-weight:950;
    color:#101828;
}
.user-status-meta span{
    color:#667085;
    font-size:12px;
    font-weight:750;
}
.user-status-meta small{
    color:#98a2b3;
    font-size:11px;
    margin-top:3px;
}
.presence-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:#f2f4f7;
    color:#667085;
    font-size:11px;
    font-weight:950;
}
.presence-pill span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#98a2b3;
}
.user-status-card.online{
    border-color:#bbf7d0;
    background:#ecfeff;
}
.user-status-card.online .presence-pill{
    background:#dcfce7;
    color:#166534;
}
.user-status-card.online .presence-pill span{
    background:#16a34a;
}
@media(max-width:1200px){
    .premium-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .user-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
    .topbar{height:auto;min-height:82px;align-items:flex-start;padding:14px 18px;gap:12px;}
    .topbar-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
    .topbar-offline-status{order:3;width:100%;justify-content:space-between;}
    .premium-dashboard-hero{flex-direction:column;align-items:flex-start;}
    .dash-hero-actions{justify-content:flex-start;}
}
@media(max-width:576px){
    .premium-metric-grid{grid-template-columns:1fr;}
    .user-status-grid{grid-template-columns:1fr;}
    .premium-dashboard-hero{padding:22px;}
    .premium-dashboard-hero h2{font-size:26px;}
}

/* v56 premium navigation upgrade */
.sidebar{
    background:
      radial-gradient(circle at top left,rgba(63,151,70,.22),transparent 30%),
      radial-gradient(circle at bottom right,rgba(34,197,94,.10),transparent 34%),
      linear-gradient(180deg,#08111f 0%,#0f172a 52%,#111827 100%)!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
    box-shadow:18px 0 48px rgba(15,23,42,.18)!important;
}
.brand{
    padding:24px 20px 18px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.brand-icon{
    width:52px!important;
    height:52px!important;
    border-radius:19px!important;
    background:linear-gradient(135deg,#3f9746,#22c55e)!important;
    box-shadow:0 18px 36px rgba(34,197,94,.22)!important;
}
.brand-icon i{
    font-size:25px!important;
}
.brand-name{
    font-size:20px!important;
    letter-spacing:-.03em!important;
}
.brand-name small{
    color:#94a3b8!important;
    font-weight:750!important;
}
.sidebar-user-card{
    margin:16px 16px 12px;
    padding:13px;
    border-radius:22px;
    display:flex;
    align-items:center;
    gap:11px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.sidebar-user-avatar{
    width:42px;
    height:42px;
    border-radius:16px;
    background:linear-gradient(135deg,#eff6ff,#bbf7d0);
    color:#166534;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
    flex:0 0 42px;
}
.sidebar-user-card strong,
.sidebar-user-card span{
    display:block;
}
.sidebar-user-card strong{
    color:#fff;
    font-size:13px;
    font-weight:950;
    line-height:1.15;
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.sidebar-user-card span{
    color:#9ca3af;
    font-size:11px;
    font-weight:800;
    margin-top:4px;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.sidebar nav,
.premium-sidebar-nav{
    padding:0 14px 22px!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
}
.premium-sidebar-nav::-webkit-scrollbar{
    width:6px;
}
.premium-sidebar-nav::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.20);
    border-radius:999px;
}
.nav-section-label{
    margin:18px 10px 8px;
    color:#64748b;
    font-size:10px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.nav-section-bottom{
    margin-top:22px;
}
.sidebar nav a,
.premium-sidebar-nav a{
    position:relative;
    min-height:48px;
    padding:12px 13px!important;
    margin-bottom:7px!important;
    border-radius:17px!important;
    color:#cbd5e1!important;
    background:transparent;
    border:1px solid transparent;
    transition:all .18s ease;
}
.sidebar nav a i,
.premium-sidebar-nav a i{
    width:34px;
    height:34px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.06);
    color:#94a3b8;
    font-size:17px;
    transition:all .18s ease;
}
.sidebar nav a span,
.premium-sidebar-nav a span{
    font-weight:850;
    letter-spacing:-.01em;
}
.sidebar nav a:hover,
.premium-sidebar-nav a:hover{
    transform:translateX(3px);
    background:rgba(255,255,255,.075)!important;
    border-color:rgba(255,255,255,.10);
    color:#fff!important;
}
.sidebar nav a:hover i,
.premium-sidebar-nav a:hover i{
    background:rgba(34,197,94,.16);
    color:#86efac;
}
.sidebar nav a.active,
.premium-sidebar-nav a.active{
    background:linear-gradient(135deg,#3f9746,#16a34a)!important;
    color:#fff!important;
    border-color:rgba(187,247,208,.28)!important;
    box-shadow:0 16px 34px rgba(22,163,74,.24)!important;
}
.sidebar nav a.active:before,
.premium-sidebar-nav a.active:before{
    content:"";
    position:absolute;
    left:-8px;
    top:50%;
    transform:translateY(-50%);
    width:4px;
    height:28px;
    border-radius:999px;
    background:#bbf7d0;
    box-shadow:0 0 16px rgba(187,247,208,.65);
}
.sidebar nav a.active i,
.premium-sidebar-nav a.active i{
    background:rgba(255,255,255,.18);
    color:#fff;
}
.logout-link{
    margin-top:4px!important;
    background:rgba(239,68,68,.08)!important;
    color:#fecaca!important;
    border-color:rgba(248,113,113,.16)!important;
}
.logout-link i{
    background:rgba(239,68,68,.14)!important;
    color:#fecaca!important;
}
.logout-link:hover{
    background:rgba(239,68,68,.16)!important;
    color:#fff!important;
}
.topbar{
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(18px)!important;
    box-shadow:0 10px 35px rgba(15,23,42,.04)!important;
}
.menu-btn{
    border:1px solid #e4e7ec!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
@media(max-width:900px){
    .sidebar{
        box-shadow:22px 0 60px rgba(15,23,42,.30)!important;
    }
    .sidebar-user-card{
        margin-top:12px;
    }
}

/* v57 global premium tables + buttons */
.table,
.premium-data-table{
    margin-bottom:0!important;
}
.table thead th,
.premium-data-table thead th{
    background:#f8fafc!important;
    color:#475467!important;
    font-size:11px!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    font-weight:950!important;
    border-bottom:1px solid #e4e7ec!important;
    padding:13px 14px!important;
}
.table tbody td,
.premium-data-table tbody td{
    padding:14px!important;
    border-bottom:1px solid #eef2f6!important;
    color:#344054!important;
    font-weight:650!important;
}
.table tbody tr,
.premium-data-table tbody tr{
    transition:.15s ease;
}
.table tbody tr:hover,
.premium-data-table tbody tr:hover{
    background:#fcfcfd!important;
}
.table-responsive{
    border-radius:20px!important;
    border:1px solid #eef2f6!important;
    overflow:hidden!important;
    background:#fff!important;
}
.premium-table-pager{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    padding:12px 2px 0;
}
.premium-table-pager span{
    font-size:12px;
    color:#667085;
    font-weight:800;
}
.premium-table-pager .btn{
    width:38px;
    height:38px;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px!important;
}
.btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-shadow:none;
    transition:.16s ease;
}
.btn:hover{
    transform:translateY(-1px);
}
.btn-primary{
    box-shadow:0 12px 28px rgba(63,151,70,.18)!important;
}
.btn-success{
    border:0!important;
    background:linear-gradient(135deg,#16a34a,#22c55e)!important;
    box-shadow:0 12px 28px rgba(22,163,74,.18)!important;
}
.btn-danger{
    border:0!important;
    background:linear-gradient(135deg,#dc2626,#ef4444)!important;
    box-shadow:0 12px 28px rgba(220,38,38,.16)!important;
}
.btn-warning{
    border:0!important;
    background:linear-gradient(135deg,#f59e0b,#fbbf24)!important;
    color:#78350f!important;
    box-shadow:0 12px 28px rgba(245,158,11,.15)!important;
}
.btn-light{
    background:#f8fafc!important;
    border:1px solid #e4e7ec!important;
    color:#344054!important;
}
.action-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    white-space:nowrap;
}

/* v57 reports */
.premium-report-shell{
    display:block;
}
.premium-report-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:26px;
    border-radius:30px;
    background:
      radial-gradient(circle at top right,rgba(34,197,94,.16),transparent 35%),
      linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;
    margin-bottom:18px;
    box-shadow:0 22px 55px rgba(15,23,42,.18);
}
.premium-report-hero h2{
    margin:8px 0;
    font-size:30px;
    line-height:1.05;
    font-weight:950;
}
.premium-report-hero p{
    margin:0;
    color:#cbd5e1;
}
.report-period-pills{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 18px;
}
.report-period-pills a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 14px;
    border-radius:999px;
    border:1px solid #e4e7ec;
    background:#fff;
    color:#475467;
    font-weight:900;
    font-size:13px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.report-period-pills a.active,
.report-period-pills a:hover{
    background:#eff6ff;
    border-color:#86efac;
    color:#166534;
}
.premium-filter-card{
    padding:18px!important;
}
.dashboard-insight-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.dashboard-insight-card{
    display:flex;
    gap:13px;
    padding:17px;
    border-radius:24px;
    border:1px solid #e4e7ec;
    background:#fff;
    box-shadow:0 16px 38px rgba(15,23,42,.05);
}
.dashboard-insight-card .insight-icon{
    width:44px;
    height:44px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfeff;
    color:#166534;
    flex:0 0 44px;
    font-size:20px;
}
.dashboard-insight-card .insight-icon.warning{
    background:#fff7ed;
    color:#c2410c;
}
.dashboard-insight-card .insight-icon.success{
    background:#eff6ff;
    color:#1d4ed8;
}
.dashboard-insight-card .insight-icon.info{
    background:#f5f3ff;
    color:#6d28d9;
}
.dashboard-insight-card span,
.dashboard-insight-card strong,
.dashboard-insight-card small{
    display:block;
}
.dashboard-insight-card span{
    color:#667085;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:11px;
    font-weight:950;
}
.dashboard-insight-card strong{
    color:#101828;
    font-size:17px;
    font-weight:950;
    margin:4px 0 3px;
    line-height:1.15;
}
.dashboard-insight-card small{
    color:#98a2b3;
    font-size:12px;
    font-weight:650;
    line-height:1.35;
}
@media(max-width:1200px){
    .dashboard-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:768px){
    .premium-report-hero{flex-direction:column;align-items:flex-start;}
    .premium-report-hero h2{font-size:26px;}
    .dashboard-insight-grid{grid-template-columns:1fr;}
    .premium-table-pager{justify-content:center;flex-wrap:wrap;}
}

/* v58 Premium POS module */
.premium-pos-shell{
    max-width:1500px;
    margin:0 auto;
}
.pos-premium-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:26px;
    border-radius:32px;
    background:
      radial-gradient(circle at top left,rgba(34,197,94,.22),transparent 33%),
      radial-gradient(circle at bottom right,rgba(59,130,246,.13),transparent 35%),
      linear-gradient(135deg,#0b1220,#111827 55%,#0f172a);
    color:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.22);
    margin-bottom:22px;
    overflow:hidden;
    position:relative;
}
.pos-premium-hero:after{
    content:"";
    position:absolute;
    right:-80px;
    top:-90px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(255,255,255,.07);
}
.pos-premium-hero h2{
    margin:8px 0 7px;
    font-size:34px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.04em;
}
.pos-premium-hero p{
    margin:0;
    color:#cbd5e1;
    max-width:690px;
    font-weight:600;
}
.pos-hero-badges{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
    position:relative;
    z-index:1;
}
.pos-hero-badges span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:10px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.13);
    color:#e5e7eb;
    font-size:12px;
    font-weight:900;
}
.premium-pos-grid{
    align-items:flex-start;
}
.premium-sale-panel,
.premium-checkout-panel{
    border-radius:30px!important;
    border:1px solid #e4e7ec!important;
    box-shadow:0 22px 60px rgba(15,23,42,.08)!important;
    background:#fff!important;
    overflow:hidden;
}
.premium-panel-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    margin-bottom:18px;
    padding-bottom:18px;
    border-bottom:1px solid #eef2f6;
}
.premium-panel-heading span,
.cart-panel-head span{
    display:inline-flex;
    color:#16a34a;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.premium-panel-heading h5,
.cart-panel-head h5{
    margin:4px 0 4px;
    color:#101828;
    font-size:20px;
    font-weight:1000;
    letter-spacing:-.03em;
}
.premium-panel-heading p{
    margin:0;
    color:#98a2b3;
    font-size:13px;
    font-weight:650;
}
.premium-panel-heading>i{
    width:50px;
    height:50px;
    border-radius:18px;
    background:#eff6ff;
    color:#166534;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:23px;
    flex:0 0 50px;
}
.pos-entry-grid{
    display:grid;
    grid-template-columns:0.85fr 1.6fr;
    gap:16px;
}
.pos-entry-card{
    padding:17px;
    border-radius:24px;
    border:1px solid #eef2f6;
    background:linear-gradient(180deg,#fff,#fcfcfd);
}
.scan-entry-card{
    background:
      radial-gradient(circle at top right,rgba(34,197,94,.10),transparent 40%),
      #fff;
}
.entry-card-head{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:13px;
}
.entry-card-head i{
    width:42px;
    height:42px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfeff;
    color:#166534;
    font-size:20px;
}
.entry-card-head strong,
.entry-card-head small{
    display:block;
}
.entry-card-head strong{
    color:#101828;
    font-weight:1000;
    line-height:1.1;
}
.entry-card-head small{
    margin-top:3px;
    color:#98a2b3;
    font-size:12px;
    font-weight:650;
}
.premium-pos-shell .pos-control,
.premium-pos-shell .form-control,
.premium-pos-shell .form-select{
    min-height:52px;
    border-radius:17px;
    font-weight:750;
    border-color:#e4e7ec;
    background:#fff;
}
.premium-pos-shell .barcode-input{
    font-size:15px;
    font-weight:900;
}
.pos-product-preview{
    display:grid;
    grid-template-columns:1.6fr .65fr .8fr;
    gap:10px;
    margin:13px 0 14px;
    padding:12px;
    border-radius:20px;
    border:1px dashed #d0d5dd;
    background:#f9fafb;
}
.pos-product-preview.has-product{
    border-color:#86efac;
    background:#ecfeff;
}
.pos-product-preview span,
.pos-product-preview strong{
    display:block;
}
.pos-product-preview span{
    color:#667085;
    font-size:10px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.pos-product-preview strong{
    color:#101828;
    font-size:13px;
    font-weight:1000;
    margin-top:3px;
    line-height:1.2;
}
.premium-manual-actions{
    display:grid!important;
    grid-template-columns:.75fr .85fr .75fr;
    gap:12px!important;
    align-items:start!important;
}
.quick-qty-buttons{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    margin-top:8px;
}
.quick-qty-buttons button{
    border:1px solid #e4e7ec;
    background:#fff;
    border-radius:11px;
    height:32px;
    font-weight:950;
    color:#475467;
}
.quick-qty-buttons button:hover{
    background:#eff6ff;
    color:#166534;
    border-color:#86efac;
}
.pos-add-btn{
    min-height:52px!important;
    border-radius:18px!important;
    margin-top:0!important;
}
.premium-cart-panel{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid #eef2f6;
}
.cart-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}
.pos-cart-table thead th{
    background:#0f172a!important;
    color:#e5e7eb!important;
    border-bottom:0!important;
}
.pos-cart-table tbody td{
    vertical-align:middle!important;
}
.pos-cart-table tbody td b{
    font-weight:950;
}
.pos-cart-table tbody td small{
    color:#98a2b3;
    display:block;
    margin-top:3px;
}
.pos-cart-empty{
    border:1px dashed #d0d5dd;
    border-radius:22px;
    padding:28px!important;
    background:#f9fafb;
    margin-top:12px;
}
.pos-cart-empty i{
    font-size:38px;
    color:#98a2b3;
    display:block;
    margin-bottom:8px;
}
.pos-cart-empty span,
.pos-cart-empty small{
    display:block;
}
.pos-cart-empty span{
    font-weight:950;
    color:#344054;
}
.pos-cart-empty small{
    color:#98a2b3;
    margin-top:4px;
}
.premium-checkout-panel{
    top:102px!important;
}
.checkout-heading>i{
    background:#eff6ff;
    color:#1d4ed8;
}
.premium-payment-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.premium-payment-buttons .pay-method-btn{
    min-height:66px!important;
    justify-content:flex-start!important;
    padding-left:15px!important;
}
.premium-stk-panel{
    border-radius:24px!important;
    border-color:#86efac!important;
    background:
      radial-gradient(circle at top right,rgba(22,163,74,.11),transparent 35%),
      #ecfeff!important;
}
.premium-total-card{
    margin-top:18px!important;
    border-radius:26px!important;
    overflow:hidden;
    border:1px solid #e4e7ec!important;
    background:#fff!important;
}
.premium-total-card div{
    padding:13px 15px!important;
}
.premium-total-card .grand{
    background:linear-gradient(135deg,#0f172a,#1e293b)!important;
    color:#fff!important;
    margin:0!important;
    border-radius:0!important;
}
.premium-total-card .grand span,
.premium-total-card .grand strong{
    color:#fff!important;
}
.premium-total-card .grand strong{
    font-size:24px!important;
}
.premium-complete-sale-btn{
    min-height:58px!important;
    border-radius:20px!important;
    font-size:16px!important;
    font-weight:1000!important;
}
.remove-cart{
    border-radius:12px!important;
    min-height:34px!important;
}
@media(max-width:1200px){
    .pos-entry-grid{
        grid-template-columns:1fr;
    }
    .premium-checkout-panel{
        position:relative!important;
        top:auto!important;
    }
}
@media(max-width:768px){
    .pos-premium-hero{
        flex-direction:column;
        align-items:flex-start;
        padding:22px;
    }
    .pos-hero-badges{
        justify-content:flex-start;
    }
    .premium-manual-actions{
        grid-template-columns:1fr!important;
    }
    .pos-product-preview{
        grid-template-columns:1fr;
    }
    .premium-payment-buttons{
        grid-template-columns:1fr!important;
    }
}

/* v59 POS compact layout: remove hero space and put scanner on own top row */
.premium-pos-shell{
    margin-top:0!important;
}
.premium-pos-grid{
    margin-top:0!important;
}
.pos-premium-hero{
    display:none!important;
}
.pos-scan-top-row{
    margin-bottom:14px;
}
.pos-scan-top-row .scan-entry-card{
    padding:14px!important;
    border-radius:24px!important;
}
.scan-top-layout{
    display:grid;
    grid-template-columns:minmax(190px,.85fr) minmax(280px,1.7fr) auto;
    gap:12px;
    align-items:center;
}
.scan-top-layout .entry-card-head{
    margin-bottom:0!important;
}
.scan-top-layout .barcode-input{
    min-height:54px!important;
}
.scan-top-layout .scanner-focus-btn{
    min-height:54px!important;
    white-space:nowrap;
    padding-left:18px!important;
    padding-right:18px!important;
}
.manual-entry-full{
    margin-bottom:16px;
}
.premium-cart-panel{
    margin-top:12px!important;
    padding-top:14px!important;
}
.pos-cart-wrap .table-responsive{
    max-height:420px;
    overflow:auto!important;
}
.pos-cart-table tbody td{
    padding-top:12px!important;
    padding-bottom:12px!important;
}
@media(max-width:992px){
    .scan-top-layout{
        grid-template-columns:1fr;
    }
    .scan-top-layout .scanner-focus-btn{
        width:100%;
    }
}

/* v60 POS heading cleanup after removing Step labels */
.premium-sale-panel .premium-panel-heading h5,
.premium-checkout-panel .premium-panel-heading h5,
.premium-cart-panel .cart-panel-head h5{
    margin-top:0!important;
}
.premium-sale-panel .premium-panel-heading,
.premium-checkout-panel .premium-panel-heading{
    align-items:center!important;
}

/* v61 POS total visibility and checkout spacing */
.client-total-display{
    position:relative;
    overflow:hidden;
    margin:0 0 14px;
    padding:22px 20px;
    border-radius:28px;
    background:
      radial-gradient(circle at top right,rgba(34,197,94,.22),transparent 36%),
      linear-gradient(135deg,#08111f,#111827);
    color:#fff;
    box-shadow:0 18px 48px rgba(15,23,42,.18);
    border:1px solid rgba(255,255,255,.10);
}
.client-total-display:after{
    content:"";
    position:absolute;
    right:-45px;
    top:-65px;
    width:170px;
    height:170px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
}
.client-total-display span,
.client-total-display strong,
.client-total-display small{
    display:block;
    position:relative;
    z-index:1;
}
.client-total-display span{
    font-size:12px;
    font-weight:1000;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:#bbf7d0;
}
.client-total-display strong{
    margin-top:6px;
    font-size:38px;
    line-height:1;
    letter-spacing:-.05em;
    font-weight:1000;
    color:#fff;
}
.client-total-display small{
    margin-top:8px;
    color:#cbd5e1;
    font-size:12px;
    font-weight:750;
}
.pos-payment-top{
    margin-bottom:14px;
}
.compact-checkout-grid{
    margin-top:0!important;
}
.discount-mini-wrap .form-control,
.compact-discount-input{
    min-height:46px!important;
    height:46px!important;
}
.customer-details-toggle-wrap{
    margin-top:14px;
}
.customer-toggle-btn{
    justify-content:space-between!important;
    border-radius:18px!important;
    min-height:48px!important;
    font-weight:950!important;
}
.customer-toggle-btn span{
    margin-left:auto;
    font-size:11px;
    font-weight:1000;
    padding:5px 9px;
    border-radius:999px;
    background:#eef2f6;
    color:#667085;
}
.customer-details-panel{
    margin-top:12px;
    padding:14px;
    border:1px solid #eef2f6;
    border-radius:20px;
    background:#f9fafb;
}
.manual-entry-card .entry-card-head:empty,
.manual-entry-card .entry-card-head:not(:has(*)){
    display:none!important;
}
.entry-card-head small:empty,
.entry-card-head div:empty{
    display:none!important;
}
.scan-entry-card .entry-card-head div strong{
    margin-top:0!important;
}
.scan-entry-card .entry-card-head div{
    display:flex;
    align-items:center;
}
@media(max-width:576px){
    .client-total-display strong{
        font-size:31px;
    }
}

/* v62 POS manual product search spacing */
.manual-entry-card .entry-card-head{
    display:none!important;
}
.manual-search-label{
    margin-top:0!important;
}
.manual-entry-card{
    padding-top:18px!important;
}
.manual-entry-full{
    margin-top:0!important;
}

/* v63 attendant dashboard */
.attendant-dashboard-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:28px;
    border-radius:30px;
    background:
      radial-gradient(circle at top right,rgba(59,130,246,.18),transparent 35%),
      linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;
    box-shadow:0 22px 55px rgba(15,23,42,.18);
    margin-bottom:22px;
}
.attendant-dashboard-hero h2{
    margin:8px 0 8px;
    font-size:32px;
    line-height:1.05;
    font-weight:950;
}
.attendant-dashboard-hero p{
    margin:0;
    color:#cbd5e1;
    max-width:720px;
}
.attendant-metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
@media(max-width:1200px){
    .attendant-metric-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:576px){
    .attendant-dashboard-hero{
        flex-direction:column;
        align-items:flex-start;
        padding:22px;
    }
    .attendant-dashboard-hero h2{
        font-size:26px;
    }
    .attendant-metric-grid{
        grid-template-columns:1fr;
    }
}


/* v67 premium authentication pages */
.premium-auth-body{
    min-height:100vh;
    background:
      radial-gradient(circle at 12% 15%,rgba(34,197,94,.18),transparent 30%),
      radial-gradient(circle at 88% 85%,rgba(59,130,246,.14),transparent 34%),
      linear-gradient(135deg,#07111f 0%,#0f172a 48%,#111827 100%);
    font-family:Inter,system-ui,sans-serif;
}
.premium-auth-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:1.08fr .92fr;
}
.premium-auth-showcase{
    position:relative;
    overflow:hidden;
    padding:46px;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.premium-auth-showcase:before{
    content:"";
    position:absolute;
    left:-120px;
    bottom:-160px;
    width:440px;
    height:440px;
    border-radius:50%;
    background:rgba(34,197,94,.10);
}
.premium-auth-showcase:after{
    content:"";
    position:absolute;
    right:70px;
    top:110px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,255,255,.055);
}
.auth-brand{
    display:flex;
    align-items:center;
    gap:14px;
    position:relative;
    z-index:1;
}
.auth-brand-icon{
    width:58px;
    height:58px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#3f9746,#22c55e);
    box-shadow:0 18px 45px rgba(34,197,94,.26);
}
.auth-brand-icon i{
    font-size:27px;
}
.auth-brand-name{
    font-size:22px;
    font-weight:1000;
    letter-spacing:-.04em;
    line-height:1.05;
}
.auth-brand-name small{
    display:block;
    margin-top:6px;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
    letter-spacing:.01em;
}
.auth-showcase-content{
    position:relative;
    z-index:1;
    max-width:760px;
}
.auth-kicker,
.auth-card-kicker{
    display:inline-flex;
    align-items:center;
    padding:7px 11px;
    border-radius:999px;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.auth-kicker{
    background:rgba(255,255,255,.10);
    color:#bbf7d0;
    border:1px solid rgba(255,255,255,.12);
}
.auth-showcase-content h1{
    margin:15px 0 14px;
    font-size:56px;
    line-height:.98;
    font-weight:1000;
    letter-spacing:-.07em;
    max-width:760px;
}
.auth-showcase-content p{
    margin:0;
    color:#cbd5e1;
    font-size:17px;
    line-height:1.65;
    max-width:680px;
}
.auth-feature-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    position:relative;
    z-index:1;
}
.auth-feature-grid div{
    padding:14px;
    border-radius:20px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(10px);
}
.auth-feature-grid i{
    width:38px;
    height:38px;
    border-radius:14px;
    background:rgba(34,197,94,.14);
    color:#86efac;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
    font-size:18px;
}
.auth-feature-grid span{
    display:block;
    color:#e5e7eb;
    font-size:12px;
    font-weight:950;
}
.premium-auth-form-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.96));
}
.premium-auth-card{
    width:100%;
    max-width:455px;
    padding:34px;
    border-radius:32px;
    background:#fff;
    border:1px solid #e4e7ec;
    box-shadow:0 26px 70px rgba(15,23,42,.12);
}
.auth-form-icon{
    width:58px;
    height:58px;
    border-radius:21px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eff6ff;
    color:#166534;
    font-size:26px;
    margin-bottom:18px;
}
.auth-card-kicker{
    background:#ecfeff;
    color:#166534;
}
.premium-auth-card h2{
    margin:12px 0 7px;
    font-size:32px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.04em;
    color:#101828;
}
.premium-auth-card p{
    color:#667085;
    margin-bottom:24px;
    font-weight:650;
}
.auth-input-group{
    margin-bottom:16px;
}
.auth-input-group .form-label{
    font-size:12px;
    font-weight:950;
    color:#344054;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
}
.auth-input-wrap{
    position:relative;
}
.auth-input-wrap i{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#98a2b3;
    font-size:18px;
    z-index:1;
}
.auth-input-wrap .form-control{
    min-height:56px;
    border-radius:18px;
    padding-left:48px;
    font-weight:750;
    background:#fcfcfd;
}
.auth-input-wrap .form-control:focus{
    background:#fff;
    border-color:#86efac;
    box-shadow:0 0 0 .22rem rgba(34,197,94,.12);
}
.auth-submit-btn{
    min-height:56px;
    border-radius:20px!important;
    font-weight:1000!important;
    margin-top:4px;
}
.auth-bottom-link{
    margin-top:18px;
    text-align:center;
}
.auth-bottom-link a{
    color:#166534;
    font-weight:950;
    font-size:13px;
}
.auth-bottom-link a:hover{
    color:#0f3f23;
}
.premium-auth-card .server-message{
    margin-bottom:16px;
}
@media(max-width:1100px){
    .premium-auth-shell{
        grid-template-columns:1fr;
    }
    .premium-auth-showcase{
        min-height:auto;
        padding:34px;
        gap:32px;
    }
    .auth-showcase-content h1{
        font-size:42px;
        max-width:820px;
    }
    .premium-auth-form-wrap{
        padding:30px 20px 44px;
    }
}
@media(max-width:680px){
    .premium-auth-showcase{
        padding:24px;
    }
    .auth-showcase-content h1{
        font-size:34px;
    }
    .auth-feature-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .premium-auth-card{
        padding:24px;
        border-radius:26px;
    }
    .premium-auth-card h2{
        font-size:28px;
    }
}

/* v69 premium staff management */
.staff-admin-shell{
    max-width:1500px;
    margin:0 auto;
}
.staff-hero-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:28px;
    border-radius:32px;
    background:
      radial-gradient(circle at top right,rgba(34,197,94,.18),transparent 34%),
      linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;
    box-shadow:0 22px 58px rgba(15,23,42,.18);
    margin-bottom:18px;
}
.staff-hero-card h2{
    margin:8px 0;
    font-size:34px;
    line-height:1.05;
    font-weight:1000;
    letter-spacing:-.05em;
}
.staff-hero-card p{
    margin:0;
    max-width:760px;
    color:#cbd5e1;
    font-weight:650;
}
.staff-metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:16px;
}
.staff-metric-card{
    display:flex;
    align-items:center;
    gap:13px;
    padding:17px;
    border-radius:24px;
    background:#fff;
    border:1px solid #e4e7ec;
    box-shadow:0 14px 40px rgba(15,23,42,.06);
}
.staff-metric-card i{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    background:#f2f4f7;
    color:#475467;
    font-size:21px;
    flex:0 0 46px;
}
.staff-metric-card.active i{background:#eff6ff;color:#166534;}
.staff-metric-card.admin i{background:#eff6ff;color:#1d4ed8;}
.staff-metric-card.online i{background:#ecfeff;color:#16a34a;}
.staff-metric-card span,
.staff-metric-card strong{
    display:block;
}
.staff-metric-card span{
    color:#667085;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.staff-metric-card strong{
    color:#101828;
    font-size:25px;
    font-weight:1000;
    line-height:1;
    margin-top:4px;
}
.staff-form-card,
.staff-list-card{
    background:#fff;
    border:1px solid #e4e7ec;
    border-radius:30px;
    box-shadow:0 18px 50px rgba(15,23,42,.07);
    padding:22px;
}
.staff-card-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding-bottom:16px;
    border-bottom:1px solid #eef2f6;
    margin-bottom:18px;
}
.staff-card-head h5{
    margin:0 0 5px;
    color:#101828;
    font-weight:1000;
    letter-spacing:-.03em;
}
.staff-card-head p{
    margin:0;
    color:#98a2b3;
    font-size:13px;
    font-weight:650;
}
.staff-card-head>i{
    width:48px;
    height:48px;
    border-radius:18px;
    background:#eff6ff;
    color:#166534;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
}
.staff-count-pill{
    padding:8px 12px;
    border-radius:999px;
    background:#f2f4f7;
    color:#475467;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.staff-form-card .form-control,
.staff-form-card .form-select,
.premium-staff-modal .form-control,
.premium-staff-modal .form-select{
    min-height:50px;
    border-radius:16px;
    font-weight:750;
}
.staff-person-cell{
    display:flex;
    align-items:center;
    gap:12px;
}
.staff-avatar{
    width:42px;
    height:42px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#0f172a,#334155);
    color:#fff;
    font-weight:1000;
}
.staff-person-cell b,
.staff-person-cell small{
    display:block;
}
.staff-person-cell b{
    color:#101828;
    font-weight:1000;
}
.staff-person-cell small{
    color:#667085;
    margin-top:3px;
}
.role-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:1000;
}
.role-pill.admin{background:#eff6ff;color:#1d4ed8;}
.role-pill.attendant{background:#ecfeff;color:#166534;}
.presence-dot-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    background:#f2f4f7;
    color:#667085;
    font-size:12px;
    font-weight:850;
}
.presence-dot-pill span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#98a2b3;
}
.presence-dot-pill.online{
    background:#eff6ff;
    color:#166534;
}
.presence-dot-pill.online span{background:#22c55e;}
.premium-staff-modal .modal-content,
.premium-staff-modal{
    border-radius:28px;
    border:0;
}
.modal-kicker{
    color:#16a34a;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.10em;
}
@media(max-width:1200px){
    .staff-metric-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:768px){
    .staff-hero-card,
    .staff-card-head,
    .staff-list-head{
        flex-direction:column;
        align-items:flex-start;
    }
    .staff-metric-grid{
        grid-template-columns:1fr;
    }
}

/* v70 cash drawer and daily closing */
.cash-closing-hero{
    padding:28px;
    border-radius:32px;
    background:
      radial-gradient(circle at top right,rgba(34,197,94,.18),transparent 34%),
      linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;
    box-shadow:0 22px 58px rgba(15,23,42,.18);
}
.cash-closing-hero h2{
    margin:8px 0;
    font-size:32px;
    line-height:1.05;
    font-weight:1000;
    letter-spacing:-.05em;
}
.cash-closing-hero p{
    color:#cbd5e1;
    margin:0;
}
.cash-closing-hero .form-label{
    color:#e5e7eb;
}
.cash-closing-hero .form-control{
    min-height:50px;
    border-radius:16px;
}
.cash-drawer-card{
    background:#fff;
    border:1px solid #e4e7ec;
    border-radius:28px;
    padding:22px;
    box-shadow:0 18px 50px rgba(15,23,42,.07);
    height:100%;
}
.cash-drawer-card h5{
    font-weight:1000;
    color:#101828;
    letter-spacing:-.03em;
}
.cash-drawer-card p{
    color:#667085;
    font-weight:650;
    font-size:13px;
}
.cash-drawer-card .form-control,
.cash-drawer-card .form-select{
    min-height:50px;
    border-radius:16px;
    font-weight:750;
}
.cash-warning-card{
    display:flex;
    gap:14px;
    padding:18px;
    border-radius:24px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
}
.cash-warning-card>i{
    width:42px;
    height:42px;
    border-radius:16px;
    background:#ffedd5;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    flex:0 0 42px;
}
.cash-warning-card h5{
    font-weight:1000;
    margin-bottom:3px;
}
.cash-warning-card p{
    margin:0;
    font-weight:650;
}
.closing-expected-box{
    padding:16px;
    border-radius:20px;
    background:#ecfeff;
    border:1px solid #bbf7d0;
    margin-bottom:16px;
}
.closing-expected-box span,
.closing-expected-box strong{
    display:block;
}
.closing-expected-box span{
    color:#166534;
    font-size:12px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.closing-expected-box strong{
    color:#052e16;
    font-size:26px;
    font-weight:1000;
}

/* v71 POS cash drawer polish and reports */
.pos-drawer-status{
    display:flex;
    gap:12px;
    align-items:center;
    padding:13px 14px;
    border-radius:20px;
    border:1px solid #e4e7ec;
    background:#f8fafc;
    margin-bottom:13px;
}
.pos-drawer-status>div:first-child{
    width:42px;
    height:42px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
}
.pos-drawer-status.open{
    border-color:#bbf7d0;
    background:#ecfeff;
}
.pos-drawer-status.open>div:first-child{
    background:#dcfce7;
    color:#166534;
}
.pos-drawer-status.closed,
.pos-drawer-status.needs-cash{
    border-color:#fed7aa;
    background:#fff7ed;
}
.pos-drawer-status.closed>div:first-child,
.pos-drawer-status.needs-cash>div:first-child{
    background:#ffedd5;
    color:#9a3412;
}
.pos-drawer-status strong,
.pos-drawer-status span{
    display:block;
}
.pos-drawer-status strong{
    color:#101828;
    font-weight:1000;
    line-height:1.1;
}
.pos-drawer-status span{
    color:#667085;
    font-size:12px;
    font-weight:750;
    margin-top:3px;
}
.split-payment-guide{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding:11px;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid #e4e7ec;
}
.split-payment-guide div{
    padding:10px;
    background:#fff;
    border-radius:15px;
    border:1px solid #eef2f6;
}
.split-payment-guide span,
.split-payment-guide strong{
    display:block;
}
.split-payment-guide span{
    color:#667085;
    font-size:10px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.split-payment-guide strong{
    color:#101828;
    font-size:14px;
    font-weight:1000;
    margin-top:3px;
}
.premium-total-card .change-row{
    background:#ecfeff;
}
.premium-total-card .change-row span,
.premium-total-card .change-row strong{
    color:#166534!important;
}
.report-export-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
@media(max-width:768px){
    .split-payment-guide{
        grid-template-columns:1fr;
    }
    .report-export-actions{
        justify-content:flex-start;
    }
}

/* v70 Kenstar Minimart Kopano blue-cyan theme + title spacing */
:root{
    --primary:#2563eb;
    --primary2:#06b6d4;
    --primary3:#60a5fa;
    --ink:#0f172a;
    --muted:#64748b;
    --border:#dbeafe;
    --bg:#f4f8fc;
    --card:#fff;
    --dark:#111827;
    --field-focus:#06b6d4;
}
body{background:var(--bg)!important;color:var(--ink)!important;}
body,
.form-control,
.form-select,
.btn,
.table,
.modal-content{letter-spacing:-.005em;}

/* Better readable title spacing across the system */
.topbar h4,
.cardx>h5,
.cardx h5,
.panel-head h5,
.premium-panel-heading h5,
.cart-panel-head h5,
.staff-card-head h5,
.premium-auth-card h2,
.auth-showcase-content h1,
.premium-dashboard-hero h2,
.attendant-dashboard-hero h2,
.staff-hero-card h2,
.premium-report-hero h2,
.pos-premium-hero h2,
.pos-header-card h3,
.premium-response-modal h4,
#posResponseTitle,
#moduleResponseTitle{
    line-height:1.16!important;
    letter-spacing:-.025em!important;
    word-spacing:.04em!important;
}
.auth-showcase-content h1{
    line-height:1.10!important;
    letter-spacing:-.045em!important;
    max-width:780px!important;
    margin:18px 0 18px!important;
}
.premium-auth-card h2{
    margin:14px 0 10px!important;
    line-height:1.14!important;
}
.premium-auth-card p,
.auth-showcase-content p,
.premium-dashboard-hero p,
.attendant-dashboard-hero p,
.staff-hero-card p,
.premium-report-hero p,
.premium-panel-heading p,
.panel-head p{
    line-height:1.65!important;
}
.auth-brand-name,
.brand-name{
    line-height:1.16!important;
}
.cardx>h5,
.cardx h5{
    margin-bottom:22px!important;
}
.topbar-title small,
.topbar small{
    line-height:1.45!important;
}

/* Main Kopano blue-cyan theme surfaces */
.sidebar{
    background:
      radial-gradient(circle at top left,rgba(6,182,212,.30),transparent 32%),
      radial-gradient(circle at bottom right,rgba(37,99,235,.22),transparent 36%),
      linear-gradient(180deg,#081120 0%,#0f2847 52%,#030712 100%)!important;
    border-right:1px solid rgba(255,255,255,.10)!important;
}
.brand-icon,
.auth-brand-icon{
    background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
    box-shadow:0 18px 42px rgba(6,182,212,.28)!important;
}
.sidebar-user-avatar{
    background:linear-gradient(135deg,#eff6ff,#bae6fd)!important;
    color:#1d4ed8!important;
}
.sidebar nav a:hover i,
.premium-sidebar-nav a:hover i{
    background:rgba(6,182,212,.18)!important;
    color:#7dd3fc!important;
}
.sidebar nav a.active,
.premium-sidebar-nav a.active{
    background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
    border-color:rgba(251,207,232,.35)!important;
    box-shadow:0 16px 34px rgba(6,182,212,.28)!important;
}
.sidebar nav a.active:before,
.premium-sidebar-nav a.active:before{
    background:#bae6fd!important;
    box-shadow:0 0 16px rgba(251,207,232,.75)!important;
}

.topbar{
    background:rgba(255,255,255,.92)!important;
    border-bottom:1px solid #f8dce9!important;
}
.cardx,
.metric,
.premium-panel-card,
.premium-sale-panel,
.premium-checkout-panel,
.staff-form-card,
.staff-list-card,
.premium-metric-card,
.dashboard-insight-card,
.staff-metric-card{
    border-color:#dbeafe!important;
    box-shadow:0 18px 48px rgba(37,99,235,.07)!important;
}

.btn-primary,
.action-chip.chip-primary,
.auth-submit-btn{
    background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
    border-color:#2563eb!important;
    color:#fff!important;
    box-shadow:0 14px 32px rgba(6,182,212,.24)!important;
}
.btn-primary:hover,
.auth-submit-btn:hover{
    background:linear-gradient(135deg,#1d4ed8,#0891b2)!important;
}
.btn-success{
    background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
    box-shadow:0 12px 28px rgba(6,182,212,.22)!important;
}
.btn-soft,
.btn-light{
    background:#f8fafc!important;
    border-color:#dbeafe!important;
    color:#1e3a5f!important;
}
.form-control:focus,
.form-select:focus,
.auth-input-wrap .form-control:focus,
.select2-container--default.select2-container--focus .select2-selection--single{
    border-color:#06b6d4!important;
    box-shadow:0 0 0 .22rem rgba(6,182,212,.14)!important;
}

/* Auth/login/reset pages */
.premium-auth-body{
    background:
      radial-gradient(circle at 12% 15%,rgba(6,182,212,.23),transparent 30%),
      radial-gradient(circle at 88% 85%,rgba(96,165,250,.18),transparent 34%),
      linear-gradient(135deg,#081120 0%,#0f2847 48%,#030712 100%)!important;
}
.premium-auth-showcase:before{background:rgba(6,182,212,.14)!important;}
.auth-kicker{
    color:#bae6fd!important;
    border-color:rgba(251,207,232,.25)!important;
}
.auth-card-kicker,
.auth-form-icon,
.premium-panel-heading>i,
.entry-card-head i,
.pos-panel-title i,
.premium-metric-card .metric-icon,
.staff-card-head>i{
    background:#eff6ff!important;
    color:#2563eb!important;
}
.auth-feature-grid i{
    background:rgba(6,182,212,.18)!important;
    color:#bae6fd!important;
}
.auth-bottom-link a{color:#2563eb!important;}
.auth-bottom-link a:hover{color:#1d4ed8!important;}

/* Hero cards and dashboards */
.premium-dashboard-hero,
.attendant-dashboard-hero,
.staff-hero-card,
.premium-report-hero,
.pos-premium-hero,
.client-total-display{
    background:
      radial-gradient(circle at top right,rgba(6,182,212,.22),transparent 36%),
      radial-gradient(circle at bottom left,rgba(251,207,232,.10),transparent 38%),
      linear-gradient(135deg,#081120,#111827 58%,#030712)!important;
    box-shadow:0 22px 58px rgba(74,18,49,.22)!important;
}
.dash-kicker,
.auth-kicker,
.client-total-display span{
    color:#bae6fd!important;
}
.premium-metric-card:after{background:rgba(6,182,212,.10)!important;}
.premium-metric-card .metric-icon,
.dashboard-insight-card .insight-icon,
.staff-metric-card.active i,
.staff-metric-card.online i{
    background:#eff6ff!important;
    color:#2563eb!important;
}
.premium-metric-card.profit .metric-icon,
.dashboard-insight-card .insight-icon.success,
.staff-metric-card.admin i{
    background:#f5f3ff!important;
    color:#7c3aed!important;
}

/* POS and payment controls */
.sale-total,
.pos-product-preview.has-product,
.premium-stk-panel,
.stk-push-panel,
.stk-combined-panel,
.offline-pos-panel,
.topbar-offline-status,
.user-status-card.online{
    background:linear-gradient(135deg,#ecfeff,#fff)!important;
    border-color:#7dd3fc!important;
}
.sale-total span,
.sale-total strong,
.pos-totals-card .grand span,
.pos-totals-card .grand strong,
.premium-panel-heading span,
.cart-panel-head span,
.report-period-pills a.active,
.report-period-pills a:hover{
    color:#2563eb!important;
}
.pay-method-btn:hover,
.pay-method-btn.active{
    border-color:#7dd3fc!important;
    background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
    color:#2563eb!important;
    box-shadow:0 14px 36px rgba(6,182,212,.16)!important;
}
.premium-total-card .grand{
    background:linear-gradient(135deg,#081120,#111827)!important;
}
#posResponseModal .premium-response-actions.success-action .btn,
.premium-response-modal #posResponseAction.btn-primary,
#moduleResponseModal #moduleResponseAction.btn-primary{
    background:#2563eb!important;
    border-color:#2563eb!important;
    box-shadow:0 16px 36px rgba(6,182,212,.22)!important;
}

/* Badges, status pills and matrix */
.badge-success-soft,
.role-pill.attendant,
.presence-pill,
.presence-dot-pill,
.matrix-check input:checked + span{
    background:#eff6ff!important;
    color:#2563eb!important;
    border-color:#7dd3fc!important;
}
.matrix-check input:checked + span:before{background:#2563eb!important;}
.matrix-group-row td{
    background:#eff6ff!important;
    color:#2563eb!important;
}
.stock-pill,
.staff-count-pill{
    background:#f8fafc!important;
    border-color:#dbeafe!important;
    color:#1e3a5f!important;
}

/* Tables and filters */
.table thead th,
.premium-data-table thead th,
.pos-cart-table thead th{
    background:#111827!important;
    color:#fff!important;
}
.table-responsive{
    border-color:#dbeafe!important;
}
.report-period-pills a.active,
.report-period-pills a:hover{
    background:#eff6ff!important;
    border-color:#7dd3fc!important;
}

/* Receipt/alert modals */
.premium-response-icon{
    background:#eff6ff!important;
    color:#2563eb!important;
    box-shadow:0 18px 34px rgba(6,182,212,.16)!important;
}
.server-feedback.is-success{
    background:#eff6ff!important;
    color:#2563eb!important;
}
.submit-progress-bar{
    background:linear-gradient(90deg,#2563eb,#06b6d4)!important;
}

@media(max-width:680px){
    .auth-showcase-content h1{
        font-size:33px!important;
        line-height:1.13!important;
    }
    .premium-auth-card h2{
        line-height:1.16!important;
    }
}


/* Kenstar auth footer / powered by strip */
.auth-powered-by{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    padding:13px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(12px);
    box-shadow:0 18px 55px rgba(15,23,42,.18);
}
.auth-powered-by a{
    color:#fff!important;
    font-weight:900;
    font-size:13px;
    letter-spacing:.015em;
    text-decoration:none;
}
.auth-powered-by a:hover{
    color:#bae6fd!important;
}
.auth-showcase-content p{
    font-weight:850;
    color:#e0f2fe!important;
}
@media(max-width:991px){
    .auth-powered-by{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}

/* v5 success states: keep success responses and labels green, not blue */
:root{
    --success:#16a34a;
    --success-dark:#166534;
    --success-soft:#dcfce7;
    --success-border:#bbf7d0;
}
.text-success,
#paymentBalance.text-success{
    color:var(--success-dark)!important;
}
.server-feedback.is-success{
    background:var(--success-soft)!important;
    color:var(--success-dark)!important;
    border:1px solid var(--success-border)!important;
}
.server-feedback.is-success .server-feedback-icon{
    background:#f0fdf4!important;
    color:var(--success)!important;
}
.premium-response-icon.ok,
#posResponseIcon.ok,
#moduleResponseIcon.ok{
    background:var(--success-soft)!important;
    color:var(--success)!important;
    box-shadow:0 18px 34px rgba(22,163,74,.16)!important;
}
.premium-response-icon.ok + h4,
#posResponseIcon.ok + h4,
#moduleResponseIcon.ok + h4{
    color:var(--success-dark)!important;
}
#posResponseModal .premium-response-actions.success-action .btn,
.premium-response-modal #posResponseAction.btn-primary,
#moduleResponseModal #moduleResponseAction.btn-primary{
    background:linear-gradient(135deg,#16a34a,#22c55e)!important;
    border-color:#16a34a!important;
    color:#fff!important;
    box-shadow:0 16px 36px rgba(22,163,74,.22)!important;
}
.badge-success-soft,
.premium-badge.badge-success-soft{
    background:var(--success-soft)!important;
    color:var(--success-dark)!important;
    border-color:var(--success-border)!important;
}
.dashboard-insight-card .insight-icon.success{
    background:var(--success-soft)!important;
    color:var(--success)!important;
}


/* v8 purchases alignment fix - Kenstar POS */
.purchase-page-shell > .row.g-4{
    align-items:flex-start!important;
}
.purchase-form-column,
.purchase-history-column{
    min-width:0!important;
}
.purchase-card,
.purchase-card form{
    max-width:100%!important;
}
.purchase-card .panel-head{
    align-items:flex-start!important;
    gap:14px!important;
}
.purchase-card .panel-head h5,
.purchase-history-column .panel-head h5{
    line-height:1.25!important;
    letter-spacing:-.02em!important;
    margin-bottom:8px!important;
}
.purchase-card .panel-head p,
.purchase-history-column .panel-head p{
    line-height:1.55!important;
    margin-bottom:0!important;
}
.purchase-top-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:16px!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
}
.purchase-top-grid .purchase-top-field:first-child{
    grid-column:1 / -1!important;
}
.purchase-top-field,
.purchase-product-box,
.purchase-receive-scan-row,
.purchase-actions-row,
.purchase-items-wrap,
.premium-total-card{
    max-width:100%!important;
    min-width:0!important;
}
.purchase-top-field .form-control,
.purchase-top-field .form-select,
.purchase-top-field .select2-container,
.purchase-top-field .select2-selection,
.purchase-product-box .select2-container,
.purchase-product-box .select2-selection{
    max-width:100%!important;
    min-width:0!important;
    width:100%!important;
}
.purchase-receive-scan-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(150px,180px)!important;
    gap:14px!important;
    align-items:end!important;
    width:100%!important;
    overflow:hidden!important;
}
.purchase-receive-scan-row .form-control,
.purchase-receive-scan-row .btn{
    width:100%!important;
    min-width:0!important;
}
.purchase-product-box{
    padding:16px!important;
    overflow:hidden!important;
}
.purchase-actions-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:14px!important;
    align-items:end!important;
    justify-content:stretch!important;
    width:100%!important;
}
.purchase-add-field{
    grid-column:1 / -1!important;
    max-width:none!important;
    width:100%!important;
}
.purchase-add-field .invisible-label{
    display:none!important;
}
.purchase-field .form-control,
.purchase-field .btn{
    width:100%!important;
    min-width:0!important;
}
.purchase-field .btn{
    padding-left:16px!important;
    padding-right:16px!important;
}
.purchase-items-wrap{
    overflow-x:auto!important;
    border-radius:18px!important;
}
.purchase-items-wrap .premium-table{
    min-width:520px!important;
    margin-bottom:0!important;
}
.purchase-history-column .table-responsive{
    overflow-x:auto!important;
    border-radius:18px!important;
}
.purchase-history-column .premium-table{
    min-width:760px!important;
}
.premium-total-card .grand{
    gap:14px!important;
    flex-wrap:wrap!important;
}
.premium-total-card .grand strong{
    margin-left:auto!important;
    white-space:nowrap!important;
}
@media(max-width:1399.98px){
    .purchase-card{
        padding:24px!important;
    }
    .purchase-product-box,
    .purchase-receive-scan-row{
        padding:14px!important;
    }
}
@media(max-width:767.98px){
    .purchase-top-grid,
    .purchase-actions-row,
    .purchase-receive-scan-row{
        grid-template-columns:1fr!important;
    }
    .purchase-card{
        padding:20px!important;
    }
    .premium-total-card .grand strong{
        margin-left:0!important;
        width:100%!important;
        text-align:left!important;
    }
}


/* v10 POS sale layout fix + optional cash drawer for Kenstar */
.premium-pos-shell{
    max-width:1580px!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
.premium-pos-grid{
    --bs-gutter-x:2rem!important;
    --bs-gutter-y:2rem!important;
    align-items:flex-start!important;
}
.premium-pos-grid > [class*="col-"]{
    min-width:0!important;
}
.checkout-form-column,
.premium-pos-grid .checkout-form-column{
    min-width:0!important;
}
.premium-sale-panel,
.premium-checkout-panel{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
}
.premium-sale-panel{
    padding:22px!important;
}
.premium-checkout-panel{
    padding:22px!important;
}
.scan-top-layout{
    grid-template-columns:minmax(170px,.8fr) minmax(240px,1.35fr) minmax(170px,.75fr)!important;
    width:100%!important;
}
.scan-top-layout .entry-card-head{
    min-width:0!important;
}
.scan-top-layout .entry-card-head strong{
    line-height:1.08!important;
}
.scan-top-layout .barcode-input,
.scan-top-layout .scanner-focus-btn{
    width:100%!important;
    max-width:100%!important;
}
.manual-product-actions.premium-manual-actions{
    grid-template-columns:minmax(150px,.78fr) minmax(180px,.9fr) minmax(190px,.85fr)!important;
    width:100%!important;
}
.manual-product-actions .manual-field,
.manual-product-actions .pos-control,
.manual-product-actions .pos-add-btn{
    min-width:0!important;
}
.pos-cart-wrap .table-responsive,
.premium-cart-panel .table-responsive{
    width:100%!important;
    overflow-x:auto!important;
}
.pos-drawer-status.drawer-optional{
    background:linear-gradient(135deg,#f0fdf4,#ffffff)!important;
    border-color:#bbf7d0!important;
}
.pos-drawer-status.drawer-optional>div:first-child{
    background:#dcfce7!important;
    color:#16a34a!important;
}
.pos-drawer-status.drawer-optional strong{
    color:#166534!important;
}
.pos-drawer-status.drawer-optional span{
    color:#475467!important;
}
@media(max-width:1399px){
    .scan-top-layout{
        grid-template-columns:1fr!important;
    }
    .scan-top-layout .scanner-focus-btn{
        justify-content:center!important;
    }
    .manual-product-actions.premium-manual-actions{
        grid-template-columns:1fr 1fr!important;
    }
    .manual-product-actions .add-field{
        grid-column:1 / -1!important;
    }
}
@media(max-width:1199px){
    .premium-checkout-panel{
        position:relative!important;
        top:auto!important;
    }
}
@media(max-width:767px){
    .premium-sale-panel,
    .premium-checkout-panel{
        padding:18px!important;
        border-radius:24px!important;
    }
    .manual-product-actions.premium-manual-actions{
        grid-template-columns:1fr!important;
    }
    .manual-product-actions .add-field{
        grid-column:auto!important;
    }
    .cart-panel-head{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
}


/* v11 POS sale layout correction - force payment panel beside product/cart panel */
@media (min-width:1200px){
    .premium-pos-grid > .col-xl-7{
        flex:0 0 auto!important;
        width:58.33333333%!important;
        max-width:58.33333333%!important;
    }
    .premium-pos-grid > .checkout-form-column{
        flex:0 0 auto!important;
        width:41.66666667%!important;
        max-width:41.66666667%!important;
    }
}
.premium-pos-grid > .purchase-form-column{
    width:auto!important;
}
.premium-checkout-panel{
    position:sticky!important;
}
@media (max-width:1199px){
    .premium-pos-grid > .col-xl-7,
    .premium-pos-grid > .checkout-form-column{
        width:100%!important;
        max-width:100%!important;
    }
    .premium-checkout-panel{
        position:relative!important;
        top:auto!important;
    }
}

/* v13 dashboard low-stock label cleanup */
.low-stock-list{
    display:flex;
    flex-direction:column;
    border:1px solid #dbeafe;
    border-radius:24px;
    overflow:hidden;
    background:#fff;
}
.low-stock-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:18px;
    padding:18px 20px;
    border-bottom:1px solid #edf2f7;
}
.low-stock-row:last-child{
    border-bottom:none;
}
.low-stock-product{
    min-width:0;
}
.low-stock-product strong,
.low-stock-product small{
    display:block;
}
.low-stock-product strong{
    color:#344054;
    font-size:17px;
    font-weight:950;
    line-height:1.25;
    letter-spacing:-.025em;
}
.low-stock-product small{
    margin-top:5px;
    color:#98a2b3;
    font-size:13px;
    font-weight:850;
}
.low-stock-pill{
    min-width:88px!important;
    height:38px!important;
    padding:0 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    line-height:1!important;
    font-weight:950!important;
    background:#f8fafc!important;
    border:1px solid #dbeafe!important;
    color:#1e3a5f!important;
}
.low-stock-pill .stock-qty,
.low-stock-pill .stock-unit{
    display:inline!important;
    white-space:nowrap!important;
    line-height:1!important;
}
.low-stock-pill .stock-qty{
    font-size:16px;
    letter-spacing:-.02em;
}
.low-stock-pill .stock-unit{
    font-size:13px;
}
.low-stock-reorder{
    min-height:34px!important;
    padding:0 14px!important;
    display:inline-flex!important;
    align-items:center!important;
}
@media(max-width:720px){
    .low-stock-row{
        grid-template-columns:minmax(0,1fr) auto;
        gap:12px;
        padding:16px;
    }
    .low-stock-reorder{
        grid-column:2;
        justify-self:end;
    }
    .low-stock-product strong{
        font-size:16px;
    }
}
@media(max-width:460px){
    .low-stock-row{
        grid-template-columns:1fr;
        align-items:flex-start;
    }
    .low-stock-pill,
    .low-stock-reorder{
        justify-self:start;
    }
}


/* v14 Inventory Dashboard + Product Filters */
.products-filter-bar{
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,241,247,.78));
  border: 1px solid rgba(6,182,212,.12);
  border-radius: 22px;
  padding: 14px;
}
.inventory-hero{
  background: linear-gradient(135deg,#fff 0%,#ecfeff 50%,#ffe4ef 100%);
  border: 1px solid rgba(6,182,212,.14);
  border-radius: 28px;
  padding: 28px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 22px 50px rgba(37,99,235,.08);
}
.inventory-hero h2{margin: 8px 0 8px;font-weight: 900;color: #111827;letter-spacing: -.04em;}
.inventory-hero p{max-width: 740px;margin: 0;color: #667085;line-height: 1.6;}
.inventory-metric-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 16px;
}
.inventory-health-card .panel-head{margin-bottom: 18px;}
.health-score{display:flex;align-items:flex-end;gap:10px;margin-bottom: 12px;}
.health-score strong{font-size: 44px;line-height: .9;font-weight: 900;color: #16a34a;letter-spacing: -.05em;}
.health-score span{color:#667085;font-weight:700;padding-bottom:6px;}
.premium-progress{height: 12px;border-radius: 999px;background: #f3f4f6;overflow:hidden;}
.premium-progress .progress-bar{background: linear-gradient(90deg,#16a34a,#22c55e);border-radius:999px;}
.health-split{display:grid;grid-template-columns: repeat(3,1fr);gap: 10px;}
.health-split div{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:12px;text-align:center;}
.health-split b{display:block;font-size:20px;color:#111827;}
.health-split span{display:block;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
@media (max-width: 1400px){.inventory-metric-grid{grid-template-columns: repeat(3,minmax(0,1fr));}}
@media (max-width: 992px){.inventory-hero{flex-direction:column;align-items:flex-start}.inventory-metric-grid{grid-template-columns: repeat(2,minmax(0,1fr));}}
@media (max-width: 576px){.inventory-metric-grid{grid-template-columns: 1fr}.inventory-hero{padding:20px}.dash-hero-actions{width:100%;display:grid;gap:10px}.dash-hero-actions .btn{width:100%;}}

/* v15 Redesigned Inventory Dashboard */
.inventory-hero-redesigned{
    align-items:flex-start;
    padding:30px;
    background:
        radial-gradient(circle at top right, rgba(6,182,212,.22), transparent 34%),
        linear-gradient(135deg,#ffffff 0%,#ecfeff 58%,#ffe4ef 100%);
}
.inventory-hero-copy h2{
    font-size:clamp(28px,3vw,42px);
    line-height:1.02;
    margin:8px 0 10px;
}
.inventory-hero-actions{
    flex-shrink:0;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.inventory-overview-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
    align-items:start;
}
.inventory-main-stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.inventory-stat-card{
    min-height:132px;
    background:#fff;
    border:1px solid rgba(234,220,240,.95);
    border-radius:24px;
    padding:18px;
    display:flex;
    align-items:flex-start;
    gap:14px;
    box-shadow:0 18px 40px rgba(15,23,42,.045);
    position:relative;
    overflow:hidden;
}
.inventory-stat-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-58px;
    top:-62px;
    border-radius:50%;
    background:rgba(6,182,212,.08);
}
.inventory-stat-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:21px;
    flex:0 0 48px;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    box-shadow:0 14px 28px rgba(37,99,235,.18);
}
.inventory-stat-card.stat-units .inventory-stat-icon{background:linear-gradient(135deg,#7c3aed,#06b6d4)}
.inventory-stat-card.stat-low .inventory-stat-icon{background:linear-gradient(135deg,#f59e0b,#f97316)}
.inventory-stat-card.stat-out .inventory-stat-icon{background:linear-gradient(135deg,#ef4444,#be123c)}
.inventory-stat-copy{min-width:0;position:relative;z-index:1;}
.inventory-stat-copy span{
    display:block;
    color:#667085;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:8px;
}
.inventory-stat-copy strong{
    display:block;
    color:#111827;
    font-size:clamp(24px,2.3vw,34px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
    white-space:nowrap;
}
.inventory-stat-copy small{
    display:block;
    margin-top:8px;
    color:#98a2b3;
    font-weight:700;
    line-height:1.3;
}
.inventory-health-panel{
    background:linear-gradient(180deg,#fff,#f9fff9);
    border:1px solid rgba(22,163,74,.15);
    border-radius:24px;
    padding:20px;
    box-shadow:0 18px 40px rgba(15,23,42,.045);
}
.inventory-health-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}
.inventory-health-top span{
    display:block;
    color:#667085;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.inventory-health-top strong{
    display:block;
    color:#16a34a;
    font-size:48px;
    line-height:.95;
    font-weight:950;
    letter-spacing:-.06em;
    margin:8px 0 6px;
}
.inventory-health-top small{
    display:block;
    color:#667085;
    font-weight:750;
}
.inventory-health-top>i{
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    color:#16a34a;
    background:#ecfdf3;
    border:1px solid rgba(22,163,74,.12);
    font-size:22px;
    flex:0 0 48px;
}
.inventory-health-progress{height:11px;margin:0 0 14px;}
.inventory-health-breakdown{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.inventory-health-breakdown div{
    border:1px solid rgba(15,23,42,.06);
    background:#fff;
    border-radius:16px;
    padding:11px 8px;
    text-align:center;
}
.inventory-health-breakdown b{
    display:block;
    color:#111827;
    font-size:20px;
    line-height:1;
    font-weight:950;
}
.inventory-health-breakdown span{
    display:block;
    margin-top:5px;
    color:#667085;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.inventory-value-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.inventory-value-card{
    background:linear-gradient(135deg,#fff,#f8fafc);
    border:1px solid rgba(6,182,212,.14);
    border-radius:24px;
    padding:20px;
    box-shadow:0 16px 34px rgba(15,23,42,.04);
}
.inventory-value-card span{
    display:block;
    color:#667085;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.inventory-value-card strong{
    display:block;
    color:#111827;
    font-size:clamp(24px,2.5vw,36px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-.05em;
    margin:10px 0 8px;
    overflow-wrap:anywhere;
}
.inventory-value-card small{
    display:block;
    color:#98a2b3;
    font-weight:750;
    line-height:1.35;
}
.inventory-value-card.retail{background:linear-gradient(135deg,#fff,#ecfeff)}
.inventory-value-card.margin{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:rgba(22,163,74,.16)}
.inventory-value-card.margin strong{color:#16a34a;}
.inventory-category-card{
    padding:24px;
}
.inventory-category-table td,
.inventory-category-table th{
    white-space:nowrap;
}
@media (max-width:1200px){
    .inventory-overview-layout{grid-template-columns:1fr;}
    .inventory-health-panel{max-width:none;}
}
@media (max-width:768px){
    .inventory-hero-redesigned{padding:22px;}
    .inventory-hero-actions{width:100%;display:grid;grid-template-columns:1fr;justify-content:stretch;}
    .inventory-main-stats,
    .inventory-value-grid{grid-template-columns:1fr;}
    .inventory-stat-card{min-height:auto;}
    .inventory-health-breakdown{grid-template-columns:1fr;}
}

/* v16 admin dashboard AI insights */
.ai-dashboard-section{
    background:linear-gradient(135deg,#fff,#f8fafc 45%,#ecfeff);
    border:1px solid rgba(6,182,212,.18);
    border-radius:28px;
    padding:22px;
    box-shadow:0 22px 60px rgba(37,99,235,.08);
}
.ai-dashboard-head{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    margin-bottom:18px;
}
.ai-dashboard-head h4{
    margin:4px 0 6px;
    font-weight:950;
    letter-spacing:-.03em;
    color:#081120;
}
.ai-dashboard-head p{
    margin:0;
    color:#667085;
    max-width:720px;
}
.ai-summary-pill{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:10px 14px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(6,182,212,.22);
    color:#2563eb;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 12px 30px rgba(37,99,235,.08);
}
.ai-summary-pill i{font-size:18px;color:#06b6d4;}
.ai-alert-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.ai-alert-card{
    background:#fff;
    border:1px solid #f0d6e8;
    border-radius:22px;
    padding:18px;
    min-height:220px;
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
    box-shadow:0 14px 36px rgba(15,23,42,.05);
}
.ai-alert-card:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:5px;
    background:linear-gradient(90deg,#06b6d4,#2563eb);
}
.ai-alert-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.ai-alert-icon{
    width:44px;
    height:44px;
    border-radius:16px;
    display:grid;
    place-items:center;
    color:#fff;
    background:linear-gradient(135deg,#2563eb,#06b6d4);
    box-shadow:0 12px 24px rgba(6,182,212,.20);
}
.ai-alert-metric{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    border-radius:999px;
    padding:8px 11px;
    font-size:12px;
    font-weight:950;
    color:#7e145f;
    background:#eff6ff;
    border:1px solid #bae6fd;
}
.ai-alert-card h5{
    font-size:16px;
    font-weight:950;
    letter-spacing:-.02em;
    margin:0 0 8px;
    color:#111827;
}
.ai-alert-card p{
    color:#667085;
    font-size:13px;
    line-height:1.55;
    margin:0 0 14px;
    flex:1;
}
.ai-alert-action{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    font-size:12px;
    font-weight:950;
    color:#2563eb;
    background:#f8fafc;
    border:1px solid #bae6fd;
    border-radius:999px;
    padding:8px 12px;
}
.ai-alert-action:hover{color:#1d4ed8;background:#eff6ff;}
.ai-alert-card.ai-danger:before{background:linear-gradient(90deg,#ef4444,#fb7185);}
.ai-alert-card.ai-danger .ai-alert-icon{background:linear-gradient(135deg,#dc2626,#fb7185);}
.ai-alert-card.ai-danger .ai-alert-metric{background:#fff1f2;border-color:#fecdd3;color:#be123c;}
.ai-alert-card.ai-warning:before{background:linear-gradient(90deg,#f59e0b,#f97316);}
.ai-alert-card.ai-warning .ai-alert-icon{background:linear-gradient(135deg,#f59e0b,#f97316);}
.ai-alert-card.ai-warning .ai-alert-metric{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.ai-alert-card.ai-success:before{background:linear-gradient(90deg,#16a34a,#22c55e);}
.ai-alert-card.ai-success .ai-alert-icon{background:linear-gradient(135deg,#16a34a,#22c55e);}
.ai-alert-card.ai-success .ai-alert-metric{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;}
.ai-alert-card.ai-info:before{background:linear-gradient(90deg,#0ea5e9,#6366f1);}
.ai-alert-card.ai-info .ai-alert-icon{background:linear-gradient(135deg,#0ea5e9,#6366f1);}
.ai-alert-card.ai-info .ai-alert-metric{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;}
.ai-command-strip{
    margin-top:16px;
    border-radius:20px;
    background:linear-gradient(135deg,#081120,#7e145f);
    color:#fff;
    padding:16px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.ai-command-strip div{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fce7f3;
    font-weight:850;
}
.ai-command-strip i{font-size:20px;color:#7dd3fc;}
.ai-command-strip strong{
    font-size:14px;
    line-height:1.45;
    text-align:right;
    max-width:740px;
}
@media(max-width:1199px){
    .ai-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
    .ai-dashboard-section{padding:16px;border-radius:22px;}
    .ai-dashboard-head{flex-direction:column;}
    .ai-alert-grid{grid-template-columns:1fr;}
    .ai-alert-card{min-height:auto;}
    .ai-command-strip{flex-direction:column;align-items:flex-start;}
    .ai-command-strip strong{text-align:left;}
}

/* v18 Staff Management presence column cleanup */
.staff-list-card .table-responsive{
    overflow-x:auto!important;
}
.staff-table{
    table-layout:fixed!important;
    min-width:1040px!important;
    width:100%!important;
}
.staff-table th,
.staff-table td{
    vertical-align:middle!important;
}
.staff-table th:nth-child(1),
.staff-table td:nth-child(1){width:38%!important;}
.staff-table th:nth-child(2),
.staff-table td:nth-child(2){width:13%!important;}
.staff-table th:nth-child(3),
.staff-table td:nth-child(3){width:12%!important;}
.staff-table th:nth-child(4),
.staff-table td:nth-child(4){width:16%!important;}
.staff-table th:nth-child(5),
.staff-table td:nth-child(5){width:13%!important;}
.staff-table th:nth-child(6),
.staff-table td:nth-child(6){width:8%!important;}
.staff-presence-cell{
    white-space:nowrap!important;
}
.staff-table .presence-dot-pill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:118px!important;
    max-width:150px!important;
    min-height:38px!important;
    padding:8px 13px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    line-height:1!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:950!important;
}
.staff-table .presence-dot-pill span{
    flex:0 0 8px!important;
    width:8px!important;
    height:8px!important;
}
.staff-table .role-pill,
.staff-table .premium-badge{
    min-width:88px!important;
}
.staff-table .btn.btn-soft.btn-sm{
    min-width:96px!important;
}
.staff-person-cell{
    min-width:0!important;
}
.staff-person-cell>div:last-child{
    min-width:0!important;
}
.staff-person-cell b,
.staff-person-cell small{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
}
@media(max-width:1399px){
    .staff-table{min-width:1100px!important;}
}
@media(max-width:767px){
    .staff-list-head{
        flex-direction:column!important;
        align-items:flex-start!important;
    }
    .staff-count-pill{white-space:normal!important;}
}

/* v20 attendant purchase approval + credit sale refinements */
.pending-approval-card{
    border:1px solid rgba(6,182,212,.20)!important;
    background:linear-gradient(135deg,#fff,#f8fafc)!important;
}
.pending-purchase-stack{display:grid;gap:18px;}
.pending-purchase-box{
    border:1px solid rgba(6,182,212,.18);
    border-radius:24px;
    background:#fff;
    padding:18px;
    box-shadow:0 16px 42px rgba(16,24,40,.06);
}
.pending-purchase-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:14px;
}
.pending-purchase-head strong{display:block;font-size:18px;color:#111827;font-weight:950;}
.pending-purchase-head small{display:block;color:#667085;font-weight:750;margin-top:4px;}
.pending-approval-table input.form-control{min-width:130px;border-radius:16px;font-weight:800;}
.approval-note-box{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:14px 16px;
    border-radius:20px;
    border:1px solid rgba(234,179,8,.35);
    background:#fffbeb;
    color:#92400e;
    font-weight:800;
}
.approval-note-box i{font-size:18px;margin-top:1px;}
.premium-badge.badge-warning-soft{
    background:#fffbeb!important;
    border:1px solid #fde68a!important;
    color:#92400e!important;
}
@media(max-width:768px){
    .pending-purchase-head{align-items:flex-start;flex-direction:column;}
    .pending-purchase-head .btn{width:100%;}
}

/* v21 attendant dashboard credit sales section cleanup */
.attendant-credit-sales-card{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden;
    border-radius:30px!important;
}
.attendant-credit-head{
    margin:0!important;
    padding:24px 26px 20px;
    border-bottom:1px solid var(--border);
    align-items:center!important;
}
.attendant-credit-head .dash-kicker{
    display:inline-block;
    margin-bottom:7px;
}
.attendant-credit-head h5{
    font-size:24px;
    line-height:1.1;
}
.credit-summary-pill{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
    min-width:max-content;
    padding:12px 16px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid rgba(6,182,212,.18);
    color:#831843;
    font-weight:900;
}
.credit-summary-pill i{
    width:34px;
    height:34px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fce7f3;
    color:#2563eb;
    font-size:16px;
}
.credit-summary-pill span{
    font-size:13px;
    color:#1d4ed8;
}
.credit-summary-pill strong{
    font-size:15px;
    color:#4a044e;
}
.attendant-credit-table-wrap{
    margin:22px 26px 26px;
    border:1px solid rgba(6,182,212,.20);
    border-radius:24px;
    overflow:auto;
    background:#fff;
}
.attendant-credit-table{
    min-width:860px;
}
.attendant-credit-table th,
.attendant-credit-table td{
    padding:16px 18px!important;
    white-space:nowrap;
}
.attendant-credit-table thead th:first-child{
    border-top-left-radius:22px;
}
.attendant-credit-table thead th:last-child{
    border-top-right-radius:22px;
}
.credit-empty-state{
    min-height:150px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-align:center;
    color:#6b3f5f;
    background:linear-gradient(135deg,#fff,#f8fafc);
    border-radius:0 0 20px 20px;
    padding:28px 18px;
}
.credit-empty-icon{
    width:52px;
    height:52px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fce7f3;
    color:#2563eb;
    font-size:24px;
}
.credit-empty-state strong{
    font-size:18px;
    color:#081120;
    font-weight:950;
}
.credit-empty-state span{
    color:#98a2b3;
    max-width:420px;
    font-weight:700;
}
.main>footer{
    margin-top:auto;
}
@media(max-width:768px){
    .attendant-credit-head{
        align-items:flex-start!important;
        flex-direction:column;
        padding:22px;
    }
    .credit-summary-pill{
        justify-content:flex-start;
        min-width:0;
        width:100%;
        border-radius:20px;
    }
    .attendant-credit-table-wrap{
        margin:18px 18px 22px;
        border-radius:20px;
    }
}

/* v22 purchase history privacy + layout refinement */
.purchase-page-shell{
    overflow-x:hidden!important;
}
.purchase-history-card{
    overflow:hidden!important;
}
.purchase-history-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    border-radius:18px!important;
    -webkit-overflow-scrolling:touch!important;
}
.purchase-history-table{
    width:100%!important;
    margin-bottom:0!important;
    table-layout:auto!important;
}
.purchase-history-column .attendant-purchase-history{
    min-width:0!important;
}
.purchase-history-column .admin-purchase-history{
    min-width:820px!important;
}
.attendant-purchase-history th,
.attendant-purchase-history td{
    white-space:normal!important;
    vertical-align:middle!important;
}
.attendant-purchase-history td:first-child b,
.admin-purchase-history td:first-child b{
    display:block!important;
    line-height:1.25!important;
}
.attendant-purchase-history td:first-child small,
.admin-purchase-history td:first-child small{
    display:block!important;
    margin-top:5px!important;
    color:#8a7181!important;
    font-weight:750!important;
    line-height:1.25!important;
}
.attendant-purchase-history .premium-badge{
    white-space:nowrap!important;
}
@media (min-width:1200px){
    .purchase-history-column .attendant-purchase-history th:nth-child(1),
    .purchase-history-column .attendant-purchase-history td:nth-child(1){width:28%!important;}
    .purchase-history-column .attendant-purchase-history th:nth-child(2),
    .purchase-history-column .attendant-purchase-history td:nth-child(2){width:22%!important;}
    .purchase-history-column .attendant-purchase-history th:nth-child(3),
    .purchase-history-column .attendant-purchase-history td:nth-child(3){width:10%!important;text-align:center!important;}
    .purchase-history-column .attendant-purchase-history th:nth-child(4),
    .purchase-history-column .attendant-purchase-history td:nth-child(4){width:14%!important;}
    .purchase-history-column .attendant-purchase-history th:nth-child(5),
    .purchase-history-column .attendant-purchase-history td:nth-child(5){width:12%!important;}
    .purchase-history-column .attendant-purchase-history th:nth-child(6),
    .purchase-history-column .attendant-purchase-history td:nth-child(6){width:14%!important;}
}
@media (max-width:991.98px){
    .purchase-history-column .attendant-purchase-history{
        min-width:680px!important;
    }
}

/* v23 hard fix for purchases page horizontal overflow */
html,
body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
}
.app{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
}
.main{
    min-width:0!important;
    width:calc(100vw - 270px)!important;
    max-width:calc(100vw - 270px)!important;
    overflow-x:hidden!important;
}
.content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
}
.purchase-page-shell,
.purchase-page-shell *{
    box-sizing:border-box!important;
}
.purchase-page-shell{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
}
.purchase-page-shell > .row.g-4{
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
    max-width:100%!important;
}
.purchase-page-shell > .row.g-4 > [class*="col-"]{
    min-width:0!important;
    max-width:100%!important;
}
.purchase-attendant-shell > .row.g-4{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
}
.purchase-attendant-shell > .row.g-4 > [class*="col-"]{
    width:100%!important;
    flex:0 0 100%!important;
    padding-left:0!important;
    padding-right:0!important;
}
.purchase-admin-shell > .row.g-4{
    align-items:start!important;
}
.purchase-card,
.purchase-history-card,
.purchase-card form,
.purchase-form-column,
.purchase-history-column{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
}
.purchase-top-grid,
.purchase-receive-scan-row,
.purchase-product-box,
.purchase-actions-row,
.purchase-items-wrap,
.purchase-history-table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}
.purchase-top-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.purchase-top-grid .purchase-top-field:first-child{
    grid-column:1 / -1!important;
}
.purchase-receive-scan-row{
    grid-template-columns:minmax(0,1fr) minmax(140px,170px)!important;
}
.purchase-actions-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.purchase-add-field{
    grid-column:1 / -1!important;
}
.purchase-page-shell .form-control,
.purchase-page-shell .form-select,
.purchase-page-shell .select2-container,
.purchase-page-shell .select2-selection,
.purchase-page-shell .btn{
    max-width:100%!important;
    min-width:0!important;
}
.purchase-items-wrap,
.purchase-history-table-wrap{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
}
.purchase-items-wrap .premium-table{
    min-width:460px!important;
}
.purchase-history-column .attendant-purchase-history{
    min-width:0!important;
    width:100%!important;
    table-layout:auto!important;
}
.purchase-history-column .admin-purchase-history{
    min-width:760px!important;
}
.attendant-purchase-history th,
.attendant-purchase-history td{
    padding-left:14px!important;
    padding-right:14px!important;
    word-break:normal!important;
}
.attendant-purchase-history td:first-child,
.attendant-purchase-history th:first-child{
    min-width:180px!important;
}
.attendant-purchase-history .premium-badge{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
}
@media(max-width:1199.98px){
    .main{
        margin-left:0!important;
        width:100vw!important;
        max-width:100vw!important;
    }
    .purchase-admin-shell > .row.g-4{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:24px!important;
    }
    .purchase-admin-shell > .row.g-4 > [class*="col-"]{
        width:100%!important;
        flex:0 0 100%!important;
        padding-left:0!important;
        padding-right:0!important;
    }
}
@media(max-width:767.98px){
    .purchase-top-grid,
    .purchase-receive-scan-row,
    .purchase-actions-row{
        grid-template-columns:minmax(0,1fr)!important;
    }
    .purchase-card,
    .purchase-history-card{
        padding:18px!important;
    }
    .purchase-items-wrap .premium-table,
    .purchase-history-column .attendant-purchase-history{
        min-width:420px!important;
    }
}

/* v25 supplier admin polish */
.suppliers-page-wrap .supplier-form-card,
.suppliers-page-wrap .suppliers-list-card{height:100%;}
.suppliers-table-wrap{overflow-x:auto;border-radius:22px;border:1px solid rgba(219,39,119,.14);}
.suppliers-table{min-width:760px;margin-bottom:0;}
.suppliers-table td{vertical-align:middle;}
.suppliers-table td b{display:block;color:#111827;font-size:1rem;line-height:1.25;}
.suppliers-table td small{display:block;color:#667085;margin-top:.25rem;line-height:1.35;}
.suppliers-table .premium-badge{margin:.12rem .15rem .12rem 0;white-space:nowrap;}
@media (max-width: 991.98px){.suppliers-table{min-width:680px}.suppliers-page-wrap .panel-head{align-items:flex-start;}}


/* v26 credit sales management */
.credit-page-shell .premium-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.credit-sales-table-wrap{overflow-x:auto;max-width:100%;}
.credit-modal-summary{border:1px solid rgba(218,42,127,.18);background:linear-gradient(135deg,#fff6fb,#fff);border-radius:18px;padding:14px 16px;}
.credit-modal-summary strong{display:block;color:#111827;font-size:18px;font-weight:950;}
.credit-modal-summary small{display:block;color:#667085;font-weight:750;margin-top:4px;}
.mini-activity-stack{display:grid;gap:12px;}
.mini-activity-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(218,42,127,.14);background:#fff;border-radius:18px;padding:14px;}
.mini-activity-item b{display:block;color:#111827;font-weight:900;}
.mini-activity-item small{display:block;color:#667085;font-weight:700;}
.mini-activity-item strong{color:#187a3b;font-weight:950;white-space:nowrap;}
.credit-sale-extra .form-control{background:#fffdfd;}
@media(max-width:1199px){.credit-page-shell .premium-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.credit-page-shell .premium-metric-grid{grid-template-columns:1fr;}.credit-sales-table-wrap .premium-table{min-width:880px;}}

/* v30: Sales list item-view actions */
.sales-actions{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:220px}
.sales-list-card .table td:last-child{white-space:normal;min-width:220px}
.sale-items-summary{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.sale-items-summary .credit-summary-pill{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(6,182,212,.18);background:linear-gradient(135deg,rgba(253,242,248,.95),rgba(255,255,255,.95));border-radius:999px;padding:.55rem .85rem;color:#831843;font-weight:700}
.sale-items-summary .credit-summary-pill i{font-size:1.05rem;color:#0891b2}
.sale-items-summary .credit-summary-pill span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8}
.sale-items-summary .credit-summary-pill strong{font-size:1rem;color:#111827}
@media(max-width:768px){.sales-actions{justify-content:flex-start;min-width:0}.sales-list-card .table td:last-child{min-width:170px}.sales-actions .action-chip{white-space:nowrap}}

/* v33 - Admin Login As debugging controls */
.impersonation-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  margin:0 0 18px;
  border-radius:18px;
  background:linear-gradient(135deg,#7c2d12,#f59e0b);
  color:#fff;
  box-shadow:0 14px 30px rgba(245,158,11,.20);
}
.impersonation-banner>div{display:flex;align-items:center;gap:10px;min-width:0;}
.impersonation-banner i{font-size:1.25rem;}
.impersonation-banner span{font-weight:600;line-height:1.35;}
.impersonation-banner .btn{white-space:nowrap;border:0;font-weight:800;color:#7c2d12;background:#fff;}
.staff-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.btn-warning-soft{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:800;}
.btn-warning-soft:hover{background:#ffedd5;color:#7c2d12;border-color:#fdba74;}
.login-as-staff-form{margin:0;}
@media(max-width:768px){
  .impersonation-banner{align-items:flex-start;flex-direction:column;}
  .staff-row-actions{justify-content:flex-start;}
}

/* v36 - Product price cleanup filters */
.products-toolbar-card .products-filter-bar{align-items:flex-end;}
.products-toolbar-card .filter-action-row{min-height:44px;align-items:stretch;}
.price-cleanup-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.price-cleanup-pill{display:flex;align-items:center;gap:10px;text-decoration:none;border:1px solid rgba(6,182,212,.16);background:linear-gradient(135deg,#f8fafc,#ffffff);border-radius:18px;padding:12px 14px;color:#831843;box-shadow:0 12px 28px rgba(6,182,212,.06);min-width:0;}
.price-cleanup-pill:hover{color:#831843;border-color:rgba(6,182,212,.35);transform:translateY(-1px);}
.price-cleanup-pill.active{background:linear-gradient(135deg,#eff6ff,#ffe4ef);border-color:rgba(219,39,119,.35);box-shadow:0 16px 32px rgba(6,182,212,.14);}
.price-cleanup-pill i{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;color:#0891b2;box-shadow:inset 0 0 0 1px rgba(6,182,212,.12);flex:0 0 auto;}
.price-cleanup-pill span{font-weight:800;font-size:.85rem;line-height:1.15;flex:1;min-width:0;}
.price-cleanup-pill strong{font-size:1.1rem;color:#111827;white-space:nowrap;}
.active-filter-list{display:flex;gap:6px;flex-wrap:wrap;}
.products-table-wrap{border-radius:18px;}
.products-table .price-attention-row{background:linear-gradient(90deg,rgba(254,242,242,.70),rgba(255,255,255,0));}
.product-price-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
.product-price-flags .premium-badge{font-size:.68rem;padding:.28rem .48rem;}
@media(max-width:991px){.price-cleanup-strip{grid-template-columns:1fr;}.price-cleanup-pill{padding:11px 12px;}.products-toolbar-card .filter-action-row{min-height:0;}}


/* v37 mobile/tablet responsive product edit modal fix */
#editProductModal .product-edit-dialog{
  width:min(960px, calc(100vw - 24px));
  max-width:min(960px, calc(100vw - 24px));
  margin:12px auto;
}
#editProductModal .modal-content{
  max-height:calc(100dvh - 24px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
}
#editProductModal form{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
#editProductModal .modal-header,
#editProductModal .modal-footer{
  flex:0 0 auto;
  background:#fff;
  z-index:2;
}
#editProductModal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding:22px 24px;
}
#editProductModal .form-control,
#editProductModal .form-select,
#editProductModal .select2-container,
#editProductModal .select2-selection{
  max-width:100% !important;
  width:100% !important;
}
#editProductModal .barcode-control-group{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  max-width:100%;
}
#editProductModal .photo-picker,
#editProductModal .photo-picker.compact{
  max-width:100%;
  width:100%;
}
@media (max-width:1199.98px){
  #editProductModal .product-edit-dialog{
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    margin:10px auto;
  }
  #editProductModal .modal-dialog-centered{
    min-height:auto;
  }
  #editProductModal .modal-content{
    max-height:calc(100dvh - 20px);
  }
  #editProductModal .modal-body{
    padding:18px;
  }
  #editProductModal .row.g-3 > [class*="col-"]{
    flex:0 0 100% !important;
    max-width:100% !important;
    width:100% !important;
  }
}
@media (max-width:575.98px){
  #editProductModal .product-edit-dialog{
    width:calc(100vw - 12px);
    max-width:calc(100vw - 12px);
    margin:6px auto;
  }
  #editProductModal .modal-content{
    border-radius:18px;
    max-height:calc(100dvh - 12px);
  }
  #editProductModal .modal-header{
    padding:16px 16px 12px;
  }
  #editProductModal .modal-title{
    font-size:20px;
  }
  #editProductModal .modal-body{
    padding:14px 16px;
  }
  #editProductModal .modal-footer{
    padding:12px 16px 16px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  #editProductModal .modal-footer .btn{
    width:100%;
  }
  #editProductModal .barcode-control-group{
    grid-template-columns:1fr;
  }
  #editProductModal .photo-picker.compact{
    display:grid;
    grid-template-columns:54px 1fr;
    gap:12px;
    align-items:center;
  }
}
@media (max-height:520px){
  #editProductModal .product-edit-dialog{
    margin:6px auto;
  }
  #editProductModal .modal-content{
    max-height:calc(100dvh - 12px);
  }
  #editProductModal .modal-header{
    padding-top:12px;
    padding-bottom:10px;
  }
  #editProductModal .modal-body{
    padding-top:12px;
    padding-bottom:12px;
  }
  #editProductModal .modal-footer{
    padding-top:10px;
    padding-bottom:10px;
  }
}

/* v44 premium purchase workspace + admin KPI strip */
.admin-dashboard-kpis{
    gap:18px!important;
}
.admin-dashboard-kpis .premium-metric-card{
    min-height:188px;
    padding:28px 28px 26px!important;
    border-radius:30px!important;
    border:1px solid rgba(219,39,119,.16)!important;
    box-shadow:0 22px 50px rgba(95,24,61,.07)!important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
.admin-dashboard-kpis .premium-metric-card:after{
    width:150px!important;
    height:150px!important;
    right:-44px!important;
    top:-54px!important;
    background:rgba(96,165,250,.10)!important;
}
.admin-dashboard-kpis .premium-metric-card .metric-icon{
    width:54px!important;
    height:54px!important;
    border-radius:18px!important;
    margin-bottom:24px!important;
    font-size:23px!important;
    position:relative;
    z-index:1;
}
.admin-dashboard-kpis .premium-metric-card.sales .metric-icon,
.admin-dashboard-kpis .premium-metric-card.stock .metric-icon{
    background:#ecfeff!important;
    color:#0891b2!important;
}
.admin-dashboard-kpis .premium-metric-card.profit .metric-icon{
    background:#f3f0ff!important;
    color:#7c3aed!important;
}
.admin-dashboard-kpis .premium-metric-card.warning .metric-icon{
    background:#fff1f5!important;
    color:#e11d48!important;
}
.admin-dashboard-kpis .premium-metric-card span{
    font-size:13px!important;
    letter-spacing:.08em!important;
    color:#667085!important;
}
.admin-dashboard-kpis .premium-metric-card strong{
    font-size:34px!important;
    line-height:1.06!important;
    margin:10px 0 13px!important;
    letter-spacing:-.025em!important;
}
.admin-dashboard-kpis .premium-metric-card small{
    font-size:13px!important;
    line-height:1.45!important;
    color:#98a2b3!important;
}

.purchase-v44{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}
.purchase-v44 .purchase-hero{
    margin-bottom:20px!important;
}
.purchase-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.purchase-kpi-card{
    min-width:0;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px;
    background:linear-gradient(145deg,#fff,#fff9fc);
    border:1px solid rgba(219,39,119,.15);
    border-radius:24px;
    box-shadow:0 16px 38px rgba(95,24,61,.06);
}
.purchase-kpi-card:after{
    content:"";
    position:absolute;
    width:96px;
    height:96px;
    border-radius:50%;
    right:-38px;
    top:-40px;
    background:rgba(96,165,250,.10);
}
.purchase-kpi-icon{
    flex:0 0 48px;
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    background:#fce7f3;
    color:#2563eb;
    position:relative;
    z-index:1;
}
.purchase-kpi-card.today .purchase-kpi-icon{background:#ecfdf3;color:#15803d;}
.purchase-kpi-card.month .purchase-kpi-icon{background:#f3f0ff;color:#7c3aed;}
.purchase-kpi-card.suppliers .purchase-kpi-icon{background:#eff6ff;color:#2563eb;}
.purchase-kpi-card>div:last-child{min-width:0;position:relative;z-index:1;}
.purchase-kpi-card span{display:block;font-size:11px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:#7b6071;}
.purchase-kpi-card strong{display:block;margin:5px 0 3px;font-size:24px;line-height:1.1;font-weight:1000;color:#231321;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.purchase-kpi-card small{display:block;font-size:12px;font-weight:700;color:#9a8994;line-height:1.35;}

.purchase-workspace-stack{
    display:flex;
    flex-direction:column;
    gap:24px;
    min-width:0;
}
.purchase-workspace-card,
.purchase-history-v44{
    width:100%;
    min-width:0;
    padding:0!important;
    overflow:hidden!important;
}
.purchase-workspace-head,
.purchase-history-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:26px 28px;
    border-bottom:1px solid rgba(219,39,119,.12);
    background:linear-gradient(135deg,#fff,#fff8fc);
}
.purchase-workspace-head .dash-kicker,
.purchase-history-head .dash-kicker{
    background:#fce7f3!important;
    color:#2563eb!important;
    margin-bottom:10px;
}
.purchase-workspace-head h4,
.purchase-history-head h4{
    margin:0 0 7px;
    color:#24131f;
    font-size:25px;
    font-weight:1000;
    letter-spacing:-.025em;
}
.purchase-workspace-head p,
.purchase-history-head p{
    margin:0;
    color:#8d7d88;
    font-size:14px;
    font-weight:700;
    line-height:1.55;
}
.purchase-step-strip{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px;
    border:1px solid rgba(219,39,119,.14);
    border-radius:18px;
    background:#fff;
}
.purchase-step-strip span{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border-radius:13px;
    color:#7c5d70;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.purchase-step-strip b{
    width:24px;
    height:24px;
    border-radius:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fce7f3;
    color:#2563eb;
    font-size:11px;
}
.purchase-workspace-card form{
    padding:24px 28px 28px;
    display:flex;
    flex-direction:column;
    gap:18px;
}
.purchase-section-card{
    min-width:0;
    padding:22px;
    border:1px solid rgba(219,39,119,.13);
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 28px rgba(88,28,58,.035);
}
.purchase-section-title{
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-bottom:19px;
}
.purchase-section-title>div:nth-child(2){min-width:0;}
.purchase-section-title h5{
    margin:1px 0 4px;
    color:#281522;
    font-size:18px;
    font-weight:1000;
}
.purchase-section-title p{
    margin:0;
    color:#9b8c96;
    font-size:13px;
    line-height:1.45;
    font-weight:700;
}
.purchase-section-number{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#fce7f3,#ecfeff);
    color:#2563eb;
    font-weight:1000;
    border:1px solid rgba(219,39,119,.13);
}
.purchase-details-grid{
    display:grid;
    grid-template-columns:minmax(280px,1.35fr) minmax(190px,.55fr) minmax(220px,.75fr);
    gap:16px;
    align-items:end;
}
.purchase-detail-field,
.purchase-entry-field,
.purchase-product-picker{min-width:0;}
.purchase-detail-field .select2-container,
.purchase-product-picker .select2-container{width:100%!important;}
.quick-supplier-btn{min-height:36px!important;padding:7px 11px!important;}

.purchase-receive-scan-row{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    padding:12px!important;
    margin:0 0 18px!important;
    border:1px solid rgba(219,39,119,.12)!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,#fff9fc,#f8fff9)!important;
}
.purchase-scan-icon{
    width:44px;
    height:44px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fce7f3;
    color:#2563eb;
    font-size:19px;
}
.purchase-receive-scan-row .form-control,
.purchase-receive-scan-row .btn{min-height:48px!important;height:48px!important;}
.purchase-product-entry-grid{
    display:grid;
    gap:14px;
    align-items:end;
    min-width:0;
}
.purchase-product-entry-grid.admin-entry-grid{
    grid-template-columns:minmax(300px,1fr) minmax(120px,.22fr) minmax(150px,.28fr) minmax(190px,.32fr);
}
.purchase-product-entry-grid.attendant-entry-grid{
    grid-template-columns:minmax(320px,1fr) minmax(130px,.23fr) minmax(210px,.35fr);
}
.purchase-field-help{
    display:block;
    margin-top:8px;
    color:#9b8c96;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
}
.purchase-add-action .btn{
    height:56px!important;
    min-height:56px!important;
    white-space:nowrap;
}
.purchase-cart-title{
    align-items:center;
}
.purchase-cart-title>div:nth-child(2){flex:1 1 auto;}
.purchase-cart-title>.btn{flex:0 0 auto;}
.purchase-items-wrap{
    border:1px solid rgba(219,39,119,.13);
    border-radius:20px;
    overflow-x:auto!important;
    background:#fff;
}
.purchase-items-table{
    margin:0!important;
    min-width:650px!important;
}
.purchase-items-table thead th{
    background:#561035!important;
    color:#fff!important;
    padding:15px 16px!important;
}
.purchase-items-table tbody td{
    padding:14px 16px!important;
    vertical-align:middle!important;
}
.purchase-submit-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.46fr);
    gap:18px;
    align-items:stretch;
    margin-top:18px;
}
.purchase-notes-field textarea{min-height:128px!important;resize:vertical;}
.purchase-submit-panel{
    display:flex;
    flex-direction:column;
    gap:12px;
    justify-content:flex-end;
}
.purchase-grand-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:78px;
    padding:18px 20px;
    border-radius:20px;
    background:linear-gradient(135deg,#4a0b2c,#741246);
    color:#fff;
    box-shadow:0 15px 30px rgba(86,16,53,.18);
}
.purchase-grand-total span{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#bae6fd;}
.purchase-grand-total strong{font-size:25px;font-weight:1000;white-space:nowrap;}
.purchase-approval-note{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:78px;
    padding:16px 18px;
    border-radius:20px;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    color:#166534;
}
.purchase-approval-note>i{font-size:24px;}
.purchase-approval-note strong,.purchase-approval-note span{display:block;}
.purchase-approval-note strong{font-size:14px;font-weight:1000;}
.purchase-approval-note span{font-size:12px;font-weight:700;color:#4d7c5d;margin-top:2px;}
.purchase-submit-btn{min-height:56px!important;font-size:15px!important;}

.purchase-history-head{align-items:center;}
.purchase-history-summary{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:9px;
    padding:11px 14px;
    border-radius:15px;
    background:#fff;
    border:1px solid rgba(219,39,119,.14);
    color:#831843;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.purchase-history-summary i{font-size:17px;color:#0891b2;}
.purchase-history-v44 .purchase-history-table-wrap{
    margin:22px;
    width:calc(100% - 44px)!important;
    border:1px solid rgba(219,39,119,.13);
    border-radius:20px!important;
    overflow-x:auto!important;
}
.purchase-history-v44 .purchase-history-table{margin:0!important;}
.purchase-history-v44 .purchase-history-table thead th{
    background:#561035!important;
    color:#fff!important;
    padding:15px 16px!important;
}
.purchase-history-v44 .purchase-history-table tbody td{
    padding:15px 16px!important;
    vertical-align:middle!important;
}
.purchase-item-count{
    min-width:34px;
    height:34px;
    padding:0 10px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#ecfeff;
    color:#1d4ed8;
    font-weight:950;
}
.purchase-empty-state{
    min-height:160px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    text-align:center;
    color:#8a7181;
}
.purchase-empty-state i{font-size:34px;color:#0891b2;}
.purchase-empty-state strong{font-size:17px;color:#351425;font-weight:1000;}
.purchase-empty-state span{font-size:13px;font-weight:700;}

.pending-approval-card{
    padding:24px!important;
    border:1px solid rgba(245,158,11,.22)!important;
    background:linear-gradient(145deg,#fff,#fffaf0)!important;
}
.pending-purchase-stack{display:grid;gap:16px;}
.pending-purchase-box{
    overflow:hidden;
    border-radius:20px!important;
    border:1px solid rgba(245,158,11,.22)!important;
    background:#fff!important;
    box-shadow:0 12px 28px rgba(120,72,15,.05)!important;
}
.pending-purchase-head{
    padding:16px 18px!important;
    background:#fffbeb!important;
    border-bottom:1px solid rgba(245,158,11,.18)!important;
}
.pending-purchase-box .table-responsive{padding:0 14px 14px;}
.pending-approval-table{margin:0!important;min-width:680px;}

@media(max-width:1199.98px){
    .purchase-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .purchase-details-grid{grid-template-columns:1fr 1fr;}
    .supplier-detail-field{grid-column:1/-1;}
    .purchase-product-entry-grid.admin-entry-grid{grid-template-columns:minmax(260px,1fr) minmax(120px,.3fr) minmax(150px,.35fr);}
    .purchase-product-entry-grid.admin-entry-grid .purchase-add-action{grid-column:1/-1;}
    .purchase-product-entry-grid.admin-entry-grid .purchase-add-action .btn{max-width:280px;}
}
@media(max-width:991.98px){
    .admin-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .purchase-workspace-head,.purchase-history-head{flex-direction:column;align-items:flex-start;}
    .purchase-step-strip{width:100%;justify-content:space-between;overflow-x:auto;}
    .purchase-submit-grid{grid-template-columns:1fr;}
    .purchase-submit-panel{max-width:none;}
    .purchase-product-entry-grid.admin-entry-grid,
    .purchase-product-entry-grid.attendant-entry-grid{grid-template-columns:1fr 1fr;}
    .purchase-product-picker{grid-column:1/-1;}
    .purchase-add-action{grid-column:1/-1;}
}
@media(max-width:767.98px){
    .admin-dashboard-kpis{grid-template-columns:1fr!important;}
    .admin-dashboard-kpis .premium-metric-card{min-height:0;padding:22px!important;}
    .purchase-kpi-grid{grid-template-columns:1fr;}
    .purchase-workspace-head,.purchase-history-head{padding:22px 18px;}
    .purchase-workspace-card form{padding:18px;}
    .purchase-section-card{padding:18px;border-radius:20px;}
    .purchase-details-grid,
    .purchase-product-entry-grid.admin-entry-grid,
    .purchase-product-entry-grid.attendant-entry-grid{grid-template-columns:1fr;}
    .supplier-detail-field,.purchase-product-picker,.purchase-add-action{grid-column:auto;}
    .purchase-receive-scan-row{grid-template-columns:40px minmax(0,1fr)!important;}
    .purchase-receive-scan-row .focus-barcode{grid-column:1/-1;width:100%;}
    .purchase-scan-icon{width:40px;height:40px;}
    .purchase-cart-title{align-items:flex-start;flex-wrap:wrap;}
    .purchase-cart-title>.btn{margin-left:51px;}
    .purchase-history-v44 .purchase-history-table-wrap{margin:16px;width:calc(100% - 32px)!important;}
    .purchase-history-summary{width:100%;justify-content:center;}
    .purchase-step-strip span{padding:7px 8px;}
}

/* v45 admin dashboard period sales cards */
.sales-period-kpis{
    margin-top:2px;
}
.metric-card-link{
    color:inherit!important;
    text-decoration:none!important;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.metric-card-link:hover{
    transform:translateY(-4px);
    box-shadow:0 28px 58px rgba(95,24,61,.12)!important;
    border-color:rgba(219,39,119,.30)!important;
}
.metric-card-link:focus-visible{
    outline:3px solid rgba(219,39,119,.20);
    outline-offset:3px;
}
.admin-operational-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.admin-operational-kpis .premium-metric-card{
    min-height:172px;
}
@media(max-width:991.98px){
    .admin-operational-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .admin-operational-kpis .premium-metric-card:last-child{grid-column:1/-1;}
}
@media(max-width:767.98px){
    .admin-operational-kpis{grid-template-columns:1fr!important;}
    .admin-operational-kpis .premium-metric-card:last-child{grid-column:auto;}
}


/* v46 sales period and custom date filters */
.sales-filter-card{
    margin-bottom:22px;
    padding:26px!important;
    overflow:hidden;
    background:linear-gradient(145deg,#fff 0%,#fffafd 100%)!important;
}
.sales-filter-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(95,24,61,.10);
}
.sales-filter-head h4{margin:4px 0 4px;font-weight:900;color:#171225;}
.sales-filter-head p{margin:0;color:#8792a8;}
.sales-filter-chips{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:20px 0 14px;
}
.sales-filter-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:43px;
    padding:10px 16px;
    border:1px solid rgba(219,39,119,.18);
    border-radius:999px;
    background:#fff;
    color:#70204a;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(95,24,61,.05);
    transition:.2s ease;
}
button.sales-filter-chip{font-family:inherit;}
.sales-filter-chip:hover,
.sales-filter-chip.active{
    color:#fff;
    border-color:transparent;
    background:linear-gradient(135deg,#c71967,#ec3f91);
    box-shadow:0 14px 28px rgba(219,39,119,.22);
    transform:translateY(-1px);
}
.sales-custom-filter{
    display:grid;
    grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto;
    align-items:end;
    gap:14px;
    margin:4px 0 18px;
    padding:18px;
    border:1px solid rgba(219,39,119,.14);
    border-radius:20px;
    background:#f8fafc;
}
.sales-custom-filter .btn{min-height:50px;white-space:nowrap;}
.sales-filter-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding-top:4px;
}
.sales-filter-summary>div{
    min-width:0;
    padding:16px 18px;
    border:1px solid rgba(95,24,61,.09);
    border-radius:18px;
    background:#fff;
}
.sales-filter-summary span{
    display:block;
    margin-bottom:6px;
    color:#98a2b6;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.sales-filter-summary strong{
    display:block;
    color:#24152a;
    font-size:1.12rem;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media(max-width:991.98px){
    .sales-filter-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767.98px){
    .sales-filter-card{padding:20px!important;}
    .sales-filter-head{flex-direction:column;align-items:stretch;}
    .sales-filter-head .btn{width:100%;}
    .sales-filter-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
    .sales-filter-chip{width:100%;padding:10px 9px;font-size:.88rem;}
    .sales-custom-filter{grid-template-columns:1fr;}
    .sales-filter-summary{grid-template-columns:1fr 1fr;}
}
@media(max-width:420px){
    .sales-filter-chips,.sales-filter-summary{grid-template-columns:1fr;}
}

/* v47: Purchase record details and safe reversal */
.purchase-record-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  flex-wrap:nowrap;
  min-width:max-content;
}
.purchase-record-actions .btn,
.purchase-record-actions .action-chip{white-space:nowrap}
.purchase-reversal-note{
  display:block;
  margin-top:.45rem;
  max-width:220px;
  color:#9f1239;
  font-size:.75rem;
  line-height:1.35;
}
.purchase-modal-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
  margin-bottom:1rem;
}
.purchase-modal-summary>div{
  padding:1rem 1.1rem;
  border:1px solid rgba(219,39,119,.14);
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#f8fafc);
  min-width:0;
}
.purchase-modal-summary span{
  display:block;
  color:var(--muted,#8590a6);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:.3rem;
}
.purchase-modal-summary strong{
  display:block;
  color:#3f0b2d;
  font-size:1rem;
  overflow-wrap:anywhere;
}
#purchaseItemsModal .modal-content{border-radius:24px;overflow:hidden}
#purchaseItemsModal .modal-body{padding:1.35rem}
#purchaseItemsModal .premium-table small{display:block;margin-top:.2rem}
#reversePurchaseModal textarea{resize:vertical;min-height:100px}
@media(max-width:991.98px){
  .purchase-history-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .purchase-history-table{min-width:1050px}
}
@media(max-width:767.98px){
  .purchase-modal-summary{grid-template-columns:1fr}
  #purchaseItemsModal .modal-dialog{margin:.6rem;max-width:calc(100% - 1.2rem)}
  #purchaseItemsModal .modal-body{padding:1rem}
  .purchase-record-actions{gap:.35rem}
  .purchase-record-actions .action-chip{padding:.55rem .65rem}
}

/* v48 stock purchase register server-side pagination */
.purchase-server-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 22px 22px;
    flex-wrap:wrap;
}
.purchase-pagination-summary{
    font-size:12px;
    font-weight:800;
    color:#667085;
}
.purchase-pagination-summary strong{color:#831843;font-weight:1000;}
.purchase-pagination-nav{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.purchase-page-numbers{
    display:flex;
    align-items:center;
    gap:6px;
}
.purchase-page-link,
.purchase-page-number{
    min-width:40px;
    height:40px;
    padding:0 13px;
    border-radius:13px;
    border:1px solid rgba(219,39,119,.16);
    background:#fff;
    color:#831843!important;
    text-decoration:none!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:12px;
    font-weight:950;
    box-shadow:0 6px 16px rgba(95,24,61,.05);
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.purchase-page-link:hover,
.purchase-page-number:hover{
    transform:translateY(-1px);
    background:#ecfeff;
    border-color:rgba(219,39,119,.32);
    box-shadow:0 10px 20px rgba(95,24,61,.09);
}
.purchase-page-number.active{
    background:linear-gradient(135deg,#0891b2,#1d4ed8);
    border-color:transparent;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(219,39,119,.25);
    pointer-events:none;
}
.purchase-page-link.disabled{
    opacity:.42;
    pointer-events:none;
    box-shadow:none;
}
.purchase-page-ellipsis{
    width:28px;
    text-align:center;
    color:#98a2b3;
    font-weight:900;
}
@media(max-width:767.98px){
    .purchase-server-pagination{padding:0 16px 18px;justify-content:center;text-align:center;}
    .purchase-pagination-summary{width:100%;}
    .purchase-pagination-nav{width:100%;justify-content:center;}
    .purchase-page-link span{display:none;}
    .purchase-page-link{padding:0;width:40px;}
    .purchase-page-numbers{gap:4px;}
    .purchase-page-number{min-width:36px;width:36px;height:36px;padding:0;border-radius:11px;}
}

/* v49 - Responsive products register */
.products-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#7dd3fc #f8fafc;
}
.products-table{
    min-width:980px;
    width:100%;
}
.products-table th,
.products-table td{
    white-space:nowrap;
}
.products-table .product-main-cell{
    min-width:260px;
    white-space:normal;
}
.products-table .product-main-cell b{
    display:block;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.products-table .product-main-cell small{
    margin-top:5px;
    overflow-wrap:anywhere;
}
.product-row-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.product-row-actions .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    white-space:nowrap;
}
.product-row-actions .btn span{display:none;}

@media(max-width:991.98px){
    .products-toolbar-card{
        padding:18px;
        max-width:100%;
        overflow:hidden;
    }
    .products-toolbar-card > .d-flex.justify-content-between{
        align-items:flex-start!important;
    }
    .products-table{min-width:900px;}
}

@media(max-width:767.98px){
    .products-toolbar-card{
        padding:14px;
        border-radius:18px;
    }
    .products-toolbar-card > .d-flex.justify-content-between{
        display:grid!important;
        grid-template-columns:minmax(0,1fr);
        gap:12px!important;
    }
    .products-toolbar-card > .d-flex.justify-content-between > .d-flex{
        display:grid!important;
        grid-template-columns:1fr;
        width:100%;
        gap:8px!important;
    }
    .products-toolbar-card > .d-flex.justify-content-between > .d-flex .btn{
        width:100%;
        justify-content:center;
    }
    .products-table-wrap{
        overflow:visible!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
    }
    .products-table{
        display:block;
        min-width:0!important;
        width:100%!important;
    }
    .products-table thead{display:none;}
    .products-table tbody{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:12px;
        width:100%;
    }
    .products-table tbody tr{
        display:block;
        width:100%;
        border:1px solid #f3d9e7;
        border-radius:18px;
        background:#fff;
        box-shadow:0 10px 24px rgba(95,24,61,.06);
        overflow:hidden;
    }
    .products-table tbody tr:hover{background:#fff!important;}
    .products-table tbody tr.price-attention-row{
        background:linear-gradient(145deg,#fff7f9,#fff)!important;
        border-color:#fecdd3;
    }
    .products-table tbody td{
        display:grid;
        grid-template-columns:minmax(96px,38%) minmax(0,1fr);
        align-items:center;
        gap:12px;
        width:100%;
        min-width:0!important;
        padding:11px 13px!important;
        white-space:normal!important;
        text-align:right!important;
        border-bottom:1px solid #f8e8f0!important;
        overflow-wrap:anywhere;
    }
    .products-table tbody td::before{
        content:attr(data-label);
        color:#667085;
        font-size:.69rem;
        line-height:1.2;
        font-weight:950;
        text-transform:uppercase;
        letter-spacing:.055em;
        text-align:left;
    }
    .products-table tbody td:last-child{border-bottom:0!important;}
    .products-table tbody td.product-main-cell{
        display:block;
        min-width:0;
        padding:16px 14px!important;
        text-align:left!important;
        background:linear-gradient(135deg,#f8fafc,#fff);
    }
    .products-table tbody td.product-main-cell::before{display:none;}
    .products-table .product-main-cell b{
        font-size:1rem;
        color:#081120;
    }
    .products-table .product-main-cell small{
        font-size:.74rem;
        line-height:1.45;
    }
    .products-table .product-price-flags{justify-content:flex-start;}
    .products-table tbody td.product-actions-cell{
        display:block;
        padding:12px 13px!important;
    }
    .products-table tbody td.product-actions-cell::before{display:none;}
    .products-table tbody td.product-actions-cell:empty{display:none;}
    .product-row-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        gap:8px;
    }
    .product-row-actions .btn{
        width:100%;
        min-height:42px;
    }
    .product-row-actions .btn span{display:inline;}
    .products-table tbody tr > td[colspan]{
        display:block;
        text-align:center!important;
        border:0!important;
    }
    .products-table tbody tr > td[colspan]::before{display:none;}
}


/* Kenstar v1 — Kopano deep blue + electric cyan theme */
:root{
 --primary:#2563eb;--primary2:#06b6d4;--primary3:#60a5fa;--ink:#0f172a;--muted:#64748b;
 --border:#dbe3ee;--bg:#f4f8fc;--card:#ffffff;--dark:#081120;--field-focus:#06b6d4;
}
.brand-icon img,.auth-brand-icon img{width:100%;height:100%;object-fit:contain;border-radius:12px;background:#fff;padding:4px}
.business-logo-settings{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:18px;background:#f8fafc}
.business-logo-preview{width:110px;height:110px;border-radius:20px;background:#fff;border:1px dashed #94a3b8;display:grid;place-items:center;overflow:hidden;color:var(--primary);font-size:34px}
.business-logo-preview img{width:100%;height:100%;object-fit:contain;padding:8px}
.sidebar{background:radial-gradient(circle at top left,rgba(6,182,212,.22),transparent 34%),linear-gradient(180deg,#081120 0%,#111827 55%,#030712 100%)!important}
.btn-primary,.action-chip.chip-primary,.auth-submit-btn{background:linear-gradient(135deg,#2563eb,#06b6d4)!important;border-color:#2563eb!important;box-shadow:0 14px 32px rgba(37,99,235,.20)!important}
.btn-primary:hover,.auth-submit-btn:hover{background:linear-gradient(135deg,#1d4ed8,#0891b2)!important}
.premium-auth-body{background:radial-gradient(circle at 12% 15%,rgba(6,182,212,.20),transparent 30%),radial-gradient(circle at 88% 85%,rgba(96,165,250,.18),transparent 34%),linear-gradient(135deg,#081120 0%,#0f2847 48%,#030712 100%)!important}
.premium-dashboard-hero,.attendant-dashboard-hero,.staff-hero-card,.premium-report-hero,.pos-premium-hero,.client-total-display{background:radial-gradient(circle at top right,rgba(6,182,212,.22),transparent 36%),linear-gradient(135deg,#081120,#111827 58%,#030712)!important}
.table thead th,.premium-data-table thead th,.pos-cart-table thead th{background:#111827!important;color:#fff!important}
@media(max-width:575px){.business-logo-settings{grid-template-columns:1fr}.business-logo-preview{width:96px;height:96px}}

.premium-badge.badge-primary-soft,.badge-primary-soft{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}

/* Kenstar v1: clearer stock purchase detail and totals alignment */
.purchase-items-table .purchase-product-col,
.purchase-items-table .purchase-product-details-cell{
    width:46%;
    min-width:280px;
    text-align:left!important;
}
.purchase-items-table .purchase-qty-col,
.purchase-items-table .purchase-number-cell{
    width:13%;
    min-width:110px;
    text-align:right!important;
}
.purchase-items-table .purchase-money-col,
.purchase-items-table .purchase-money-cell,
.purchase-items-table .purchase-total-col,
.purchase-items-table .purchase-line-total-cell,
.purchase-items-table .purchase-status-cell{
    width:17%;
    min-width:135px;
    text-align:right!important;
}
.purchase-items-table .purchase-action-col,
.purchase-items-table .purchase-action-cell{
    width:58px;
    min-width:58px;
    text-align:right!important;
}
.purchase-product-details-cell b,
.purchase-register-details b{
    display:block;
    color:#172033;
    font-weight:1000;
    line-height:1.25;
}
.purchase-product-details-cell small,
.purchase-register-details small{
    display:block;
    margin-top:5px;
    color:#7b8798;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
}
.purchase-number-cell,
.purchase-money-cell,
.purchase-line-total-cell{
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.purchase-line-total-cell b{
    color:#0f5f8f;
    font-size:15px;
    font-weight:1000;
}
.purchase-items-table tbody tr:hover .purchase-line-total-cell{
    background:rgba(14,165,233,.045);
}
.purchase-submit-panel{
    width:100%;
    max-width:390px;
    justify-self:end;
}
.purchase-grand-total{
    text-align:right;
}
.purchase-grand-total span{
    text-align:left;
}
.pending-approval-table th:first-child,
.pending-approval-table td:first-child{
    text-align:left!important;
    min-width:240px;
}
.pending-approval-table th:not(:first-child),
.pending-approval-table td:not(:first-child){
    text-align:right!important;
}
.pending-approval-table input{
    font-variant-numeric:tabular-nums;
}
.purchase-history-table .purchase-register-details{
    min-width:165px;
}
.purchase-history-table .purchase-money-cell,
.purchase-history-table .purchase-number-cell{
    text-align:right!important;
    font-variant-numeric:tabular-nums;
}
#purchaseItemsModal th:first-child,
#purchaseItemsModal td:first-child{
    text-align:left!important;
}
#purchaseItemsModal th.text-end,
#purchaseItemsModal td.text-end{
    text-align:right!important;
    font-variant-numeric:tabular-nums;
}
@media (max-width: 991.98px){
    .purchase-submit-panel{
        max-width:none;
        justify-self:stretch;
    }
}
@media (max-width: 575.98px){
    .purchase-items-table .purchase-product-col,
    .purchase-items-table .purchase-product-details-cell{
        min-width:230px;
    }
    .purchase-grand-total{
        min-height:72px;
        padding:16px 17px;
    }
    .purchase-grand-total strong{
        font-size:21px;
    }
}
