/* R117 — INVORAE Prism precision repair for Lilac Invoice.
   Baseline: exact R116 live production (R115 visual skin + approved Prism logo placements).
   Scope: visual intensity/footer corrections + precision alignment locks only.
   Protected: application logic, Supabase/RPCs, PDF/print geometry, payment ledger, secure share, numbering. */
@media screen{
:root{
  --bg-1:#f9fbff!important;
  --bg-2:#f7f9fd!important;
  --bg-3:#f3f1ff!important;
  --bg-4:#fff8f4!important;
  --ink:#071a44!important;
  --muted:#65758d!important;
  --line:#e8edf5!important;
  --card:#ffffff!important;
  --brand:#8d5cf1!important;
  --brand-2:#4b83ff!important;
  --brand-3:#25cfe2!important;
  --brand-soft:#f1f2ff!important;
  --plum:#5968d9!important;
  --ok:#168a5a!important;
  --ok-bg:#daf6e8!important;
  --warn:#a96c16!important;
  --warn-bg:#fff0d2!important;
  --danger:#c84252!important;
  --danger-bg:#ffe2e7!important;
  --info:#5968d9!important;
  --info-bg:#eef0ff!important;
  --shadow:0 18px 46px rgba(7,26,68,.07)!important;
  --shadow-soft:0 8px 24px rgba(7,26,68,.055)!important;
}

body{
  background:#f7f9fd!important;
  color:#071a44!important;
}

.app::before{
  background:radial-gradient(ellipse at 82% 8%,rgba(141,92,241,.075),transparent 35%),
      radial-gradient(ellipse at 94% 28%,rgba(255,180,77,.065),transparent 29%),
      radial-gradient(ellipse at 68% 18%,rgba(37,207,226,.065),transparent 32%),
      linear-gradient(180deg,#f9fbff 0%,#f7f9fd 100%)!important;
}

input,select,textarea{
  border-color:#dfe6ef!important;
  background:#fff!important;
  color:#071a44!important;
}
input::placeholder,textarea::placeholder{color:#8c99ab!important;opacity:1!important}
input:focus,select:focus,textarea:focus{
  border-color:#8779ee!important;
  box-shadow:0 0 0 3px rgba(135,121,238,.075)!important;
}

.btn{
  border-color:#e1e7ef!important;
  background:#fff!important;
  color:#071a44!important;
  box-shadow:none!important;
}
.btn:hover{border-color:#cfd8e5!important;background:#fbfcfe!important}
.btn.primary{
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(95deg,rgba(52,191,217,.50) 0%,rgba(79,117,222,.50) 34%,rgba(117,73,216,.50) 61%,rgba(198,79,140,.50) 82%,rgba(239,174,103,.50) 100%)!important;
  box-shadow:0 7px 18px rgba(108,103,226,.10)!important;
}
.btn.danger{color:#c84252!important;background:#fff!important;border-color:#ffdadd!important}
.icon-btn{border-color:#dfe6ef!important;background:#fff!important;color:#52627d!important}

.auth{
  background:radial-gradient(ellipse at 16% 15%,rgba(37,207,226,.09),transparent 30%),
      radial-gradient(ellipse at 73% 24%,rgba(141,92,241,.10),transparent 34%),
      radial-gradient(ellipse at 89% 72%,rgba(255,180,77,.09),transparent 31%),
      linear-gradient(145deg,#f9fbff,#f3f1ff 55%,#fff8f4)!important;
}
.auth:before,.auth:after{opacity:.35!important}
.system-title{color:#071a44!important}
.system-sub{color:#65758d!important}
.auth-card{background:#fff!important;box-shadow:0 24px 60px rgba(7,26,68,.12)!important}
.auth-card h1{color:#071a44!important}
.auth-card .lead{color:#65758d!important}
.auth-grid label{color:#52627d!important}
#loginBtn{
  color:#fff!important;
  background:linear-gradient(95deg,rgba(52,191,217,.50) 0%,rgba(79,117,222,.50) 34%,rgba(117,73,216,.50) 61%,rgba(198,79,140,.50) 82%,rgba(239,174,103,.50) 100%)!important;
  box-shadow:0 7px 18px rgba(108,103,226,.10)!important;
}
.auth-footer{color:#65758d!important}.auth-footer b{color:#5968d9!important}

.side{background:#fff!important;border-color:#e8edf5!important;box-shadow:none!important}
.side-caption{color:#71809b!important}
.cloud{background:#eff9f5!important;color:#168a5a!important}.dot{background:#25b978!important}
.nav button{color:#61728f!important;background:transparent!important}
.nav button:hover{background:#f7f9fd!important}
.nav button.active{
  background:linear-gradient(90deg,rgba(37,207,226,.08),rgba(141,92,241,.08))!important;
  color:#071a44!important;
}
.nav button.active:before{background:linear-gradient(180deg,#25cfe2,#8d5cf1,#ed5792)!important}
.nav .ico{color:#5968d9!important;border-color:#cbd5e3!important}
.side-foot{color:#71809b!important}.side-foot .email{color:#17305f!important}

.topbar h1{color:#071a44!important}.topbar p{color:#65758d!important}
.card,.panel,.form-card,.single-paper,.single-settings,.r111-editor-paper,.r111-editor-side{
  background:#fff!important;
  border-color:#e8edf5!important;
  box-shadow:0 8px 24px rgba(7,26,68,.045)!important;
}
.panel-head h2{color:#071a44!important}
.filters input,.filters select{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}

#dashboard .kpis .card:first-child{
  color:#071a44!important;
  border-color:#e8edf5!important;
  background:linear-gradient(135deg,rgba(37,207,226,.055),rgba(141,92,241,.045) 50%,#fff 86%)!important;
  box-shadow:0 8px 24px rgba(7,26,68,.05)!important;
}
#dashboard .kpis .card:first-child .metric-label,#dashboard .kpis .card:first-child .metric-sub{color:#65758d!important}
#dashboard .kpis .card:first-child .metric-value{color:#071a44!important}
#dashboard .metric-label{color:#65758d!important}
#dashboard .metric-value{color:#071a44!important}
#dashboard .metric-sub{color:#71809b!important}
#dashboard .donut:after{background:#fff!important}
#dashboard .collection-row,#dashboard .top-row{border-color:#edf1f6!important}

.document-tabs{background:#fff!important;border-color:#e8edf5!important}
.document-tab{background:transparent!important;color:#687995!important}
.document-tab.active{background:#eef2fa!important;color:#071a44!important;box-shadow:none!important}
#invoiceDocumentsPanel .panel-head,#quotationDocumentsPanel .panel-head{background:#fff!important}
th{background:#f8fafd!important;color:#61718a!important;border-color:#edf1f6!important}
td{border-color:#edf1f6!important;color:#17305f!important}
.invoice-actions-trigger{border-color:#dfe6ef!important;background:#fff!important;color:#52627d!important}
.invoice-actions-menu{background:#fff!important;border-color:#dfe6ef!important;box-shadow:0 20px 48px rgba(7,26,68,.14)!important}
.invoice-action-item{color:#17305f!important}
.invoice-action-item:hover,.invoice-action-item:focus-visible{background:#f7f9fd!important}
.invoice-action-symbol{color:#5968d9!important;border-color:#dfe6ef!important}
.invoice-card{background:#fff!important;border-color:#e8edf5!important;box-shadow:0 7px 20px rgba(7,26,68,.04)!important}
.invoice-card .no{color:#5968d9!important}

.r111-cash-kpi{border-color:#e8edf5!important;background:#fff!important;box-shadow:0 7px 20px rgba(7,26,68,.04)!important}
.r111-cash-kpi:first-child{background:linear-gradient(135deg,rgba(37,207,226,.055),rgba(141,92,241,.045),#fff)!important}
.r111-cash-kpi span{color:#65758d!important}.r111-cash-kpi b{color:#071a44!important}
.r111-type-pill{border-color:#e8edf5!important;background:#fff!important;color:#687995!important}
.r111-type-pill.active{background:#eef2fa!important;border-color:#dfe6ef!important;color:#071a44!important}
.r111-transaction-filters input,.r111-transaction-filters select{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
.r111-trans-list{border-color:#e8edf5!important;background:#fff!important}
.r111-trans-head{background:#f8fafd!important;color:#61718a!important}
.r111-trans-row{border-color:#edf1f6!important;color:#17305f!important}
.r111-trans-amount.positive{color:#5968d9!important}.r111-trans-amount.negative{color:#c84252!important}
.r111-trans-status.completed,.r111-trans-status.paid{background:#daf6e8!important;color:#168a5a!important}

#reports .kpis .card:first-child{
  background:linear-gradient(135deg,rgba(37,207,226,.055),rgba(141,92,241,.045) 50%,#fff 86%)!important;
  color:#071a44!important;border-color:#e8edf5!important;box-shadow:0 8px 24px rgba(7,26,68,.05)!important;
}
#reports .kpis .card:first-child .metric-label{color:#65758d!important}
#reports .kpis .card:first-child .metric-value{color:#071a44!important}
.r111-cash-report-card{border-color:#e8edf5!important;background:#fff!important}
.r111-payment-chip{background:#f7f9fd!important;border-color:#e8edf5!important;color:#52627d!important}

.r112-create-picker{color:#52627d!important}
.r112-create-picker select{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
.single-settings{background:#fff!important}
.single-paper-title{border-color:#edf1f6!important}.single-doc-title{color:#071a44!important}
.single-chip{color:#5968d9!important;background:#eef0ff!important;border-color:#d9defd!important}
.single-party{border-color:#e8edf5!important;background:#fbfcfe!important}
.single-party h3,.single-section-head h3{color:#071a44!important}
.single-logo-upload{border-color:#dfe6ef!important;background:#fbfcfe!important}
.single-logo-upload-btn{color:#5968d9!important;border-color:#d9defd!important;background:#eef0ff!important}
.single-business-details{border-color:#edf1f6!important}.single-muted{color:#65758d!important}
.single-field label,.single-setting-group label,.single-text-block label{color:#52627d!important}
.single-field input,.single-field select,.single-field textarea,.single-setting-group input,.single-setting-group select,.single-setting-group textarea{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
.segmented{border-color:#e8edf5!important;background:#fff!important}
.segmented button{color:#687995!important;background:transparent!important}
.segmented button.active{background:#eef2fa!important;color:#071a44!important;box-shadow:none!important}
.single-document-meta{border-color:#edf1f6!important}.single-item-head{color:#61718a!important;border-color:#dfe6ef!important;background:#f8fafd!important}
#itemsWrap .item-title,#itemsWrap .item-desc,#itemsWrap .item-price,#itemsWrap .item-qty{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
#itemsWrap .remove-item{border-color:#ffdadd!important;color:#c84252!important;background:#fff!important}
.single-add{background:#fbfcfe!important;color:#5968d9!important;border-color:#ccd6e4!important;box-shadow:none!important}
.single-lower{border-color:#edf1f6!important}.single-totals{background:#fbfcfe!important}
.single-total-row{border-color:#e8edf5!important;color:#65758d!important}.single-total-row b{color:#071a44!important}
.single-total-row.grand{color:#071a44!important;background:linear-gradient(90deg,transparent 0%,rgba(37,207,226,.09) 12%,rgba(141,92,241,.10) 50%,rgba(237,87,146,.07) 88%,transparent 100%)!important}
.single-total-row.grand b,.single-total-row.grand span{color:#071a44!important}.single-total-row.balance{color:#5968d9!important}
.payment-inline-note{background:#f7f9fd!important;color:#65758d!important}.single-bottom-actions{border-color:#edf1f6!important}
.single-settings h3{color:#071a44!important}.single-actions-stack{border-color:#edf1f6!important}

.r111-editor-side{background:#fff!important}.r111-editor-title h2{color:#071a44!important}.r111-editor-title p{color:#65758d!important}
.r111-chip{background:#eef0ff!important;color:#5968d9!important}
.r111-section{border-color:#edf1f6!important}.r111-section h3{color:#071a44!important}.r111-field label{color:#52627d!important}
.r111-field input,.r111-field select,.r111-field textarea{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
.r111-items{border-color:#e8edf5!important}.r111-sale-head{background:#f8fafd!important;color:#61718a!important}.r111-sale-row{border-color:#edf1f6!important}.r111-sale-row input{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
.r111-more summary{color:#5968d9!important}.r111-summary-row{color:#65758d!important}.r111-summary-row b{color:#071a44!important}
.r111-summary-row.total{color:#071a44!important;background:linear-gradient(90deg,transparent 0%,rgba(37,207,226,.09) 12%,rgba(141,92,241,.10) 50%,rgba(237,87,146,.07) 88%,transparent 100%)!important}
.r111-summary-row.total b,.r111-summary-row.total span{color:#071a44!important}.r111-paid-note{background:#daf6e8!important;color:#168a5a!important}
.r111-receipt-file{border-color:#dfe6ef!important;background:#fbfcfe!important}

.form-card h3{color:#071a44!important}.field label{color:#52627d!important}.field input,.field select,.field textarea{border-color:#dfe6ef!important;background:#fff!important;color:#071a44!important}
.logo-preview-box{border-color:#dfe6ef!important;background:#fbfcfe!important}.cloud-note{background:#eff9f5!important;border-color:#dceee5!important;color:#356d53!important}
.overlay{background:rgba(7,26,68,.42)!important}.modal{background:#fff!important;border-color:#e8edf5!important;box-shadow:0 32px 90px rgba(7,26,68,.24)!important}.modalbar{background:#fff!important;border-color:#edf1f6!important}
.dialog h3,.payment-manager-head h3,.item-library-top h3,.share-head h3{color:#071a44!important}
.payment-summary-box{border-color:#e8edf5!important;background:#f8fafd!important}.payment-summary-box span{color:#65758d!important}.payment-history,.payment-entry{border-color:#edf1f6!important}.payment-history-row{border-color:#e8edf5!important}.item-library-choice{border-color:#e8edf5!important;background:#fff!important}.item-library-choice:hover{background:#f7f9fd!important;border-color:#cfd8e5!important}.item-library-price{color:#5968d9!important}
.toast{background:#071a44!important;color:#fff!important;box-shadow:0 16px 38px rgba(7,26,68,.24)!important}
.app-bg-brand{opacity:1!important}.app-bg-brand img{opacity:.75!important}.app-bg-brand div{color:#71809b!important;opacity:1!important}

/* Existing status badges keep their semantics, recoloured to INVORAE family. */
.badge.paid,.badge.accepted,.badge.converted{background:#daf6e8!important;color:#168a5a!important}
.badge.overdue,.badge.rejected,.badge.cancelled{background:#ffe2e7!important;color:#c84252!important}
.badge.partial,.badge.partially_paid,.badge.unpaid,.badge.draft,.badge.sent,.badge.expired{border-color:#e8edf5!important}
.badge.partial,.badge.partially_paid{background:#fff0d2!important;color:#a96c16!important}
.badge.unpaid,.badge.draft{background:#eef2f8!important;color:#52627d!important}
.badge.sent{background:#eef0ff!important;color:#5968d9!important}
.badge.expired{background:#f3f4f7!important;color:#61718a!important}
}

@media screen and (max-width:800px){
.invoice-card,.single-settings,.r111-editor-side{background:#fff!important}
.mobile-nav{background:rgba(255,255,255,.98)!important;border-color:#e8edf5!important;box-shadow:0 -10px 28px rgba(7,26,68,.05)!important}
.mobile-nav button{color:#687995!important}.mobile-nav button.active{color:#5968d9!important}.mobile-nav button.active span{color:#5968d9!important}
.app-bg-brand{opacity:1!important}
}


/* R117 PRECISION ALIGNMENT LOCK — reassert the approved R112/R111 track geometry
   so headers, row cells and numeric columns share identical guides at every desktop/tablet width. */
@media screen and (min-width:1101px){
  #create .single-item-head,#create #itemsWrap .item-row{grid-template-columns:42px minmax(0,1fr) 100px 72px 120px!important;gap:8px!important}
  #create .single-lower{grid-template-columns:42px minmax(0,1fr) 100px 72px 120px!important;gap:8px!important}
  #create #quickSaleEditor .r111-sale-head,#create #quickSaleEditor .r111-sale-row{grid-template-columns:minmax(0,1fr) 72px 126px 142px 54px!important}
  #invoices .r111-trans-head,#invoices .r111-trans-row{grid-template-columns:86px 96px 114px minmax(260px,1fr) 168px 116px 54px!important}
}
@media screen and (min-width:801px) and (max-width:1100px){
  #create .single-item-head,#create #itemsWrap .item-row{grid-template-columns:36px minmax(0,1fr) 76px 58px 96px!important;gap:7px!important}
  #create .single-lower{grid-template-columns:36px minmax(0,1fr) 76px 58px 96px!important;gap:7px!important}
  #create #quickSaleEditor .r111-sale-head,#create #quickSaleEditor .r111-sale-row{grid-template-columns:minmax(0,1fr) 54px 96px 110px 48px!important}
  #invoices .r111-trans-head,#invoices .r111-trans-row{grid-template-columns:74px 88px 96px minmax(160px,1fr) 150px 108px 48px!important}
}
@media screen and (min-width:801px){
  #create .single-item-head>* ,#create #itemsWrap .item-row>* ,
  #create #quickSaleEditor .r111-sale-head>* ,#create #quickSaleEditor .r111-sale-row>* ,
  #invoices .r111-trans-head>* ,#invoices .r111-trans-row>*{box-sizing:border-box!important;min-width:0!important}
  #create .single-item-head>span:last-child,#create #itemsWrap .item-amount,
  #create #quickSaleEditor .r111-sale-head>div:nth-child(4),#create #quickSaleEditor .r111-item-amount,
  #invoices .r111-trans-head>div:nth-child(5),#invoices .r111-trans-amount{text-align:right!important}
}
/* Native document/report tables retain browser table layout; only semantic numeric/action alignment is locked. */
@media screen and (min-width:801px){
  .desktop-table th.money,.desktop-table td.money,#reports .tablewrap th.money,#reports .tablewrap td.money{text-align:right!important;font-variant-numeric:tabular-nums!important}
  #invoiceDocumentsPanel th:last-child,#invoiceDocumentsPanel td:last-child,
  #quotationDocumentsPanel th:last-child,#quotationDocumentsPanel td:last-child{text-align:right!important}
  #invoiceDocumentsPanel td:last-child .row-actions,#quotationDocumentsPanel td:last-child .row-actions{justify-content:flex-end!important}
}
/* Smooth-highlight integrity — the approved prism tint must fade, not terminate at box edges. */
.single-total-row.grand,.r111-summary-row.total{background-repeat:no-repeat!important;background-size:100% 100%!important}


/* =========================================================
   R118 — BAE DEVICE VISUAL GATE REPAIR
   Scope: native date controls + continuous Total/Amount bands only.
   No business logic / PDF / DB / RPC changes.
   ========================================================= */

/* Footer contract retained exactly from approved R117 request. */
.app-bg-brand{opacity:1!important}
.app-bg-brand img{opacity:.75!important}
.app-bg-brand div{opacity:1!important}
.page-footer-brand{opacity:1!important}
.page-watermark{opacity:.75!important}
.page-footer-text{opacity:1!important}

/* iOS/Safari date controls — prevent split/reserved right-side segment look. */
input[type="date"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  text-align:left!important;
  text-align-last:left!important;
  padding-left:12px!important;
  padding-right:46px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2352617d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:18px 18px!important;
}
input[type="date"]::-webkit-date-and-time-value{
  text-align:left!important;
  min-width:0!important;
  margin:0!important;
}
input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-fields-wrapper{
  padding:0!important;
  margin:0!important;
  text-align:left!important;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  position:absolute!important;
  right:10px!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  opacity:0!important;
  cursor:pointer!important;
}

/* Continuous prism summary band. Keep first/last text inside rounded radius. */
.r111-summary-row.total,
.single-total-row.grand{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;
  align-items:center!important;
  column-gap:12px!important;
  border-top:0!important;
  margin-top:8px!important;
  padding:12px 16px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:none!important;
}
.r111-summary-row.total::before,
.single-total-row.grand::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,
    rgba(37,207,226,.12) 0%,
    rgba(91,150,231,.13) 26%,
    rgba(141,92,241,.16) 50%,
    rgba(205,96,164,.13) 76%,
    rgba(239,174,103,.12) 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(174,186,204,.20)!important;
}
.r111-summary-row.total>span,
.single-total-row.grand>span{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.r111-summary-row.total>b,
.single-total-row.grand>b{
  min-width:0!important;
  max-width:100%!important;
  justify-self:end!important;
  text-align:right!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
@media(max-width:800px){
  .r111-summary-row.total,
  .single-total-row.grand{
    padding-left:14px!important;
    padding-right:14px!important;
    column-gap:10px!important;
    border-radius:13px!important;
  }
  .r111-summary-row.total>b,
  .single-total-row.grand>b{
    font-size:clamp(16px,4.5vw,18px)!important;
  }
}
@media(max-width:430px){
  .r111-summary-row.total,
  .single-total-row.grand{
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
  }
  .r111-summary-row.total>b,
  .single-total-row.grand>b{
    font-size:clamp(15px,4.35vw,18px)!important;
  }
}

/* Extra-small phone amount containment: preserve the complete amount where possible. */
@media(max-width:340px){
  .r111-summary-row.total,
  .single-total-row.grand{
    grid-template-columns:minmax(0,1fr) max-content!important;
    padding-left:13px!important;
    padding-right:13px!important;
    column-gap:8px!important;
  }
  .r111-summary-row.total>b,
  .single-total-row.grand>b{
    font-size:13px!important;
    letter-spacing:-.01em!important;
    text-overflow:clip!important;
  }
}
