.pm-materials { max-width: 1120px; color: #40516b; font-size: 12px; }
.pm-material-table-wrap { border: 1px solid #e0e6ef; border-radius: 4px; overflow-x: auto; }
.pm-material-table-wrap:has(.pm-material-options) { padding-bottom: 250px; }
.pm-material-table { width: 100%; min-width: 900px; table-layout: fixed; border-collapse: collapse; }
.pm-material-table th { padding: 12px 10px; text-align: left; background: #f5f7fa; color: #28384e; font-weight: 500; }
.pm-material-table td { padding: 8px 10px; border-top: 1px solid #e4e9f1; }
.pm-material-table :is(th,td):first-child { text-align: center; }
.pm-material-table th span, .pm-material-total span { color: #94a2b7; }
.pm-material-table strong { font-weight: 500; }
.pm-material-table small { display: block; margin-top: 4px; color: #94a2b7; font-size: 11px; }
.pm-material-table input { width: 100%; min-width: 0; height: 33px; padding: 6px 10px; border: 1px solid #ccd8e8; border-radius: 4px; background: #fff; color: #40516b; font: inherit; }
.pm-material-table input:focus { outline: none; border-color: #3978ff; box-shadow: 0 0 0 2px #3978ff12; }
.pm-material-table input[type=number] { appearance: textfield; -moz-appearance: textfield; }
.pm-material-table input::-webkit-inner-spin-button { -webkit-appearance: none; }
.pm-material-search { position: relative; }
.pm-material-options { position: absolute; z-index: 12; top: calc(100% + 5px); left: 0; width: 320px; max-height: 240px; overflow-y: auto; padding: 5px; border: 1px solid #dce4ef; border-radius: 5px; background: #fff; box-shadow: 0 6px 20px #263f6826; }
.pm-material-options button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 9px; border: 0; border-radius: 3px; background: #fff; color: #40516b; font: inherit; text-align: left; cursor: pointer; }
.pm-material-options button:hover, .pm-material-options button:focus-visible { background: #eef4ff; color: #2869db; }
.pm-material-options button:disabled { opacity: .45; cursor: default; }
.pm-material-options p { padding: 10px; color: #94a2b7; }
.pm-material-total td { height: 40px; }
.pm-material-table .pm-material-total td:first-child { text-align: left; }
.pm-material-total td:last-child { text-align: right; }
.pm-material-total strong { color: #17283f; font-weight: 600; font-variant-numeric: tabular-nums; }
