/* Ultimate POS V7.3 - Modern UI enhancement layer */
:root{--ui-bg:#f5f7fb;--ui-surface:#fff;--ui-border:#e5e9f0;--ui-text:#172033;--ui-muted:#667085;--ui-radius:14px;--ui-shadow:0 8px 24px rgba(16,24,40,.06)}
body{color:var(--ui-text);-webkit-font-smoothing:antialiased}
main{background:var(--ui-bg)!important}
#scrollable-container{background:var(--ui-bg)}
.side-bar{border-right:1px solid var(--ui-border);box-shadow:3px 0 18px rgba(16,24,40,.025)}
.side-bar>a:first-child{min-height:60px;box-shadow:inset 0 -1px rgba(255,255,255,.12)}
#side-bar a{border-radius:9px;margin-left:7px;margin-right:7px}
#sidebar-search{box-shadow:none!important}
.theme-header-bg{box-shadow:0 2px 12px rgba(16,24,40,.12)}
.content-header{padding-top:22px!important}.content-header h1{font-weight:700!important;letter-spacing:-.02em}
.box,.card,.tw-bg-white.tw-ring-1{border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow)!important}
.box{border-radius:var(--ui-radius)!important;overflow:hidden;border-top:0!important}.box-header{padding:16px 18px;border-bottom:1px solid var(--ui-border)}.box-body{padding:18px}
.form-control,.select2-container .select2-selection--single,.select2-container--default .select2-selection--multiple{border:1px solid #d8dee8!important;border-radius:9px!important;min-height:40px;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}.form-control:focus,.select2-container--focus .select2-selection{border-color:var(--theme-700)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-700) 12%,transparent)!important}
.btn{border-radius:9px!important;font-weight:600;box-shadow:none!important}.btn-primary,.btn-success,.btn-info{border-color:transparent!important}.btn-sm{border-radius:7px!important}
.table{background:#fff}.table>thead>tr>th{background:#f8fafc;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--ui-border)!important;padding-top:12px!important;padding-bottom:12px!important}.table>tbody>tr>td{border-top:1px solid #eef1f5!important;vertical-align:middle!important}.table-hover>tbody>tr:hover{background:#f8fbff!important}
.dataTables_wrapper .dataTables_filter input{border:1px solid #d8dee8;border-radius:9px;padding:7px 10px}.pagination>li>a,.pagination>li>span{border-radius:7px!important;margin:0 2px;border-color:var(--ui-border)!important}
.modal-content{border:0!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(16,24,40,.22)!important;overflow:hidden}.modal-header{border-bottom:1px solid var(--ui-border)!important;padding:16px 20px}.modal-footer{border-top:1px solid var(--ui-border)!important;background:#fafbfc}
.alert{border-radius:10px;border:0}.dropdown-menu{border:1px solid var(--ui-border)!important;border-radius:10px!important;box-shadow:0 14px 34px rgba(16,24,40,.12)!important}
.nav-tabs>li>a{border-radius:9px 9px 0 0!important;font-weight:600}.label{border-radius:6px!important;padding:5px 8px!important}
@media(max-width:767px){.content{padding:12px!important}.box-body{padding:13px}.theme-header-bg .tw-px-5{padding-left:12px!important;padding-right:12px!important}.table-responsive{border:0!important}}


/* POS M-Pesa placeholder - API integration to be added later */
.pos-mpesa-payment-btn {
    width: 100%;
    min-height: 52px;
    border: 1px solid #18a84a;
    border-radius: 10px;
    background: #20b957;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(32,185,87,.18);
    transition: transform .15s ease, box-shadow .15s ease;
}
.pos-mpesa-payment-btn:hover, .pos-mpesa-payment-btn:focus {
    color: #fff;
    background: #179f49;
    box-shadow: 0 6px 16px rgba(32,185,87,.25);
    outline: none;
}
.pos-mpesa-payment-btn:active { transform: translateY(1px); }
.pos-mpesa-payment-btn .pos-mpesa-icon {
    width: 30px; height: 30px; border-radius: 50%; background: #fff; color: #159447;
    display: inline-flex; align-items: center; justify-content: center; font-weight: 900; font-size: 18px;
}
.pos-mpesa-payment-btn small { font-weight: 500; opacity: .85; }
@media (max-width: 767px) { .pos-mpesa-payment-btn { flex-wrap: wrap; } .pos-mpesa-payment-btn small { width: 100%; margin-top: -6px; } }

/* ===== Ultimate POS modern dashboard ===== */
.upos-modern-dashboard{padding-bottom:28px;background:#f4f7fb;min-height:100%}
.upos-modern-dashboard>.tw-pb-6.theme-header-bg{padding-bottom:28px!important;background:linear-gradient(120deg,var(--theme-900),var(--theme-700))!important;border-radius:0 0 24px 24px;box-shadow:0 12px 32px rgba(16,24,40,.12)}
.upos-modern-dashboard .theme-header-bg h1{font-size:28px!important;font-weight:750!important;letter-spacing:-.035em!important;margin-bottom:0!important}
.upos-modern-dashboard #dashboard_date_filter{min-height:42px;border:1px solid rgba(255,255,255,.42);box-shadow:0 6px 18px rgba(16,24,40,.08)}
.upos-modern-dashboard #dashboard_location+.select2 .select2-selection{min-height:42px!important;background:#fff!important}
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-6>div,
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-4>div{border:0!important;border-radius:16px!important;box-shadow:0 10px 26px rgba(16,24,40,.08)!important;transition:transform .18s ease,box-shadow .18s ease!important;overflow:hidden;position:relative}
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-6>div:hover,
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-4>div:hover{transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(16,24,40,.12)!important}
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-6>div:before,
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-4>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--theme-700)}
.upos-modern-dashboard .tw-rounded-full{border-radius:12px!important}
.upos-modern-dashboard .tw-font-mono{font-family:inherit!important;font-size:23px!important;font-weight:750!important;letter-spacing:-.025em!important}
.upos-modern-dashboard .tw-text-gray-500{color:#667085!important}
.upos-modern-dashboard .tw-ring-1.tw-ring-gray-200:not(.select2-container){border:1px solid #e6ebf2!important;box-shadow:0 8px 24px rgba(16,24,40,.055)!important;border-radius:16px!important}
.upos-modern-dashboard h3{color:#172033!important;letter-spacing:-.02em;font-weight:700!important}
.upos-modern-dashboard .tw-border-dashed{border-style:solid!important;border-color:#edf0f5!important;background:#fff!important;border-radius:12px!important}
.upos-modern-dashboard .table-responsive,.upos-modern-dashboard .dataTables_wrapper{border-radius:12px;overflow:hidden}
.upos-modern-dashboard table.dataTable thead th{background:#f8fafc!important;color:#475467!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e8edf3!important}
.upos-modern-dashboard table.dataTable tbody td{padding-top:11px!important;padding-bottom:11px!important}
.upos-modern-dashboard .select2-selection,.upos-modern-dashboard select.form-control{border-radius:9px!important}
/* Dashboard intentionally has no descriptive subtitles; section names and live data only. */
@media(max-width:767px){.upos-modern-dashboard>.tw-pb-6.theme-header-bg{border-radius:0 0 18px 18px}.upos-modern-dashboard .theme-header-bg h1{font-size:23px!important}.upos-modern-dashboard .tw-font-mono{font-size:20px!important}}

/* ===== Dashboard v2: cleaner, less blue, no page descriptions ===== */
.upos-modern-dashboard{background:#f5f7fb!important}
.upos-modern-dashboard>.tw-pb-6.theme-header-bg{background:#f5f7fb!important;border-radius:0!important;box-shadow:none!important;padding-top:22px!important;padding-bottom:10px!important}
.upos-modern-dashboard>.tw-pb-6.theme-header-bg h1,.upos-modern-dashboard .theme-header-bg h1{color:#14213d!important;font-size:27px!important}
.upos-modern-dashboard>.tw-pb-6.theme-header-bg .tw-text-white{color:#14213d!important}
.upos-modern-dashboard #dashboard_date_filter{background:#fff!important;color:#344054!important;border:1px solid #dfe5ee!important;box-shadow:0 3px 10px rgba(16,24,40,.04)!important}
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-6>div,
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-4>div{min-height:106px;background:#fff!important;border:1px solid #e7ebf2!important;box-shadow:0 5px 16px rgba(16,24,40,.045)!important}
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-6>div:before,
.upos-modern-dashboard .tw-grid.tw-grid-cols-1.tw-gap-4.tw-mt-4>div:before{width:3px;background:#1473e6!important}
.upos-modern-dashboard .tw-ring-1.tw-ring-gray-200:not(.select2-container){box-shadow:0 5px 18px rgba(16,24,40,.045)!important;border:1px solid #e7ebf2!important}
.upos-modern-dashboard canvas{max-height:330px}

/* POS M-Pesa footer placeholder */
.upos-mpesa-footer-btn{border:1px solid #d9e7dc;background:#fff;color:#111;border-radius:8px;min-width:105px;height:38px;padding:4px 12px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 5px 12px rgba(20,110,55,.12);transition:.15s ease}
.upos-mpesa-footer-btn:hover,.upos-mpesa-footer-btn:focus{background:#f3fff6;border-color:#21a34a;transform:translateY(-1px);outline:none;box-shadow:0 7px 16px rgba(20,110,55,.18)}
.upos-mpesa-logo{display:block;width:78px;height:27px;object-fit:contain}
@media(max-width:767px){.upos-mpesa-footer-btn{height:36px;min-width:88px;padding:0 11px}}
