/* V49 contrast and alignment corrections. Screen only; native disabled state,
   business permissions and print/label documents remain authoritative. */
@media screen {
 /* Keep export colours identical in empty and populated tables. */
 html body #root .app-shell :is(button,.btn)[disabled],
 html body #root .app-shell :is(button,.btn)[aria-disabled=true],
 html body #root .app-shell .table-tools .btn:is(:disabled,[aria-disabled=true]),
 html body #root .app-shell .export-disabled {opacity:1!important;filter:none!important;text-shadow:none!important}
 html body #root .app-shell :is(button,.btn):disabled {cursor:not-allowed!important}
 html body #root .app-shell .table-tools .btn.export-csv,
 html body #root .app-shell .table-tools .btn.export-csv:disabled {background:#087f74!important;border-color:#087f74!important;color:#fff!important;opacity:1!important;filter:none!important}
 html body #root .app-shell .table-tools .btn.export-excel,
 html body #root .app-shell .table-tools .btn.export-excel:disabled {background:#286fc1!important;border-color:#286fc1!important;color:#fff!important;opacity:1!important;filter:none!important}
 html body #root .app-shell .table-tools .btn.export-pdf,
 html body #root .app-shell .table-tools .btn.export-pdf:disabled {background:#7959b4!important;border-color:#7959b4!important;color:#fff!important;opacity:1!important;filter:none!important}
 html body #root .app-shell .spark-scan-box .btn.secondary,
 html body #root .app-shell .btn.scan-add-button {background:#087f74!important;border:1px solid #087f74!important;color:#fff!important;font-weight:650!important;box-shadow:none!important}
 html body #root .app-shell .spark-scan-box .btn.secondary:hover:not(:disabled),
 html body #root .app-shell .btn.scan-add-button:hover:not(:disabled) {background:#066b62!important;border-color:#066b62!important;color:#fff!important}
 html body #root .app-shell .page-header .page-actions>.btn.secondary[href="/reports"] {background:#f0f8f1!important;border-color:#287347!important;color:#14532d!important;font-weight:700!important}
 html body #root .app-shell .page-header .page-actions>.btn.secondary[href="/reports"]:hover {background:#e0f0e4!important;border-color:#14532d!important;color:#14532d!important}
 html body #root .app-shell .header-actions button[title="Logout"] {background:#fff2f4!important;border-color:#e4adb7!important;color:#b4233a!important}
 html body #root .app-shell .header-actions button[title="Logout"] svg {color:#b4233a!important;stroke:#b4233a!important;stroke-width:2.2}
 /* Dark action colours remain readable even when an action is unavailable. */
 html body #root .app-shell :is(.row-actions,.quote-actions) button {min-width:32px;min-height:32px;border-radius:6px!important;padding:6px!important;display:inline-flex;align-items:center;justify-content:center}
 html body #root .app-shell :is(.row-actions,.quote-actions) button:has(svg.lucide-printer),
 html body #root .app-shell .print-preview-print {background:#65429d!important;border-color:#65429d!important;color:#fff!important}
 html body #root .app-shell :is(.row-actions button.edit-action,.saved-user-edit.edit-action,.sale-edit-icon,.quote-actions .edit-action) {background:#245f9c!important;border-color:#245f9c!important;color:#fff!important;opacity:1!important}
 html body #root .app-shell :is(.row-actions button.danger,.row-actions button.remove-action,.saved-user-remove,.quote-actions .remove-action) {background:#b62c45!important;border-color:#b62c45!important;color:#fff!important;opacity:1!important}
 html body #root .app-shell :is(.row-actions,.quote-actions) button svg {width:18px;height:18px;stroke:currentColor!important;stroke-width:2}
 html body #root .app-shell :is(.row-actions,.quote-actions) {display:inline-flex;align-items:center;justify-content:center;gap:8px!important;flex-wrap:wrap}
 /* Retail/wholesale are both rose; the selected price mode is deeper. */
 html body #root .app-shell .price-mode-bar .price-mode-buttons>button:not(.active):not(.selected) {background:#cb2e70!important;border-color:#cb2e70!important;color:#fff!important;font-weight:650!important;box-shadow:none!important}
 html body #root .app-shell .price-mode-bar .price-mode-buttons>button.active {background:#941647!important;border-color:#941647!important;color:#fff!important;font-weight:700!important;box-shadow:inset 0 0 0 1px #ffffff50!important}
 html body #root .app-shell .price-mode-bar .price-mode-buttons>button:hover:not(:disabled) {background:#ac205a!important;color:#fff!important}
 /* Coloured reporting periods retain native select behaviour. */
 html body #root .app-shell :is(.payment-analysis-head,.fresh-dashboard .card-head,.report-chart .card-head) select,
 html body #root .app-shell .page-actions>select {background:#eaf3fc!important;border:1px solid #80acd3!important;color:#1e5684!important;font-weight:600!important;min-height:40px;border-radius:7px!important;padding:8px 12px!important}
 html body #root .app-shell :is(.payment-analysis-head,.fresh-dashboard .card-head,.report-chart .card-head) select option,
 html body #root .app-shell .page-actions>select option {background:#fff!important;color:#334155!important}
 /* Settings actions and selected tabs get consistent, purposeful colour. */
 html body #root .app-shell :is(.settings-content,.settings-card,.backup-panel) :is(button,.btn) {background:#286fa8!important;border-color:#286fa8!important;color:#fff!important;font-weight:600!important;box-shadow:none!important}
 html body #root .app-shell :is(.settings-content,.settings-card,.backup-panel) :is(button,.btn).primary,
 html body #root .app-shell :is(.settings-submit,.settings-save) {background:#c82e70!important;border-color:#c82e70!important;color:#fff!important}
 html body #root .app-shell :is(.settings-content,.settings-card,.backup-panel) :is(button,.btn).danger {background:#b62c45!important;border-color:#b62c45!important;color:#fff!important}
 html body #root .app-shell .settings-nav button:not(.active):not(.selected) {background:#eaf3fc!important;border-color:#bed5ea!important;color:#285d8a!important}
 html body #root .app-shell .settings-nav button.active {background:#c82e70!important;border-color:#c82e70!important;color:#fff!important;font-weight:650!important}
 html body #root .app-shell :is(.settings-content,.settings-card) :is(.theme-options,.language-options)>button {background:#eaf3fc!important;border-color:#bed5ea!important;color:#285d8a!important}
 html body #root .app-shell :is(.settings-content,.settings-card) :is(.theme-options,.language-options)>button.selected {background:#c82e70!important;border-color:#c82e70!important;color:#fff!important}
 html body #root .app-shell :is(.settings-content,.settings-card) :is(.theme-options,.language-options)>button.selected :is(small,svg) {color:#fff!important}
 html body #root .app-shell :is(.settings-content,.settings-card,.backup-panel) input[type=file]::file-selector-button {border:0;border-radius:4px;padding:5px 10px;margin-right:10px;background:#286fa8;color:#fff;font:600 13px 'Segoe UI',Arial,sans-serif;cursor:pointer}
 /* Real axis strokes, readable ticks and currency/method labels. */
 html body #root .app-shell .recharts-wrapper .recharts-cartesian-axis-line {stroke:#64748b!important;stroke-width:1.2!important;opacity:1!important}
 html body #root .app-shell .recharts-wrapper .recharts-cartesian-axis-tick-line {stroke:#7e8da1!important;stroke-width:1!important;opacity:1!important}
 html body #root .app-shell .recharts-wrapper :is(.recharts-xAxis-tick-labels,.recharts-yAxis-tick-labels) .recharts-text,
 html body #root .app-shell .payment-chart .recharts-wrapper :is(.recharts-xAxis-tick-labels,.recharts-yAxis-tick-labels) .recharts-text {fill:#40536c!important;font-size:14px!important;font-weight:550!important;opacity:1!important}
 html body #root .app-shell .recharts-wrapper .recharts-label {fill:#40536c!important;font-size:13px!important;font-weight:600!important}
 html body #root .app-shell .payment-chart {padding-left:16px!important;padding-right:14px!important}
 /* One consistent table rhythm; alignment metadata never changes cell values. */
 html body #root .app-shell :is(th,thead td) {padding:14px 16px!important;line-height:1.5!important;font-weight:700!important;vertical-align:middle;white-space:normal}
 html body #root .app-shell tbody td {padding:12px 16px!important;line-height:1.6!important;vertical-align:middle;overflow-wrap:break-word}
 html body #root .app-shell .fresh-dashboard :is(td,th) {padding:11px 14px!important}
 html body #root .app-shell table [data-align=number] {text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap!important}
 html body #root .app-shell table [data-align=center] {text-align:center!important}
 html body #root .app-shell table [data-align=date] {text-align:left!important;white-space:nowrap!important}
 html body #root .app-shell table [data-align=text] {text-align:left!important}
 html body #root .app-shell .data-card td .row-actions {gap:8px!important}
 html body #root .app-shell .table-wrap {scroll-padding:16px}
 html body #root .app-shell .report-notes {border-top:1px solid #e4eaf1;border-bottom:1px solid #e4eaf1;margin:16px 0;padding:10px 0;color:#5f7188;font-size:13px}
 html body #root .app-shell .report-notes>summary {font-size:13px;font-weight:600;color:#285d8a;cursor:pointer;line-height:1.5}
 html body #root .app-shell .report-notes>p {margin:10px 0;font-size:13px!important}
 /* Brand typography is live company text, not text baked into the animation. */
 .fancy-startup-heading {gap:18px!important;max-width:calc(100% - 48px)!important}
 .fancy-startup-heading strong {font-family:'Segoe UI','Noto Sans Tamil',Arial,sans-serif!important;font-size:clamp(28px,3.2vw,44px)!important;font-weight:750!important;letter-spacing:.045em!important;line-height:1.18!important;text-shadow:0 2px 15px #10071180}
 .fancy-startup-heading p {font-family:'Segoe UI','Noto Sans Tamil',Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;letter-spacing:.015em!important;line-height:1.6!important;margin-top:9px!important;color:#f2c7da!important;text-shadow:0 2px 10px #100711aa}
 .fancy-startup-heading img {width:58px!important;height:64px!important;object-fit:contain}
 html body #root .hardware-login .fancy-login-brand h1 {font-family:'Segoe UI','Noto Sans Tamil',Arial,sans-serif!important;font-weight:750!important;letter-spacing:-.025em!important;line-height:1.15!important}
 html body #root .hardware-login .fancy-login-brand p {font-family:'Segoe UI','Noto Sans Tamil',Arial,sans-serif!important;font-size:clamp(15px,1.35vw,20px)!important;font-weight:500!important;letter-spacing:.005em!important;line-height:1.55!important;color:#4a3c4b!important}
 /* Give the focused search and scanner their own breathing space. */
 html body #root .app-shell .product-panel>.sale-search {margin-bottom:12px!important}
 html body #root .app-shell .spark-scan-box {padding:8px 0 14px!important;gap:10px!important}
 @media(max-width:600px) {
  html body #root .app-shell .payment-chart {padding-left:0!important;padding-right:0!important}
  .fancy-startup-heading {gap:12px!important;max-width:calc(100% - 32px)!important;align-items:center!important}
  .fancy-startup-heading strong {font-size:26px!important;letter-spacing:.02em!important}
  .fancy-startup-heading p {font-size:13px!important;line-height:1.55!important}
  .fancy-startup-heading img {width:40px!important;height:46px!important}
 }
 @media(max-height:450px) and (min-width:601px) {
  .fancy-startup-heading strong {font-size:25px!important}
  .fancy-startup-heading p {font-size:12px!important;margin-top:4px!important}
  .fancy-startup-heading img {width:35px!important;height:40px!important}
 }
}
@media screen {
 html body #root .app-shell button.text-btn.print-record-action,
 html body #root .app-shell button.text-btn.print-label-action,
 html body #root .app-shell button.text-btn:has(svg.lucide-printer) {background:#65429d!important;border:1px solid #65429d!important;color:#fff!important;padding:7px 10px!important;margin:3px 4px 3px 0;display:inline-flex;align-items:center;gap:6px;border-radius:6px!important;text-decoration:none!important;white-space:nowrap}
 html body #root .app-shell button.text-btn.print-record-action:hover,
 html body #root .app-shell button.text-btn.print-label-action:hover {background:#56358b!important;color:#fff!important;border-color:#56358b!important}
}
@media screen {
 html body #root .app-shell .settings-layout .settings-content :is(button,.btn) {background:#286fa8!important;border-color:#286fa8!important;color:#fff!important;font-weight:600!important;box-shadow:none!important}
 html body #root .app-shell .settings-layout .settings-content :is(button,.btn):not(:disabled):hover {background:#205d8f!important;border-color:#205d8f!important;color:#fff!important}
 html body #root .app-shell .settings-layout .settings-content :is(button,.btn).primary,
 html body #root .app-shell .settings-layout .settings-content .settings-submit {background:#c82e70!important;border-color:#c82e70!important;color:#fff!important}
 html body #root .app-shell .settings-layout .settings-content :is(button,.btn).primary:not(:disabled):hover,
 html body #root .app-shell .settings-layout .settings-content .settings-submit:not(:disabled):hover {background:#b32461!important;border-color:#b32461!important;color:#fff!important}
 html body #root .app-shell .settings-layout .settings-content :is(button,.btn).danger {background:#b62c45!important;border-color:#b62c45!important;color:#fff!important}
 html body #root .app-shell .settings-layout .settings-content :is(.theme-options,.language-options)>button {background:#eaf3fc!important;border-color:#bed5ea!important;color:#285d8a!important}
 html body #root .app-shell .settings-layout .settings-content :is(.theme-options,.language-options)>button.selected {background:#c82e70!important;border-color:#c82e70!important;color:#fff!important}
 html body #root .app-shell .settings-layout .settings-content :is(.theme-options,.language-options)>button.selected :is(small,svg) {color:#fff!important}
 html body #root .app-shell .settings-nav button.active:not(:disabled):hover {background:#b32461!important;border-color:#b32461!important;color:#fff!important}
 html body #root .app-shell .settings-nav button:not(.active):not(.selected):not(:disabled):hover {background:#deecf9!important;border-color:#8cb2d4!important;color:#285d8a!important}
}
