.rpt { color: #e2e8f0; padding: 4px 0 16px; }
.rpt-header,.rpt-toolbar,.rpt-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rpt-header h2 { font-size:23px; margin:3px 0; }
.rpt-header p,.rpt-footer p { color:#94a3b8; margin:0; font-size:12px; line-height:1.4; }
.rpt-eyebrow { color:#7bc790; font-size:11px; letter-spacing:1.4px; font-weight:700; }
.rpt-controls { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin:12px 0 8px; padding:10px 12px; background:#161f2d; border:1px solid #2a3547; border-radius:8px; }
.rpt-controls label { display:flex; flex-direction:column; gap:3px; font-size:12px; font-weight:600; }
.rpt-controls label span { color:#94a3b8; font-size:11px; font-weight:400; }
.rpt input:not([type=checkbox]),.rpt select { box-sizing:border-box; background:#101827; color:#e2e8f0; border:1px solid #3b465a; border-radius:6px; padding:6px 8px; font-family:inherit; font-size:12px; line-height:1.3; }
.rpt input:focus,.rpt select:focus,.rpt button:focus-visible { outline:2px solid #7bc790; outline-offset:2px; }
.rpt input[type=checkbox] { accent-color:#79c48f; width:15px; height:15px; margin:0; cursor:pointer; }
.rpt-controls input { max-width:170px; }
.rpt-button { border:1px solid #445168; background:#1c293c; color:#e2e8f0; border-radius:6px; padding:7px 12px; cursor:pointer; font:inherit; font-size:12px; white-space:nowrap; }
.rpt-primary { background:#78bf8d; color:#102019; border-color:#78bf8d; font-weight:700; }
.rpt-button:disabled { opacity:.45; cursor:not-allowed; }
.rpt-muted { color:#94a3b8; font-size:11px; line-height:1.4; }
.rpt-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:10px 0; }
.rpt-stat { display:flex; align-items:center; justify-content:space-between; gap:8px; background:#131d2b; border:1px solid #293448; border-radius:7px; padding:8px 12px; }
.rpt-stat strong { font-size:20px; line-height:1.2; }
.rpt-toolbar { margin:10px 0 8px; justify-content:flex-start; flex-wrap:wrap; }
.rpt-toolbar input { flex:1; min-width:220px; max-width:420px; }
.rpt-priority { display:flex; align-items:center; gap:6px; color:#b6c3d4; font-size:11px; white-space:nowrap; cursor:pointer; }
.rpt-toolbar .rpt-priority input { flex:none; min-width:15px; }
.rpt-table-wrap { overflow:auto; max-height:64vh; border:1px solid #293448; border-radius:8px; }
.rpt-table { width:100%; min-width:1080px; margin:0; border-collapse:collapse; font-size:12px; line-height:1.3; }
.rpt-table th { position:sticky; top:0; z-index:1; background:#1b2636; color:#a9b6c9; padding:8px; text-align:left; font-size:10px; letter-spacing:.4px; white-space:nowrap; }
.rpt-table th small { font-size:10px; font-weight:400; text-transform:none; letter-spacing:0; }
.rpt-sort { display:inline-flex; align-items:center; gap:4px; border:0; padding:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }
.rpt-sort::after { content:'↕'; opacity:.5; }
.rpt-sort[data-direction=asc]::after { content:'↑'; opacity:1; }
.rpt-sort[data-direction=desc]::after { content:'↓'; opacity:1; }
.rpt-sort[data-direction=asc],.rpt-sort[data-direction=desc] { color:#8ed6a0; }
#rpt-sort-status { margin-left:auto; }
/* Explicit cell typography prevents the global td rule from enlarging every row. */
.rpt-table td { padding:7px 8px; border-top:1px solid #293448; vertical-align:middle; font-size:12px; line-height:1.3; }
.rpt-table td:first-child { width:25%; min-width:210px; max-width:320px; }
.rpt-table td:nth-child(5) { width:160px; }
.rpt-table td:nth-child(9) { width:130px; min-width:115px; max-width:160px; }
.rpt-table strong { display:block; margin:0; font-size:inherit; line-height:inherit; }
.rpt-table .rpt-product-name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-weight:600; }
.rpt-table select { width:155px; max-width:100%; min-height:28px; padding:4px 6px; font-size:11px; }
.rpt-table .rpt-quantity { width:70px; min-height:28px; padding:4px 6px; font-size:12px; }
.rpt-table small { display:block; color:#94a3b8; margin-top:3px; font-size:10px; line-height:1.3; }
.rpt-unit { color:#94a3b8; font-size:10px; font-weight:400; }
.rpt-numeric,.rpt-ddp { font-variant-numeric:tabular-nums; }
.rpt-stock-total strong,.rpt-covered { color:#8ed6a0; }
.rpt-ddp strong { color:#83b7f7; }
.rpt-days { min-width:80px; }
.rpt-low { color:#ffadb3; }
.rpt-warning { color:#edce98; }
.rpt-unknown { color:#94a3b8; }
.rpt-nowrap,.rpt-ddp strong { white-space:nowrap; }
.rpt-table .rpt-status-note { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rpt-table details { margin-top:3px; color:#a3b2c6; font-size:10px; line-height:1.4; }
.rpt-row-details summary span { color:#81be99; }
.rpt-detail-body { padding:8px; margin-top:6px; border:1px solid #35445b; border-radius:6px; background:#131d2b; font-size:12px; line-height:1.5; }
.rpt-detail-body p { margin:6px 0; }
.rpt-table td:has(.rpt-row-details[open]) .rpt-product-name { -webkit-line-clamp:unset; }
.rpt summary { cursor:pointer; }
.rpt-badge { display:inline-block; padding:3px 6px; border-radius:4px; font-size:10px; line-height:1.3; white-space:nowrap; background:#203a32; color:#8ed6a0; }
.rpt-badge.risk { background:#462a30; color:#ffadb3; }
.rpt-badge.blocked { background:#3d3424; color:#eac487; }
.rpt-empty { text-align:center; color:#a4b0c2; padding:42px!important; }
.rpt-footer { padding:10px 0; }
.rpt-footer strong { font-size:12px; }
.rpt-help { border-top:1px solid #293448; padding-top:10px; color:#94a3b8; font-size:12px; line-height:1.6; }
.rpt-help p { max-width:1000px; }
#rpt-message:not(:empty) { padding:12px 16px; border:1px solid #665336; border-radius:8px; color:#edce98; background:#302a23; font-size:13px; line-height:1.6; }
@media(max-width:800px) { .rpt-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.rpt-footer{align-items:flex-start;flex-direction:column}.rpt-header{align-items:flex-start}.rpt-header h2{font-size:24px}.rpt-controls{gap:12px}.rpt-controls label{flex:1;min-width:180px} }
