:root{--primary:#a21caf;--primary2:#ec4899;--ink:#111827;--muted:#667085;--border:#eadcf0;--bg:#fff7fb;--card:#fff;--dark:#3b0a45}*{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(236,72,153,.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:#fdf2f8;color:#a21caf}.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,#fdf2f8,#fff1f7);display:flex;justify-content:space-between;align-items:center}.sale-total span{font-weight:800;color:#a21caf}.sale-total strong{font-size:26px;font-weight:950;color:#86198f}.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(162,28,175,.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(236,72,153,.2),transparent 35%),linear-gradient(135deg,#ffffff,#f3fbf4);
    border:1px solid rgba(162,28,175,.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:#fdf2f8;
    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:#86198f;
    font-weight:900;
}
.pos-totals-card .grand strong{
    color:#86198f;
    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:#a21caf!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:#a21caf;
    --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,#a21caf,#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:#fdf2f8!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:#fdf2f8;
    border-color:#a21caf;
}
.matrix-check input:checked + span:before{
    background:#a21caf;
}
.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:#fdf2f8;
    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:#fdf2f8;
    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,#ec4899,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:#fdf2f8;
    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:#fff1f7;}
.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:#fdf2f8;border-color:#bbf7d0;color:#166534;}
.stk-status.err{background:#fef2f2;border-color:#fecaca;color:#991b1b;}

/* v50 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,#fdf2f8,#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;
    }
}

/* v51 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:#fff1f7!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:#fdf2f8;
    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:#fdf2f8;
    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:#fff1f7;
}
.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,#fdf2f8,#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:#fdf2f8;
    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:#fff1f7;
    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:#fdf2f8;
    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:#fff1f7;
    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:#fff1f7;
}
.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:#fdf2f8;
    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%),
      #fff1f7!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:#fdf2f8;
    color:#166534;
    font-size:26px;
    margin-bottom:18px;
}
.auth-card-kicker{
    background:#fff1f7;
    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:#fdf2f8;color:#166534;}
.staff-metric-card.admin i{background:#eff6ff;color:#1d4ed8;}
.staff-metric-card.online i{background:#fff1f7;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:#fdf2f8;
    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:#fff1f7;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:#fdf2f8;
    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:#fff1f7;
    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:#fff1f7;
}
.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:#fff1f7;
}
.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 EnaGross Beauty & Cosmetics pink theme + title spacing */
:root{
    --primary:#be185d;
    --primary2:#ec4899;
    --primary3:#f472b6;
    --ink:#1f1220;
    --muted:#73566a;
    --border:#f5d7e7;
    --bg:#fff5fa;
    --card:#fff;
    --dark:#4a1231;
    --field-focus:#ec4899;
}
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 pink theme surfaces */
.sidebar{
    background:
      radial-gradient(circle at top left,rgba(236,72,153,.30),transparent 32%),
      radial-gradient(circle at bottom right,rgba(190,24,93,.22),transparent 36%),
      linear-gradient(180deg,#2a0b1f 0%,#43122f 52%,#190817 100%)!important;
    border-right:1px solid rgba(255,255,255,.10)!important;
}
.brand-icon,
.auth-brand-icon{
    background:linear-gradient(135deg,#be185d,#ec4899)!important;
    box-shadow:0 18px 42px rgba(236,72,153,.28)!important;
}
.sidebar-user-avatar{
    background:linear-gradient(135deg,#fdf2f8,#fbcfe8)!important;
    color:#9d174d!important;
}
.sidebar nav a:hover i,
.premium-sidebar-nav a:hover i{
    background:rgba(236,72,153,.18)!important;
    color:#f9a8d4!important;
}
.sidebar nav a.active,
.premium-sidebar-nav a.active{
    background:linear-gradient(135deg,#be185d,#ec4899)!important;
    border-color:rgba(251,207,232,.35)!important;
    box-shadow:0 16px 34px rgba(236,72,153,.28)!important;
}
.sidebar nav a.active:before,
.premium-sidebar-nav a.active:before{
    background:#fbcfe8!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:#f5d7e7!important;
    box-shadow:0 18px 48px rgba(190,24,93,.07)!important;
}

.btn-primary,
.action-chip.chip-primary,
.auth-submit-btn{
    background:linear-gradient(135deg,#be185d,#ec4899)!important;
    border-color:#be185d!important;
    color:#fff!important;
    box-shadow:0 14px 32px rgba(236,72,153,.24)!important;
}
.btn-primary:hover,
.auth-submit-btn:hover{
    background:linear-gradient(135deg,#9d174d,#db2777)!important;
}
.btn-success{
    background:linear-gradient(135deg,#be185d,#ec4899)!important;
    box-shadow:0 12px 28px rgba(236,72,153,.22)!important;
}
.btn-soft,
.btn-light{
    background:#fff7fb!important;
    border-color:#f5d7e7!important;
    color:#6b2148!important;
}
.form-control:focus,
.form-select:focus,
.auth-input-wrap .form-control:focus,
.select2-container--default.select2-container--focus .select2-selection--single{
    border-color:#ec4899!important;
    box-shadow:0 0 0 .22rem rgba(236,72,153,.14)!important;
}

/* Auth/login/reset pages */
.premium-auth-body{
    background:
      radial-gradient(circle at 12% 15%,rgba(236,72,153,.23),transparent 30%),
      radial-gradient(circle at 88% 85%,rgba(244,114,182,.18),transparent 34%),
      linear-gradient(135deg,#2a0b1f 0%,#43122f 48%,#190817 100%)!important;
}
.premium-auth-showcase:before{background:rgba(236,72,153,.14)!important;}
.auth-kicker{
    color:#fbcfe8!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:#fdf2f8!important;
    color:#be185d!important;
}
.auth-feature-grid i{
    background:rgba(236,72,153,.18)!important;
    color:#fbcfe8!important;
}
.auth-bottom-link a{color:#be185d!important;}
.auth-bottom-link a:hover{color:#9d174d!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(236,72,153,.22),transparent 36%),
      radial-gradient(circle at bottom left,rgba(251,207,232,.10),transparent 38%),
      linear-gradient(135deg,#2a0b1f,#4a1231 58%,#190817)!important;
    box-shadow:0 22px 58px rgba(74,18,49,.22)!important;
}
.dash-kicker,
.auth-kicker,
.client-total-display span{
    color:#fbcfe8!important;
}
.premium-metric-card:after{background:rgba(236,72,153,.10)!important;}
.premium-metric-card .metric-icon,
.dashboard-insight-card .insight-icon,
.staff-metric-card.active i,
.staff-metric-card.online i{
    background:#fdf2f8!important;
    color:#be185d!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,#fff1f7,#fff)!important;
    border-color:#f9a8d4!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:#be185d!important;
}
.pay-method-btn:hover,
.pay-method-btn.active{
    border-color:#f9a8d4!important;
    background:linear-gradient(135deg,#fdf2f8,#ffffff)!important;
    color:#be185d!important;
    box-shadow:0 14px 36px rgba(236,72,153,.16)!important;
}
.premium-total-card .grand{
    background:linear-gradient(135deg,#2a0b1f,#4a1231)!important;
}
#posResponseModal .premium-response-actions.success-action .btn,
.premium-response-modal #posResponseAction.btn-primary,
#moduleResponseModal #moduleResponseAction.btn-primary{
    background:#be185d!important;
    border-color:#be185d!important;
    box-shadow:0 16px 36px rgba(236,72,153,.22)!important;
}

/* Badges, status pills and matrix */
.badge-success-soft,
.role-pill.attendant,
.presence-pill,
.presence-dot-pill,
.matrix-check input:checked + span{
    background:#fdf2f8!important;
    color:#be185d!important;
    border-color:#f9a8d4!important;
}
.matrix-check input:checked + span:before{background:#be185d!important;}
.matrix-group-row td{
    background:#fdf2f8!important;
    color:#be185d!important;
}
.stock-pill,
.staff-count-pill{
    background:#fff7fb!important;
    border-color:#f5d7e7!important;
    color:#6b2148!important;
}

/* Tables and filters */
.table thead th,
.premium-data-table thead th,
.pos-cart-table thead th{
    background:#4a1231!important;
    color:#fff!important;
}
.table-responsive{
    border-color:#f5d7e7!important;
}
.report-period-pills a.active,
.report-period-pills a:hover{
    background:#fdf2f8!important;
    border-color:#f9a8d4!important;
}

/* Receipt/alert modals */
.premium-response-icon{
    background:#fdf2f8!important;
    color:#be185d!important;
    box-shadow:0 18px 34px rgba(236,72,153,.16)!important;
}
.server-feedback.is-success{
    background:#fdf2f8!important;
    color:#be185d!important;
}
.submit-progress-bar{
    background:linear-gradient(90deg,#be185d,#ec4899)!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;
    }
}


/* EnaGross 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:#fbcfe8!important;
}
.auth-showcase-content p{
    font-weight:850;
    color:#ffe4f1!important;
}
@media(max-width:991px){
    .auth-powered-by{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}
