/* Shared screen design. Legacy layouts and physical print documents keep their own geometry. */
@layer rk-legacy, rk-ui;
@layer rk-ui {
@media screen {
  :root {
    --rk-font: "Segoe UI", "Nirmala UI", Arial, sans-serif;
    --rk-ink: #172b4d;
    --rk-muted: #52647c;
    --rk-line: #dbe3ed;
    --rk-soft: #f3f6fa;
    --rk-primary: #2563eb;
    --rk-focus: #2563eb;
    --rk-row-space: 10px;
    --rk-cell-size: 14px;
    --rk-control-height: 40px;
  }
  body.rk-app { font-family: var(--rk-font); font-size: 14px; line-height: 1.45; color: var(--rk-ink); background: var(--rk-soft); }
  .rk-app *, .rk-app *::before, .rk-app *::after { box-sizing: border-box; }
  .rk-app [hidden] { display: none !important; }
  .rk-app :is(button, input, select, textarea) { font-family: inherit; font-size: 14px; }
  .rk-app :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--rk-focus); outline-offset: 3px; }
  .rk-app :is(button, input, select, textarea):disabled { opacity: .58; cursor: not-allowed; }
  .rk-app input[readonly], .rk-app textarea[readonly] { background: #f3f6fa; color: #52647c; }
  .rk-app .content-area { padding: 24px; min-width: 0; }
  .rk-app .main-wrapper { min-width: 0; }
  .rk-app .content-area > div { min-width: 0; }
  .rk-app :is(.product-master-page,.op-page,.uv-page,.rto-page,.dp-page,.st-page,.lt-page,.out-page,.audit-page,.rk-page) { padding: 0; max-width: none; margin-inline: 0; font: inherit; color: inherit; }
  .rk-app .content-area :is(h1,.page-title,.pm-title) { font: 700 26px/1.25 var(--rk-font); letter-spacing: -.4px; color: var(--rk-ink); margin-top: 0; }
  .rk-app .content-area h2 { font: 600 18px/1.35 var(--rk-font); letter-spacing: 0; color: var(--rk-ink); }
  .rk-app .content-area h3 { font: 600 16px/1.4 var(--rk-font); }
  .rk-app :is(.page-subtitle,.uv-header p,.op-head p,.pm-subtitle,.oa-head p,.out-head p,.rto-head p,.st-head p,.lt-head p) { font-size: 14px; line-height: 1.5; color: var(--rk-muted); margin: 6px 0 0; }
  .rk-app :is(.page-header,.pm-header,.op-head,.oa-head,.out-head,.rto-head,.uv-header,.audit-head,.st-head,.lt-head,.rp-head,.pmi-head,.pmp-head,.oi-page > .head) { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
  .rk-app :is(.head-actions,.op-head-actions,.pm-button-group,.bcm-header-actions,.fsr-header-actions,.fm-header-actions,.epm-header-actions,.wsm-header-actions) { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
  .rk-app :is(.card,.pm-card,.fsp-card,.bcm-card,.eim-card,.epm-card,.fsr-card,.fm-card,.inv-card,.prl-card,.prm-card,.toc-card,.wsm-card,.party-card,.pmp-card,.pr-card,.ls-card,.fo-card,.fp-card,.audit-card,.uv-panel) { background: #fff; border: 1px solid var(--rk-line); border-radius: 12px; box-shadow: 0 2px 6px #172b4d05; min-width: 0; }
  .rk-app :is(.fsp-card-header,.bcm-card-header,.epm-card-header,.eim-card-header,.fsr-card-header,.fm-card-header,.wsm-card-header,.card-header,.ls-head,.fo-head) { padding: 18px 20px; border-bottom: 1px solid var(--rk-line); }
  .rk-app :is(.fsp-card-header,.bcm-card-header,.epm-card-header,.fsr-card-header,.fm-card-header,.wsm-card-header,.ls-head,.fo-head) :is(h2,h3) { margin: 0; }
  .rk-app :is(.fsp-card-header,.bcm-card-header,.epm-card-header,.ls-head,.fo-head) p { color: var(--rk-muted); font-size: 12px; margin: 5px 0 0; }
  .rk-app :is(.fsp-card-body,.toc-card-body,.card-body) { padding: 20px; }
  .rk-app .content-area :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea) { min-height: var(--rk-control-height); padding: 9px 12px; border: 1px solid #b9c6d6; border-radius: 8px; background-color: #fff; color: var(--rk-ink); font: 400 14px/1.4 var(--rk-font); max-width: 100%; }
  .rk-app .content-area input[type=file] { padding: 5px 8px; }
  .rk-app input::file-selector-button { border: 1px solid var(--rk-line); border-radius: 5px; background: #eef3fa; color: var(--rk-ink); padding: 5px 10px; margin-right: 10px; font: inherit; cursor: pointer; }
  .rk-app .content-area textarea { min-height: 92px; resize: vertical; }
  .rk-app .content-area input[readonly] { background-color: #f3f6fa; }
  .rk-app .content-area :is(input[type=checkbox],input[type=radio]) { width: 17px; height: 17px; min-height: 0; padding: 0; margin: 0 5px 0 0; accent-color: var(--rk-primary); vertical-align: middle; flex: 0 0 auto; }
  .rk-app .content-area label { font-size: 13px; font-weight: 600; color: #34465f; }
  .rk-app .content-area :is(input,select,textarea)::placeholder { color: #677991; opacity: 1; }
  .rk-app .content-area :is(button,.uv-btn,.fsp-btn,.pm-btn,.ls-btn,.fo-btn,.inv-btn,.prl-btn,.toc-btn,.bcm-btn,.fm-btn,.fsr-btn,.epm-btn,.eim-btn,.prm-btn,.wsm-btn) { min-height: var(--rk-control-height); border-radius: 8px; padding: 9px 14px; font: 600 14px/1.4 var(--rk-font); cursor: pointer; transition: background-color .15s, border-color .15s; }
  .rk-app .content-area button:hover:not(:disabled) { filter: brightness(.97); }
  .rk-app .content-area :is(.primary,.primary-button,.button-primary,.save-button,.uv-primary,[class$="-btn-primary"],.fsp-add-row-button,.ls-save) { background: var(--rk-primary); color: #fff; border: 1px solid var(--rk-primary); box-shadow: none; }
  .rk-app .content-area :is(.secondary,.secondary-button,.button-secondary,.uv-ghost,.uv-secondary,[class$="-btn-secondary"],[class$="-btn-light"]) { background: #fff; color: #34465f; border: 1px solid #bcc9da; box-shadow: none; }
  .rk-app .content-area :is(.danger,.delete-button,.pm-delete-btn,.party-delete-btn,.red) { background: #fff1f2; color: #b42332; border: 1px solid #f5bdc5; }
  .rk-app .content-area :is(.sort,.sort-btn,.column-sort,.uv-text-btn,.pm-action-btn,.party-action-btn,.action-button,.edit-button) { min-height: 30px; padding: 4px 8px; border-radius: 5px; font-size: 13px; }
  .rk-app .content-area :is(.column-sort,.sort,.sort-btn) { background: transparent; color: inherit; border: 0; text-align: inherit; }
  .rk-app .content-area :is(.smart-options,.fsp-dropdown,.inv-dropdown,.rmp-results) button { min-height: 36px; border-radius: 0; text-align: left; }
  .rk-app .content-area table { font-family: var(--rk-font); font-size: var(--rk-cell-size); border-collapse: separate; border-spacing: 0; }
  .rk-app .content-area th { padding: 11px 12px; background: #edf2f8; color: #34465f; border-bottom: 1px solid #cdd8e5; font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; line-height: 1.4; vertical-align: middle; text-align: left; }
  .rk-app .content-area td { padding: var(--rk-row-space) 12px; border-bottom: 1px solid #e5ebf2; font-size: var(--rk-cell-size); line-height: 1.4; vertical-align: middle; }
  .rk-app .content-area tbody tr:nth-child(even) > td { background-color: #f9fbfd; }
  .rk-app .content-area tbody tr:hover > td { background-color: #eff5ff; }
  .rk-app .content-area tbody tr:focus-within > td { background-color: #eff5ff; }
  .rk-app .content-area :is(.pm-action-group,.action-buttons,.row-actions) { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; }
  .rk-app .content-area :is(.pm-action-group,.action-buttons,.row-actions) button { white-space: nowrap; }
  .rk-app .content-area button.pm-status { min-height: 28px; padding: 3px 8px; font-size: 12px; border-radius: 6px; }
  .rk-app .pm-table td { white-space: nowrap; }
  .rk-app .pm-product-code { font-family: var(--rk-font); }
  .rk-app .content-area td[data-ui-number], .rk-app .content-area th[data-ui-number] { text-align: right; font-variant-numeric: tabular-nums; }
  .rk-app .content-area th[data-ui-number] button { justify-content: flex-end; text-align: right; }
  .rk-app .content-area :is(.imported-orders-table th:nth-child(-n+5),.imported-orders-table td:nth-child(-n+5)) { background: #fff; }
  .rk-app .content-area .imported-orders-table th:nth-child(-n+5) { background: #edf2f8; }
  .rk-app .content-area :is(.table-wrap,.table-wrapper,.pm-table-container,[class$="-table-wrap"],[class$="-table-scroll"]) { scrollbar-width: thin; scrollbar-color: #8fa4bc #edf2f8; }
  .rk-app .content-area :is(.table-wrap,.table-wrapper,.pm-table-container,[class$="-table-wrap"])::-webkit-scrollbar { width: 10px; height: 10px; display: block; }
  .rk-app .content-area :is(.table-wrap,.table-wrapper,.pm-table-container,[class$="-table-wrap"])::-webkit-scrollbar-thumb { background: #8fa4bc; border-radius: 8px; border: 2px solid #edf2f8; }
  .rk-app .content-area [data-ui-scroll] { overflow: auto; max-width: 100%; scrollbar-width: thin; scrollbar-color: #8fa4bc #edf2f8; }
  .rk-app .content-area [data-ui-scroll]::-webkit-scrollbar { display: block; width: 10px; height: 10px; }
  .rk-app .content-area [data-ui-scroll] td[colspan] { white-space: normal; text-align: left; }
  .rk-app .content-area [data-ui-scroll] thead th { position: sticky; top: 0; z-index: 5; }
  .rk-app .content-area :is(.badge,.pill,.status,.uv-tag,.fsr-status,.fsp-status,[class$="-badge"]) { font-size: 12px; font-weight: 600; line-height: 1.4; padding: 3px 8px; border-radius: 6px; }
  .rk-app :is(.alert,.uv-alert,.fsp-alert,.pm-alert,.bcm-alert,.eim-alert,.epm-alert,.fsr-alert,.fm-alert,.wsm-alert,.prm-alert,.party-alert,.rto-alert,.alert-success,.alert-error,.import-errors) { border-radius: 8px; padding: 12px 16px; font-size: 14px; line-height: 1.5; }
  .rk-app :is(.uv-hint,.fsp-bulk-format,.page-help) { font-size: 12px; color: var(--rk-muted); line-height: 1.5; }
  .rk-app :is(.uv-tabs,.fsp-purchase-tabs,.import-tabs,.pmp-tabs,.pr-tabs) { gap: 4px; border-bottom: 1px solid var(--rk-line); overflow-x: auto; max-width: 100%; }
  .rk-app :is(.uv-tabs,.fsp-purchase-tabs,.import-tabs,.pmp-tabs,.pr-tabs) > :is(a,button) { min-height: 44px; border-radius: 6px 6px 0 0; padding: 12px 16px; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; background: transparent; color: #52647c; border: 0; border-bottom: 3px solid transparent; }
  .rk-app :is(.uv-tabs,.fsp-purchase-tabs,.import-tabs,.pmp-tabs,.pr-tabs) > :is(.active,.is-active) { background: #eaf2ff; color: #1d4ed8; border-bottom-color: #2563eb; }
  .rk-app :is(.audit-filters,.pr-grid,.pmp-grid,.dp-grid) > * { min-width: 0; }
  .rk-app :is(.audit-filters,.pr-grid) select { width: 100%; }
  .rk-app :is(.pagination,.pagination-area,.pagination-wrapper,[class$="-pagination"],.permission-footer) { padding: 14px 16px; font-size: 13px; border-top: 1px solid var(--rk-line); }
  .rk-app :is(.empty,.empty-state,.uv-empty,[class$="-empty"]) { color: var(--rk-muted); text-align: center; padding: 28px 16px; font-size: 14px; }
  /* Dialog sizing remains component-specific; chrome and keyboard behavior are shared. */
  .rk-app :is(.modal-bg,.modal-backdrop,.mapping-modal-bg,.party-modal-bg,.pmp-modal-bg,.recovery-backdrop,.rmp-backdrop,.smp-backdrop,[class$="-modal-backdrop"]) { padding: 20px; background: #10203980; }
  .rk-app :is(.modal,.user-modal,.modal-card,.mapping-modal,.party-modal,.pmp-modal,.recovery-modal,.rmp-modal,.smp-modal,.dp-modal,[class$="-modal"]):not([class$="-backdrop"]) { border: 1px solid #dbe3ed; border-radius: 12px; box-shadow: 0 24px 64px #10203933; }
  .rk-app :is(.modal-header,.modal-head,.modal-title,.rmp-header,.smp-header,[class$="-modal-header"],[class$="-modal-head"]) { padding: 18px 20px; background: #fff; color: var(--rk-ink); border-bottom: 1px solid var(--rk-line); border-radius: 12px 12px 0 0; }
  .rk-app :is(.modal-header,.modal-head,.rmp-header,.smp-header,[class$="-modal-header"],[class$="-modal-head"]) :is(h2,h3) { font: 600 20px/1.3 var(--rk-font); color: var(--rk-ink); margin: 0; }
  .rk-app :is(.modal-body,.rmp-body,.smp-body,[class$="-modal-body"]) { padding: 20px; }
  .rk-app :is(.modal-footer,.modal-foot,.modal-actions,.rmp-footer,.smp-footer,[class$="-modal-footer"],[class$="-modal-foot"]) { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; padding: 16px 20px; background: #f8fafc; border-top: 1px solid var(--rk-line); border-radius: 0 0 12px 12px; }
  .rk-app .content-area :is(.modal-close,.x,[class$="-modal-close"],.modal-head > button,.modal-header > button,.smp-header > button,.rmp-header > button) { width: 36px; min-height: 36px; padding: 0; border: 0; border-radius: 6px; color: #52647c; background: transparent; font: 400 26px/1 var(--rk-font); flex: 0 0 auto; }
  .rk-app .topbar { border-bottom-color: var(--rk-line); box-shadow: 0 1px 5px #172b4d04; }
  .rk-app .topbar-caption { color: #52647c; font-size: 12px; }
  .rk-app .user-details span { color: #52647c; }
  .rk-app .menu-section { color: #a3b3ca; }
  .rk-app :is(.menu-text,.submenu-item) { font-size: 14px; font-weight: 500; line-height: 1.35; }
  .rk-app .submenu-item { min-height: 40px; }
  .rk-app .sidebar-toggle, .rk-density-toggle { min-height: 40px; border: 1px solid var(--rk-line); background: #fff; color: #34465f; border-radius: 8px; cursor: pointer; }
  .rk-density-toggle { padding: 8px 12px; font: 600 13px/1.4 var(--rk-font); }
  .rk-skip-link { position: fixed; top: -100px; left: 16px; z-index: 20000; background: #fff; color: #1d4ed8; padding: 12px 20px; border-radius: 8px; }
  .rk-skip-link:focus { top: 12px; }
  .rk-sidebar-shade { display: none; }
  .rk-environment { border: 1px solid #f0d78b; background: #fffbeb; color: #854d0e; padding: 10px 16px; margin-bottom: 20px; border-radius: 8px; font-size: 13px; }
  .rk-app .rk-page-navigation { display: flex; margin: 0 0 16px; }
  .rk-app .rk-home-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 14px; border: 1px solid #b9cff8; border-radius: 8px; background: #fff; color: #1d4ed8; font: 600 14px/1.4 var(--rk-font); text-decoration: none; }
  .rk-app .rk-home-button:hover { background: #eff6ff; border-color: #2563eb; }
  .rk-app .rk-home-button svg { width: 18px; height: 18px; flex: 0 0 auto; }
  .rk-table-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; padding: 8px 0; color: #52647c; font-size: 12px; }
  .rk-table-tools details { position: relative; }
  .rk-table-tools summary { cursor: pointer; color: #34465f; padding: 6px 10px; border: 1px solid var(--rk-line); border-radius: 6px; background: #fff; }
  .rk-columns-panel { position: absolute; right: 0; top: 100%; z-index: 60; min-width: 240px; max-height: 340px; overflow: auto; padding: 12px; background: #fff; border: 1px solid var(--rk-line); border-radius: 8px; box-shadow: 0 8px 24px #172b4d22; }
  .rk-columns-panel label { display: flex; align-items: center; gap: 8px; padding: 7px 4px; font-weight: 400; }
  .rk-app .content-area [data-ui-column-hidden] { display: none; }
  .rk-app[data-density=compact] { --rk-row-space: 6px; --rk-cell-size: 13px; }
  .rk-app[data-density=compact] .content-area td :is(button,input,select) { min-height: 32px; padding-block: 5px; }
  .rk-app.rk-dialog-open { overflow: hidden; }
  .rk-app .uv-guide :is(h2,h3) { color: #fff; }
  .rk-app .permission-table :is(th,td):not(:first-child) { text-align: center; }
  .rk-app .content-area [data-ui-document] :is(h1,h2,h3,table,th,td) { all: revert-layer; }
  .rk-app .login-card { width: calc(100% - 32px); }
  .rk-login .login-card { max-width: 440px; border: 1px solid var(--rk-line); box-shadow: 0 8px 32px #172b4d0d; }
  .rk-login .login-card h1 { font-size: 26px; color: var(--rk-ink); }
  .rk-login .login-card input:not([type=checkbox]) { min-height: 44px; font: 400 14px/1.4 var(--rk-font); border-radius: 8px; }
  @media (max-width: 1600px) {
    .rk-app .fsp-item-grid { grid-template-columns: minmax(0,2fr) minmax(80px,1fr) minmax(0,1.3fr); }
    .rk-app .fsp-header-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rk-app .fsp-item-actions { flex-direction: row; }
  }
  @media (max-width: 1100px) {
    .rk-app :is(.final-summary,.stats) { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    .rk-app :is(.fsp-header-grid,.ls-info) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rk-app .fsp-item-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  }
  @media (max-width: 900px) {
    .rk-app .main-wrapper, .rk-app.sidebar-collapsed .main-wrapper { margin-left: 0; }
    .rk-app .sidebar, .rk-app.sidebar-collapsed .sidebar { width: 260px; }
    .rk-app.sidebar-mobile-open .sidebar { transform: translateX(0); }
    .rk-app.sidebar-mobile-open .rk-sidebar-shade { display: block; position: fixed; inset: 0; z-index: 950; background: #10203980; border: 0; }
    .rk-app.sidebar-mobile-open { overflow: hidden; }
    .rk-app .content-area { padding: 16px; }
    .rk-app .topbar { padding-inline: 16px; }
  }
  @media (max-width: 650px) {
    .rk-app .rk-home-button { min-height: 44px; }
    .rk-app .content-area :is(h1,.page-title,.pm-title) { font-size: 23px; }
    .rk-app :is(.topbar-left,.topbar-right) { gap: 8px; }
    .rk-app .user-info { display: none; }
    .rk-density-toggle { padding: 8px; font-size: 12px; }
    .rk-app :is(.fsp-header-grid,.fsp-item-grid,.ls-info,.final-form,.fsp-modal-grid) { grid-template-columns: 1fr; }
    .rk-app :is(.audit-filters,.pmp-grid) { grid-template-columns: 1fr; }
    .rk-app .pr-grid > label { flex: 1 1 100%; }
    .rk-app :is(.final-summary,.stats) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .rk-app :is(.modal-bg,.modal-backdrop,.mapping-modal-bg,.party-modal-bg,.pmp-modal-bg,.recovery-backdrop,.rmp-backdrop,.smp-backdrop,[class$="-modal-backdrop"]) { padding: 10px; }
    .rk-app :is(.modal,.user-modal,.modal-card,.mapping-modal,.party-modal,.pmp-modal,.recovery-modal,.rmp-modal,.smp-modal,.dp-modal,[class$="-modal"]) { max-width: calc(100vw - 20px); }
  }
  @media (prefers-reduced-motion: reduce) {
    .rk-app *, .rk-app *::before, .rk-app *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  }
}
}
@media print { .rk-skip-link,.rk-density-toggle,.rk-sidebar-shade,.rk-table-tools,.rk-page-navigation { display:none !important; } }
