.mayoreo-panel { color:#e2e8f0; font-size:.8rem; }
.mayoreo-heading, .mayoreo-actions, .mayoreo-reference-controls, .mayoreo-summary { display:flex; align-items:center; gap:14px; }
.mayoreo-heading { justify-content:space-between; flex-wrap:wrap; }
.mayoreo-heading h3 { margin:0 0 5px; color:#f1f5f9; font-size:1.05rem; }
.mayoreo-heading p, .mayoreo-reference-controls p, .mayoreo-summary p { margin:0; color:#94a3b8; line-height:1.55; }
.mayoreo-actions { flex-wrap:wrap; gap:8px; }
.mayoreo-panel button, .mayoreo-panel input, .mayoreo-panel select { border:1px solid #334155; border-radius:7px; background:#101827; color:#e2e8f0; font:inherit; padding:9px 11px; }
.mayoreo-panel button { cursor:pointer; font-weight:600; }
.mayoreo-panel button.mayoreo-primary { background:rgba(129,140,248,.14); color:#c7d2fe; border-color:rgba(129,140,248,.4); }
.mayoreo-panel button:disabled, .mayoreo-panel fieldset:disabled { opacity:.55; }
.mayoreo-panel button:disabled { cursor:default; }
.mayoreo-panel :is(button,input,select):focus-visible, .mayoreo-table-wrap:focus-visible { outline:2px solid #a5b4fc; outline-offset:3px; }
.mayoreo-panel fieldset { margin:0; padding:0; border:0; min-width:0; }
.mayoreo-status { min-height:1.3em; margin:10px 0 16px; color:#a5b4fc; }
.mayoreo-status.is-error, .mayoreo-validation { color:#fda4af; }
.mayoreo-reference-controls { align-items:end; flex-wrap:wrap; padding:16px; background:rgba(30,41,59,.42); border:1px solid rgba(71,85,105,.3); border-radius:10px; }
.mayoreo-panel label { display:flex; flex-direction:column; gap:7px; color:#cbd5e1; font-size:.75rem; font-weight:600; min-width:0; }
.mayoreo-reference-controls label { min-width:185px; }
.mayoreo-reference-controls p { flex:1; min-width:220px; padding-bottom:5px; font-size:.75rem; }
.mayoreo-margin-controls { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(240px,2fr); gap:16px; align-items:end; margin-top:12px; padding:16px; border:1px solid rgba(71,85,105,.3); border-radius:10px; background:rgba(30,41,59,.25); }
.mayoreo-margin-controls p { margin:0; color:#94a3b8; font-size:.75rem; line-height:1.55; padding-bottom:5px; }
.mayoreo-tiers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0; }
.mayoreo-tier-card { padding:16px; border:1px solid rgba(129,140,248,.25); border-radius:10px; background:rgba(99,102,241,.06); }
.mayoreo-tier-card h4 { margin:0 0 14px; color:#c7d2fe; font-size:.87rem; }
.mayoreo-tier-fields { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:12px; }
.mayoreo-panel input { width:100%; box-sizing:border-box; }
.mayoreo-panel [aria-invalid="true"] { border-color:#fb7185; }
.mayoreo-range { margin:11px 0 0; min-height:1.4em; color:#94a3b8; font-size:.72rem; }
.mayoreo-validation { padding:11px 14px; background:rgba(244,63,94,.08); border:1px solid rgba(244,63,94,.3); border-radius:7px; }
.mayoreo-summary { justify-content:space-between; align-items:start; margin:19px 0 12px; }
.mayoreo-product-controls { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-top:18px; }
.mayoreo-product-controls label { flex:1; min-width:200px; max-width:440px; }
.mayoreo-summary span { flex-shrink:0; color:#cbd5e1; font-weight:600; }
.mayoreo-summary p { max-width:750px; font-size:.73rem; }
.mayoreo-table-wrap { overflow:auto; max-height:65vh; border:1px solid rgba(71,85,105,.35); border-radius:10px; }
.mayoreo-table { width:100%; min-width:890px; border-collapse:separate; border-spacing:0; font-size:.78rem; }
.mayoreo-table th { position:sticky; top:0; z-index:1; background:#1e293b; color:#cbd5e1; font-size:.72rem; font-weight:600; text-align:right; padding:13px 15px; border-bottom:1px solid #334155; }
.mayoreo-table th:first-child { text-align:left; }
.mayoreo-table td { padding:13px 15px; text-align:right; border-bottom:1px solid rgba(51,65,85,.38); vertical-align:top; font-variant-numeric:tabular-nums; }
.mayoreo-table tbody tr:nth-child(even) { background:rgba(30,41,59,.32); }
.mayoreo-table tbody tr:hover { background:rgba(99,102,241,.07); }
.mayoreo-table td:first-child { text-align:left; min-width:210px; max-width:300px; }
.mayoreo-table strong { display:block; font-size:.85rem; color:#f1f5f9; }
.mayoreo-table small { display:block; margin-top:5px; color:#94a3b8; font-size:.7rem; line-height:1.4; }
.mayoreo-table .mayoreo-profit { color:#86efac; }
.mayoreo-table .mayoreo-loss { color:#fda4af; }
.mayoreo-table .mayoreo-neutral { color:#fde68a; }
.mayoreo-table .mayoreo-missing { color:#cbd5e1; }
.mayoreo-table .mayoreo-adjusted { color:#fde68a; }
.mayoreo-table .mayoreo-unavailable-reason { max-width:210px; margin-left:auto; color:#94a3b8; }
.mayoreo-table [data-mayoreo-unavailable] { display:inline-block; padding:6px 12px; background:rgba(148,163,184,.09); border-radius:6px; color:#94a3b8; cursor:help; }
.mayoreo-table .mayoreo-empty { text-align:center; padding:40px 20px; color:#94a3b8; }
.mayoreo-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:850px) {
    .mayoreo-margin-controls { grid-template-columns:1fr; }
    .mayoreo-tiers { grid-template-columns:1fr; }
    .mayoreo-summary { flex-direction:column; gap:7px; }
    .mayoreo-reference-controls label { flex:1; }
    .mayoreo-actions { width:100%; }
    .mayoreo-actions button { flex:1; }
}
