/* Novistic Cloud POS Phase 41 — page-by-page professional refinement.
   External stylesheet only: strict Phase 35 CSP remains compatible. */

.p40-ui .p41-page{display:block;min-width:0;animation:p41-enter .22s ease-out}
@keyframes p41-enter{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}
.p40-ui .p41-page-hero{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  margin:0 0 16px;padding:18px 20px;border:1px solid rgba(148,163,184,.11);border-radius:16px;
  background:linear-gradient(125deg,rgba(124,92,255,.10),rgba(56,200,255,.035) 43%,rgba(14,22,37,.75));
  box-shadow:0 16px 38px rgba(0,0,0,.12)
}
.p40-ui .p41-page-hero h1{margin:2px 0 4px;font-size:24px;line-height:1.12;letter-spacing:-.45px;color:#f7f9fc}
.p40-ui .p41-page-hero p{margin:0;max-width:720px;font-size:11.5px;line-height:1.55;color:#8795aa}
.p40-ui .p41-eyebrow{display:block;margin-bottom:4px;color:#9b8cff;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.p40-ui .p41-hero-status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 11px;border:1px solid rgba(148,163,184,.12);border-radius:999px;background:#101827;color:#9eabc0;font-size:10px;font-weight:700}
.p40-ui .p41-live-dot{width:7px;height:7px;border-radius:50%;background:#28ba8c;box-shadow:0 0 0 4px rgba(40,186,140,.09)}
.p40-ui .p41-primary-action{min-width:122px!important;background:linear-gradient(105deg,#684dde,#7d5cf2)!important}

.p40-ui .p41-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 14px}
.p40-ui .p41-metric{
  position:relative;overflow:hidden;padding:14px 15px;border:1px solid rgba(148,163,184,.105);border-radius:13px;
  background:linear-gradient(145deg,#111a2a,#0d1524);box-shadow:0 9px 24px rgba(0,0,0,.10)
}
.p40-ui .p41-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(#7c5cff,#38c8ff);opacity:.85}
.p40-ui .p41-metric.is-warn:before{background:linear-gradient(#d2963d,#ffb85b)}
.p40-ui .p41-metric>span{display:block;color:#7f8da3;font-size:9.5px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.p40-ui .p41-metric>b{display:block;margin:6px 0 3px;color:#f7f9fc;font-size:21px;line-height:1.08;letter-spacing:-.35px}
.p40-ui .p41-metric>small{display:block;color:#6f7e95;font-size:9.5px;line-height:1.45}
.p40-ui .p41-main-panel{padding:16px!important}

/* Dashboard — executive overview */
.p40-ui .p41-dashboard .p10-page-head{padding:2px 1px 4px!important;margin-bottom:14px!important}
.p40-ui .p41-dashboard .p10-kpis{gap:11px!important}
.p40-ui .p41-dashboard .p10-kpi{min-height:112px!important;padding:15px!important;background:linear-gradient(145deg,#111b2d,#0d1524)!important}
.p40-ui .p41-dashboard .p10-kpi-icon{width:38px!important;height:38px!important;border-radius:11px!important}
.p40-ui .p41-dashboard .p10-kpi-value{font-size:27px!important}
.p40-ui .p41-dashboard .p10-card{background:linear-gradient(150deg,#101929,#0c1422)!important;border-color:rgba(148,163,184,.105)!important}
.p40-ui .p41-dashboard .p10-invoices .p10-table-wrap{max-height:390px;overflow:auto}
.p40-ui .p41-dashboard .p10-quick{min-height:78px!important}

/* POS — cashier-first checkout */
.p40-ui .p41-pos .p41-pos-hero{margin-bottom:11px}
.p40-ui .p41-pos .p11-pos-tabs{position:sticky;top:76px;z-index:14;padding:7px;border:1px solid rgba(148,163,184,.09);border-radius:12px;background:rgba(9,14,24,.88);backdrop-filter:blur(12px)}
.p40-ui .p41-pos .p11-pos-shell{align-items:start}
.p40-ui .p41-pos .p11-pos-card{overflow:hidden}
.p40-ui .p41-pos .p11-product-grid{max-height:310px!important;scrollbar-gutter:stable}
.p40-ui .p41-pos .p11-cart-list{max-height:390px;overflow:auto;padding-right:2px}
.p40-ui .p41-pos .p11-pos-right .p11-pos-card{border-color:rgba(124,92,255,.18)!important}
.p40-ui .p41-pos .p11-summary{background:linear-gradient(145deg,#131e31,#101827)!important}
.p40-ui .p41-pos .p11-total-line.grand{padding-top:7px!important;border-top:1px solid rgba(148,163,184,.11)}
.p40-ui .p41-pos .p11-complete{font-weight:900!important;letter-spacing:.01em!important}

/* Sales — invoice operations */
.p40-ui .p41-sales .p41-main-panel>.toolbar{padding-bottom:13px;margin-bottom:12px;border-bottom:1px solid rgba(148,163,184,.09)}
.p40-ui .p41-sales .toolbar .left{flex:1;min-width:300px}
.p40-ui .p41-sales #saleHistorySearch{width:min(560px,52vw)!important;max-width:none!important}
.p40-ui .p41-sales #saleBarcodeScan{width:190px!important}
.p40-ui .p41-sales .chart-card{margin:14px 0!important}
.p40-ui .p41-sales .table-wrap{max-height:560px;overflow:auto}
.p40-ui .p41-sales thead th{position:sticky;top:0;z-index:2}
.p40-ui .p41-sales td:first-child b{color:#a99cff}
.p40-ui .p41-sales td:nth-child(4) b,.p40-ui .p41-sales td:nth-child(5){font-variant-numeric:tabular-nums}

/* Inventory — stock health and controls */
.p40-ui .p41-inventory-health{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 13px}
.p40-ui .p41-inventory-health span{padding:7px 10px;border:1px solid rgba(148,163,184,.10);border-radius:999px;background:#101827;color:#8d9bb0;font-size:9.5px}
.p40-ui .p41-inventory-health span b{color:#e6ebf3;margin-right:4px}
.p40-ui .p41-inventory-health .warn{border-color:rgba(226,164,66,.25);color:#e6bc73}
.p40-ui .p41-inventory-health .danger{border-color:rgba(224,84,109,.25);color:#ee8799}
.p40-ui .p41-inventory .p41-kpi-cards{gap:10px!important;margin-bottom:13px}
.p40-ui .p41-inventory .p41-kpi-cards .card{min-height:94px;padding:14px!important;background:linear-gradient(145deg,#111a2a,#0d1524)!important}
.p40-ui .p41-inventory .panel{position:relative}
.p40-ui .p41-inventory .panel>h3{margin-bottom:10px!important}
.p40-ui .p41-inventory .form-grid{padding:2px 0 0}
.p40-ui .p41-inventory .table-wrap{max-height:470px;overflow:auto}
.p40-ui .p41-inventory thead th{position:sticky;top:0;z-index:2}

/* Customers — directory + receivables */
.p40-ui .p41-customers .p41-customer-charts{margin:0 0 14px!important}
.p40-ui .p41-customers .p41-customer-add{border-color:rgba(124,92,255,.16)!important;background:linear-gradient(145deg,#111a2a,#0d1524)!important}
.p40-ui .p41-customers .p41-customer-add h3:after{content:"New profile";margin-left:8px;padding:3px 6px;border-radius:999px;background:rgba(124,92,255,.10);color:#9f91ff;font-size:8px;font-weight:800;vertical-align:middle}
.p40-ui .p41-customers .p41-customer-directory>.toolbar{padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid rgba(148,163,184,.09)}
.p40-ui .p41-customers .p41-customer-directory .table-wrap{max-height:560px;overflow:auto}
.p40-ui .p41-customers .p41-customer-directory thead th{position:sticky;top:0;z-index:2}
.p40-ui .p41-customers .p41-customer-directory td:first-child b{color:#e8ecf4}
.p40-ui .p41-customers .p41-customer-directory td:nth-child(4){font-weight:800;font-variant-numeric:tabular-nums}

/* Reports — BI workspace */
.p40-ui .p41-reports .p41-main-panel>.toolbar{padding:5px 0 14px;border-bottom:1px solid rgba(148,163,184,.09);margin-bottom:11px}
.p40-ui .p41-reports .tabs{display:flex;gap:6px;padding:6px;margin:0 0 14px;border:1px solid rgba(148,163,184,.09);border-radius:12px;background:#0c1422;overflow-x:auto}
.p40-ui .p41-reports .tab{flex:0 0 auto;min-height:34px;padding:7px 12px;border:0!important;border-radius:8px!important;background:transparent!important;color:#7f8da3!important;font-size:10px!important;font-weight:800!important;text-transform:capitalize}
.p40-ui .p41-reports .tab.active{background:#6950dd!important;color:#fff!important;box-shadow:0 7px 18px rgba(92,70,191,.24)!important}
.p40-ui .p41-reports .grid.two{gap:12px!important}
.p40-ui .p41-reports .chart-card{min-height:250px}
.p40-ui .p41-reports .table-wrap{max-height:560px;overflow:auto}
.p40-ui .p41-reports thead th{position:sticky;top:0;z-index:2}

/* Settings — control center */
.p40-ui .p41-settings .p41-settings-nav{display:flex;gap:6px;margin:-3px 0 14px;padding:6px;border:1px solid rgba(148,163,184,.09);border-radius:12px;background:#0c1422;overflow-x:auto}
.p40-ui .p41-settings .p41-settings-nav span{flex:0 0 auto;padding:6px 10px;border-radius:8px;color:#7f8da3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#101827}
.p40-ui .p41-settings>.panel{margin-bottom:12px!important;border-color:rgba(148,163,184,.105)!important}
.p40-ui .p41-settings>.panel>h3,.p40-ui .p41-settings>.panel>.toolbar h3{font-size:15px!important;letter-spacing:-.15px}
.p40-ui .p41-settings .p41-settings-shop{background:linear-gradient(145deg,#111a2a,#0c1422)!important;border-color:rgba(124,92,255,.16)!important}
.p40-ui .p41-settings .form-grid{gap:11px 12px!important}
.p40-ui .p41-settings .kpi-list{border:1px solid rgba(148,163,184,.09);border-radius:11px;overflow:hidden}
.p40-ui .p41-settings .kpi-item{padding:10px 12px!important;background:#0e1726!important;border-color:rgba(148,163,184,.08)!important}
.p40-ui .p41-settings .table-wrap{max-height:500px;overflow:auto}
.p40-ui .p41-settings thead th{position:sticky;top:0;z-index:2}

/* Focus and micro-interaction */
.p40-ui .p41-page button,.p40-ui .p41-page input,.p40-ui .p41-page select,.p40-ui .p41-page textarea{transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.p40-ui .p41-page button:not(:disabled):active{transform:translateY(1px)}
.p40-ui .p41-page input:focus,.p40-ui .p41-page select:focus,.p40-ui .p41-page textarea:focus{border-color:rgba(124,92,255,.58)!important;box-shadow:0 0 0 3px rgba(124,92,255,.08)!important}

/* RTL */
.p40-ui.urdu-mode .p41-page-hero,.p40-ui.urdu-mode .p41-metric,.p40-ui.urdu-mode .p41-settings-nav{direction:rtl;text-align:right}
.p40-ui.urdu-mode .p41-metric:before{left:auto;right:0}
.p40-ui.urdu-mode .p41-customer-add h3:after{margin-left:0;margin-right:8px}

@media(max-width:1180px){
  .p40-ui .p41-page-hero{padding:16px 17px}
  .p40-ui .p41-pos .p11-pos-tabs{top:72px}
  .p40-ui .p41-metric>b{font-size:19px}
}
@media(max-width:900px){
  .p40-ui .p41-metric-grid{grid-template-columns:1fr 1fr}
  .p40-ui .p41-metric-grid .p41-metric:last-child{grid-column:1/-1}
  .p40-ui .p41-page-hero{align-items:flex-start}
  .p40-ui .p41-sales .toolbar .left{min-width:0}
  .p40-ui .p41-sales #saleHistorySearch{width:100%!important}
}
@media(max-width:720px){
  .p40-ui .p41-page{padding-top:2px}
  .p40-ui .p41-page-hero{display:block;margin-bottom:11px;padding:14px;border-radius:13px}
  .p40-ui .p41-page-hero h1{font-size:21px}
  .p40-ui .p41-page-hero p{font-size:10.5px}
  .p40-ui .p41-page-hero>.btn,.p40-ui .p41-page-hero>.p41-hero-status{margin-top:10px;width:100%;justify-content:center}
  .p40-ui .p41-metric-grid{grid-template-columns:1fr;gap:8px;margin-bottom:10px}
  .p40-ui .p41-metric-grid .p41-metric:last-child{grid-column:auto}
  .p40-ui .p41-metric{padding:12px 13px}
  .p40-ui .p41-metric>b{font-size:18px}
  .p40-ui .p41-pos .p11-pos-tabs{position:static;padding:5px}
  .p40-ui .p41-sales .p41-main-panel,.p40-ui .p41-reports .p41-main-panel{padding:12px!important}
  .p40-ui .p41-sales #saleBarcodeScan{width:100%!important}
  .p40-ui .p41-inventory-health{gap:6px}
  .p40-ui .p41-inventory-health span{flex:1 1 calc(50% - 6px);text-align:center}
  .p40-ui .p41-settings .p41-settings-nav{position:sticky;top:0;z-index:4;background:rgba(12,20,34,.94);backdrop-filter:blur(10px)}
}
@media(max-width:460px){
  .p40-ui .p41-page-hero h1{font-size:19px}
  .p40-ui .p41-eyebrow{font-size:8px}
  .p40-ui .p41-dashboard .p10-kpi{min-height:96px!important}
  .p40-ui .p41-dashboard .p10-kpi-value{font-size:22px!important}
  .p40-ui .p41-inventory-health span{flex-basis:100%}
  .p40-ui .p41-settings .p41-settings-nav{margin-inline:-2px}
}
@media(prefers-reduced-motion:reduce){.p40-ui .p41-page{animation:none}.p40-ui .p41-page *{transition:none!important}}
