/* Novistic Cloud POS Phase 42 — operational workspace UI refinement.
   External stylesheet only: strict script/style CSP remains intact. */

.p40-ui .p42-page{display:block;min-width:0;animation:p42-enter .2s ease-out}
@keyframes p42-enter{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.p40-ui .p42-page-hero{position:relative;overflow:hidden}
.p40-ui .p42-page-hero:after{content:"";position:absolute;right:-54px;top:-82px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.12),transparent 67%);pointer-events:none}
.p40-ui .p42-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.p40-ui .p42-page>.panel,.p40-ui .p42-page>.grid{margin-bottom:12px}
.p40-ui .p42-page .panel{border-color:rgba(148,163,184,.105)!important;background:linear-gradient(150deg,#101929,#0c1422)!important}
.p40-ui .p42-page .panel>.toolbar:first-child{gap:12px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid rgba(148,163,184,.085)}
.p40-ui .p42-page .panel>h3:first-child{margin-bottom:11px!important;font-size:15px!important;letter-spacing:-.15px}
.p40-ui .p42-page .table-wrap{border:1px solid rgba(148,163,184,.085);border-radius:11px;background:#0a121f;overflow:auto}
.p40-ui .p42-page thead th{position:sticky;top:0;z-index:2;background:#111a29!important;box-shadow:0 1px rgba(148,163,184,.08)}
.p40-ui .p42-page tbody tr:hover td{background:rgba(124,92,255,.035)!important}
.p40-ui .p42-page .form-grid{gap:11px 12px!important}
.p40-ui .p42-page .chart-card{border-color:rgba(148,163,184,.10)!important;background:linear-gradient(150deg,#101929,#0d1524)!important}
.p40-ui .p42-page .alert{border-radius:10px!important}
.p40-ui .p42-page input:focus,.p40-ui .p42-page select:focus,.p40-ui .p42-page textarea:focus{border-color:rgba(124,92,255,.58)!important;box-shadow:0 0 0 3px rgba(124,92,255,.08)!important}

/* Products — catalog studio */
.p40-ui .p42-products .p42-product-editor{border-color:rgba(124,92,255,.18)!important;background:linear-gradient(145deg,#111b2c,#0d1524)!important}
.p40-ui .p42-products .p42-product-editor>.toolbar h3:after{content:"Catalog editor";margin-left:8px;padding:3px 7px;border-radius:999px;background:rgba(124,92,255,.11);color:#a99cff;font-size:8px;font-weight:800;vertical-align:middle;text-transform:uppercase;letter-spacing:.05em}
.p40-ui .p42-products .p42-product-editor .form-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.p40-ui .p42-products .p42-product-editor .form-grid .full{grid-column:1/-1!important}
.p40-ui .p42-products .p42-product-units{border-style:dashed!important;background:linear-gradient(150deg,#0f1827,#0b1320)!important}
.p40-ui .p42-products .p42-product-units>.toolbar h3:after{content:"Flexible selling units";margin-left:8px;color:#718198;font-size:9px;font-weight:600}
.p40-ui .p42-products .p42-products-directory .toolbar{align-items:center}
.p40-ui .p42-products .p42-products-directory #productSearch{width:min(420px,44vw)!important}
.p40-ui .p42-products .p42-products-directory .table-wrap{max-height:570px}
.p40-ui .p42-products .p42-products-directory td:nth-child(5),.p40-ui .p42-products .p42-products-directory td:nth-child(6),.p40-ui .p42-products .p42-products-directory td:nth-child(7){font-variant-numeric:tabular-nums}
.p40-ui .p42-products .p42-product-categories{background:linear-gradient(145deg,#0e1725,#0b1320)!important}

/* Returns — controlled reverse workflow */
.p40-ui .p42-returns .p42-returns-workspace{border-color:rgba(226,164,66,.16)!important}
.p40-ui .p42-returns .p42-returns-workspace>.toolbar .left{flex:1;min-width:320px}
.p40-ui .p42-returns #returnSearch{width:min(560px,52vw)!important;max-width:none!important}
.p40-ui .p42-returns #returnBarcodeScan{width:200px!important}
.p40-ui .p42-returns .p42-returns-workspace .grid.two{gap:12px!important;margin:12px 0!important}
.p40-ui .p42-returns .p42-returns-workspace>.table-wrap{max-height:460px}
.p40-ui .p42-returns .p42-returns-history .table-wrap{max-height:500px}
.p40-ui .p42-returns .p42-returns-history td:nth-child(5){font-weight:800;color:#efb765;font-variant-numeric:tabular-nums}
.p40-ui .p42-returns .btn.warning{box-shadow:0 7px 18px rgba(205,143,51,.12)}

/* Purchases — procurement desk */
.p40-ui .p42-purchases .p42-purchase-entry{border-color:rgba(56,200,255,.14)!important;background:linear-gradient(145deg,#101b2c,#0c1524)!important}
.p40-ui .p42-purchases .p42-purchase-entry>.toolbar h3:after{content:"Stock-in workflow";margin-left:8px;color:#6fcfe9;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.p40-ui .p42-purchases .p42-purchase-entry .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.p40-ui .p42-purchases .p42-purchase-entry .wide{grid-column:span 2!important}
.p40-ui .p42-purchases .p42-purchase-entry .full{grid-column:1/-1!important;padding:8px 10px;border-radius:9px;background:#0c1522;border:1px solid rgba(148,163,184,.075)}
.p40-ui .p42-purchases .grid.two{gap:12px!important}
.p40-ui .p42-purchases .p42-purchase-history .table-wrap{max-height:560px}
.p40-ui .p42-purchases .p42-purchase-history td:nth-child(6),.p40-ui .p42-purchases .p42-purchase-history td:nth-child(7),.p40-ui .p42-purchases .p42-purchase-history td:nth-child(8){font-variant-numeric:tabular-nums}
.p40-ui .p42-purchases .p42-purchase-history td:nth-child(8){font-weight:800}

/* Expenses — spend-control ledger */
.p40-ui .p42-expenses .p42-expense-entry{border-color:rgba(224,84,109,.14)!important;background:linear-gradient(145deg,#171725,#0d1524)!important}
.p40-ui .p42-expenses .p42-expense-entry>.toolbar h3:after{content:"Record operating cost";margin-left:8px;color:#e58b9d;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.p40-ui .p42-expenses .p42-expense-entry .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.p40-ui .p42-expenses .p42-expense-entry .wide{grid-column:span 2!important}
.p40-ui .p42-expenses>.grid.two{gap:12px!important}
.p40-ui .p42-expenses .p42-expense-history .table-wrap{max-height:570px}
.p40-ui .p42-expenses .p42-expense-history td:nth-child(4){font-weight:850;color:#ec94a4;font-variant-numeric:tabular-nums}
.p40-ui .p42-expenses .p42-expense-history td:nth-child(2){color:#aab4c4;font-weight:700}

/* Suppliers — payable relationship workspace */
.p40-ui .p42-suppliers .p42-supplier-charts{gap:12px!important}
.p40-ui .p42-suppliers .p42-supplier-add{border-color:rgba(124,92,255,.16)!important;background:linear-gradient(145deg,#111a2a,#0d1524)!important}
.p40-ui .p42-suppliers .p42-supplier-add>h3:after{content:"New supplier";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 .p42-suppliers .p42-supplier-directory>.toolbar{padding-bottom:11px;margin-bottom:10px;border-bottom:1px solid rgba(148,163,184,.085)}
.p40-ui .p42-suppliers .p42-supplier-directory .table-wrap{max-height:520px}
.p40-ui .p42-suppliers .p42-supplier-directory td:nth-child(4){font-weight:850;font-variant-numeric:tabular-nums}
.p40-ui .p42-suppliers .p42-supplier-payables,.p40-ui .p42-suppliers .p42-supplier-payments{position:relative}
.p40-ui .p42-suppliers .p42-supplier-payables .table-wrap,.p40-ui .p42-suppliers .p42-supplier-payments .table-wrap{max-height:480px}
.p40-ui .p42-suppliers .p42-supplier-payments .form-grid{padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:10px;background:#0b1422}

/* Debts — receivables command center */
.p40-ui .p42-debts .p42-debt-cards{gap:10px!important;margin-bottom:12px!important}
.p40-ui .p42-debts .p42-debt-cards .card{min-height:92px!important;background:linear-gradient(145deg,#141827,#0d1524)!important}
.p40-ui .p42-debts .p42-debt-reminders{border-color:rgba(226,164,66,.17)!important}
.p40-ui .p42-debts .p42-debt-finder{border-color:rgba(224,84,109,.15)!important}
.p40-ui .p42-debts .p42-debt-finder>.toolbar .right{flex:1;justify-content:flex-end}
.p40-ui .p42-debts #debtSearch{width:min(460px,40vw)!important}
.p40-ui .p42-debts #debtProduct{min-width:190px}
.p40-ui .p42-debts .p42-debt-finder .table-wrap{max-height:560px}
.p40-ui .p42-debts .p42-debt-summary .table-wrap{max-height:460px}
.p40-ui .p42-debts .p42-debt-summary td:nth-child(5){font-weight:850;font-variant-numeric:tabular-nums}

/* Calendar — business timeline */
.p40-ui .p42-calendar .p42-calendar-month-kpis{gap:10px!important;margin-bottom:12px!important}
.p40-ui .p42-calendar .p42-calendar-month-kpis .card{min-height:96px!important;background:linear-gradient(145deg,#111a2a,#0d1524)!important}
.p40-ui .p42-calendar .p42-calendar-board{padding:15px!important;border-color:rgba(56,200,255,.13)!important}
.p40-ui .p42-calendar .p42-calendar-board>.toolbar{position:sticky;top:72px;z-index:8;padding:9px 0 12px;background:linear-gradient(180deg,#101929 75%,rgba(16,25,41,.0));backdrop-filter:blur(8px)}
.p40-ui .p42-calendar .calendar-grid{gap:6px!important}
.p40-ui .p42-calendar .calendar-head{padding:7px 5px!important;color:#7e8ca1!important;font-size:9px!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.07em}
.p40-ui .p42-calendar .calendar-day{min-height:128px!important;border:1px solid rgba(148,163,184,.09)!important;border-radius:11px!important;background:linear-gradient(145deg,#0f1827,#0c1422)!important;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease!important}
.p40-ui .p42-calendar .calendar-day:not(.empty):hover{transform:translateY(-1px);border-color:rgba(124,92,255,.25)!important;box-shadow:0 9px 20px rgba(0,0,0,.12)}
.p40-ui .p42-calendar .calendar-day.active{border-color:rgba(124,92,255,.52)!important;background:linear-gradient(145deg,rgba(124,92,255,.14),#0d1625)!important;box-shadow:0 0 0 2px rgba(124,92,255,.07)}
.p40-ui .p42-calendar .calendar-date span:first-child{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#141e30;color:#eef2f8;font-weight:850}
.p40-ui .p42-calendar .calendar-lines span{padding:2px 0!important;border-bottom:1px solid rgba(148,163,184,.055)}
.p40-ui .p42-calendar .calendar-lines span:last-child{border-bottom:0}
.p40-ui .p42-calendar .calendar-lines b{color:#74839a!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.04em}
.p40-ui .p42-calendar .calendar-lines em{color:#b9c3d1!important;font-size:9px!important;font-style:normal;font-variant-numeric:tabular-nums}
.p40-ui .p42-calendar>.panel .table-wrap{max-height:430px}

/* RTL refinement */
.p40-ui.urdu-mode .p42-page-hero,.p40-ui.urdu-mode .p42-page .toolbar,.p40-ui.urdu-mode .p42-page .form-grid{direction:rtl;text-align:right}
.p40-ui.urdu-mode .p42-product-editor>.toolbar h3:after,.p40-ui.urdu-mode .p42-product-units>.toolbar h3:after,.p40-ui.urdu-mode .p42-purchase-entry>.toolbar h3:after,.p40-ui.urdu-mode .p42-expense-entry>.toolbar h3:after,.p40-ui.urdu-mode .p42-supplier-add>h3:after{margin-left:0;margin-right:8px}
.p40-ui.urdu-mode .p42-calendar .calendar-grid{direction:rtl}

@media(max-width:1180px){
  .p40-ui .p42-products .p42-product-editor .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .p40-ui .p42-purchases .p42-purchase-entry .form-grid,.p40-ui .p42-expenses .p42-expense-entry .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .p40-ui .p42-calendar .calendar-day{min-height:116px!important}
}
@media(max-width:900px){
  .p40-ui .p42-metric-grid{grid-template-columns:1fr 1fr}
  .p40-ui .p42-metric-grid .p41-metric:last-child{grid-column:1/-1}
  .p40-ui .p42-products .p42-product-editor .form-grid,.p40-ui .p42-purchases .p42-purchase-entry .form-grid,.p40-ui .p42-expenses .p42-expense-entry .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .p40-ui .p42-returns .p42-returns-workspace>.toolbar .left{min-width:0;width:100%}
  .p40-ui .p42-returns #returnSearch{width:100%!important}
  .p40-ui .p42-debts .p42-debt-finder>.toolbar .right{width:100%;justify-content:flex-start}
  .p40-ui .p42-debts #debtSearch{width:100%!important;flex:1 1 280px}
  .p40-ui .p42-calendar .p42-calendar-board>.toolbar{position:static;background:transparent;backdrop-filter:none}
  .p40-ui .p42-calendar .calendar-grid{min-width:760px}
  .p40-ui .p42-calendar .p42-calendar-board{overflow:auto}
}
@media(max-width:720px){
  .p40-ui .p42-page-hero{margin-bottom:10px!important}
  .p40-ui .p42-metric-grid{grid-template-columns:1fr;gap:8px}
  .p40-ui .p42-metric-grid .p41-metric:last-child{grid-column:auto}
  .p40-ui .p42-products .p42-product-editor .form-grid,.p40-ui .p42-purchases .p42-purchase-entry .form-grid,.p40-ui .p42-expenses .p42-expense-entry .form-grid{grid-template-columns:1fr!important}
  .p40-ui .p42-purchases .p42-purchase-entry .wide,.p40-ui .p42-expenses .p42-expense-entry .wide{grid-column:auto!important}
  .p40-ui .p42-products .p42-products-directory #productSearch,.p40-ui .p42-returns #returnBarcodeScan,.p40-ui .p42-debts #debtProduct{width:100%!important;min-width:0}
  .p40-ui .p42-suppliers .p42-supplier-payments .form-grid{padding:8px}
  .p40-ui .p42-calendar .calendar-grid{min-width:690px}
}
@media(max-width:460px){
  .p40-ui .p42-page .panel{padding:11px!important}
  .p40-ui .p42-products .p42-product-editor>.toolbar h3:after,.p40-ui .p42-products .p42-product-units>.toolbar h3:after,.p40-ui .p42-purchases .p42-purchase-entry>.toolbar h3:after,.p40-ui .p42-expenses .p42-expense-entry>.toolbar h3:after{display:block;width:max-content;margin:5px 0 0!important}
  .p40-ui .p42-calendar .calendar-grid{min-width:640px}
}
@media(prefers-reduced-motion:reduce){.p40-ui .p42-page{animation:none}.p40-ui .p42-page *{transition:none!important}}
