/* RXOPD Phase 10 - final production UI/UX normalization layer.
   This file intentionally contains presentation-only rules: no workflow, permission,
   billing, payment, clinical or data behavior is changed here. */
:root{
  --rx10-bg:#f5f8fc;
  --rx10-surface:#ffffff;
  --rx10-surface-soft:#f8fbff;
  --rx10-text:#132238;
  --rx10-muted:#61728a;
  --rx10-border:#dbe5f0;
  --rx10-primary:#0b63ce;
  --rx10-primary-dark:#084a9b;
  --rx10-success:#087f65;
  --rx10-danger:#b42318;
  --rx10-warning:#a15c00;
  --rx10-radius:14px;
  --rx10-radius-sm:10px;
  --rx10-shadow:0 8px 26px rgba(15,43,78,.06);
  --rx10-content:1480px;
}
html{scroll-padding-top:76px}
body.rx-ui-system{background:var(--rx10-bg);color:var(--rx10-text);font-size:14px;line-height:1.45;overflow-x:hidden}
body.rx-ui-system *,body.rx-ui-system *::before,body.rx-ui-system *::after{box-sizing:border-box}
body.rx-ui-system img,body.rx-ui-system svg,body.rx-ui-system video{max-width:100%;height:auto}
body.rx-ui-system :is(h1,h2,h3,h4,p){overflow-wrap:anywhere}
body.rx-ui-system h1{line-height:1.15;letter-spacing:-.025em}
body.rx-ui-system h2,body.rx-ui-system h3{line-height:1.22;letter-spacing:-.015em}
body.rx-ui-system :is(input,select,textarea,button){font:inherit}
body.rx-ui-system :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){max-width:100%;border-color:var(--rx10-border)!important}
body.rx-ui-system :is(input:not([type="checkbox"]):not([type="radio"]),select){min-height:42px}
body.rx-ui-system textarea{min-height:92px;resize:vertical}
body.rx-ui-system :is(button,.button,.btn,.rx-btn,[class*="-button"]){min-height:40px;max-width:100%;line-height:1.2}
body.rx-ui-system :is(button,.button,.btn,.rx-btn):not(:disabled){cursor:pointer}
body.rx-ui-system :is(button,.button,.btn,.rx-btn,a):focus-visible{outline:3px solid rgba(11,99,206,.24)!important;outline-offset:2px!important}
body.rx-ui-system :is(button,.button,.btn,.rx-btn)[disabled]{cursor:not-allowed;opacity:.62}
body.rx-ui-system .rx-page,
body.rx-ui-system .rx-role-main,
body.rx-ui-system .clean-admin-main{min-width:0}
body.rx-ui-system .rx-page>*,
body.rx-ui-system .rx-role-main>*,
body.rx-ui-system .clean-admin-main>*{min-width:0}

/* Consistent cards/panels without rewriting page-specific layouts. */
body.rx-ui-system :is(.card,.panel,.rx-card,.clean-card,.rx-panel,.workspace-card,.summary-card,.metric-card){border-color:var(--rx10-border);border-radius:var(--rx10-radius);box-shadow:var(--rx10-shadow)}
body.rx-ui-system :is(.notice,.alert,.flash,.message){border-radius:var(--rx10-radius-sm);overflow-wrap:anywhere}
body.rx-ui-system :is(.page-title,.page-head,.pagehead,.rx-pagehead){gap:14px}
body.rx-ui-system :is(.page-title,.page-head,.pagehead,.rx-pagehead) :is(h1,h2){margin-top:0}
body.rx-ui-system :is(.actions,.page-actions,.rx-pageactions,.form-actions,.toolbar,.button-row,.action-row,.rx-action-row){display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
body.rx-ui-system :is(.actions,.page-actions,.rx-pageactions,.form-actions,.toolbar,.button-row,.action-row,.rx-action-row)>*{max-width:100%}

/* All ordinary application tables remain readable instead of forcing the page itself to overflow. */
body.rx-ui-system .rx-ui-scrollbox{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;border-radius:12px}
body.rx-ui-system .rx-ui-scrollbox>table{min-width:680px;margin:0}
body.rx-ui-system table{max-width:100%;font-variant-numeric:tabular-nums}
body.rx-ui-system table th{white-space:nowrap}
body.rx-ui-system table td{overflow-wrap:anywhere}
body.rx-ui-system .rx-ui-scrollbox:focus-visible{outline:3px solid rgba(11,99,206,.2);outline-offset:2px}

/* Authenticated role/admin shells: stable geometry and predictable content width. */
body.rx-ui-system.rx-authenticated .rx-role-content,
body.rx-ui-system.rx-authenticated .clean-admin-content,
body.rx-ui-system.rx-authenticated .rx-page{max-width:var(--rx10-content)}
body.rx-ui-system .rx-role-content{width:100%}
body.rx-ui-system .rx-role-topbar,
body.rx-ui-system .clean-admin-topbar{backdrop-filter:saturate(135%) blur(10px)}
body.rx-ui-system .rx-role-navigation a,
body.rx-ui-system .clean-admin-nav a{white-space:normal;overflow-wrap:anywhere}
body.rx-ui-system .clean-admin-search input{width:100%}

/* Business Command Desk / operational dashboards. */
body.rx-ui-system[data-rx-route="/owner/workspace"] .rx-page,
body.rx-ui-system[data-rx-route^="/owner/"] .rx-page{max-width:var(--rx10-content);margin-inline:auto}
body.rx-ui-system[data-rx-route="/owner/workspace"] :is(.partner-module-grid,.partner-metrics,.partner-summary-grid){align-items:stretch}
body.rx-ui-system[data-rx-route="/owner/workspace"] :is(.partner-module-card,.partner-metric,.partner-summary-card){min-width:0;height:100%}

/* Payment, invoice and report surfaces: make primary value/action hierarchy obvious. */
body.rx-ui-system :is(.receipt-page,.invoice-page,.payment-card,.billing-card,.report-card){max-width:100%}
body.rx-ui-system :is(.receipt-toolbar,.invoice-toolbar,.payment-actions,.report-actions){display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.rx-ui-system :is(.amount,.total,.grand-total,.net-payable,.balance,.money){font-variant-numeric:tabular-nums}

/* Avoid sticky/action areas covering content on small viewports. */
@media(max-width:980px){
  body.rx-ui-system{font-size:14px}
  body.rx-ui-system .rx-page{width:100%;max-width:100%;padding-inline:16px}
  body.rx-ui-system :is(.page-title,.page-head,.pagehead,.rx-pagehead){align-items:stretch!important;flex-direction:column}
  body.rx-ui-system :is(.page-actions,.rx-pageactions,.form-actions,.actions){justify-content:flex-start}
  body.rx-ui-system .rx-ui-scrollbox{margin-inline:0}
}
@media(max-width:767px){
  body.rx-ui-system{font-size:13.5px}
  body.rx-ui-system :is(input:not([type="checkbox"]):not([type="radio"]),select,button,.button,.btn,.rx-btn){min-height:44px}
  body.rx-ui-system .rx-page{padding-left:12px;padding-right:12px}
  body.rx-ui-system :is(.actions,.page-actions,.rx-pageactions,.form-actions,.toolbar,.button-row,.action-row,.rx-action-row)>:is(button,.button,.btn,.rx-btn,a){flex:1 1 auto;justify-content:center}
  body.rx-ui-system .rx-ui-scrollbox>table{min-width:620px}
  body.rx-ui-system :is(.card,.panel,.rx-card,.clean-card,.rx-panel){border-radius:12px}
}
@media(max-width:480px){
  body.rx-ui-system .rx-page{padding-left:10px;padding-right:10px}
  body.rx-ui-system :is(.actions,.page-actions,.rx-pageactions,.form-actions,.button-row,.action-row,.rx-action-row)>:is(button,.button,.btn,.rx-btn,a){flex-basis:100%;width:100%}
  body.rx-ui-system .rx-ui-scrollbox>table{min-width:560px}
}
@media(prefers-reduced-motion:reduce){
  body.rx-ui-system *,body.rx-ui-system *::before,body.rx-ui-system *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{
  body.rx-ui-system{background:#fff!important;font-size:11pt}
  body.rx-ui-system .rx-ui-scrollbox{overflow:visible!important}
  body.rx-ui-system .rx-ui-scrollbox>table{min-width:0!important}
  body.rx-ui-system :is(.rx-shell-hamburger,.rx-network-banner,.rx-testing-fault-fab,.rx-public-menu-button){display:none!important}
}
