/* «Маркетплейсы → Договоры». Префикс mpc-. Токены shell.css (--brand --ink --muted --stroke --panel --card --ok --warn --ai --r --r-sm)
 * и компоненты marketplace-planning.css (mp-btn, mp-input, mp-panel, mp-field, mp-sheet, mp-tabs, mp-status, mp-empty). */
.mpc-host{display:block}
.mpc-subnav{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--stroke)}
.mpc-subnav button{border:0;background:none;padding:10px 14px;font:inherit;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.mpc-subnav button.is-on{color:var(--ink);border-bottom-color:var(--brand)}
.mpc-subnav button:hover{color:var(--ink)}
.mpc-subnav button:focus-visible,.mpc-sortbtn:focus-visible,.mpc-kpi:focus-visible,.mpc-party:focus-visible,.mpc-t tr:focus-visible{outline:2px solid var(--ai);outline-offset:2px}

.mpc-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:14px}
.mpc-kpi{display:grid;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--stroke);border-radius:var(--r);background:var(--card);font:inherit;cursor:pointer;color:var(--ink)}
.mpc-kpi span{font-size:12px;color:var(--muted);font-weight:600}
.mpc-kpi b{font-size:26px;line-height:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.mpc-kpi:hover{background:var(--panel)}
.mpc-kpi.is-ok b{color:#166534}.mpc-kpi.is-warn b{color:var(--mp-warn,#b7791f)}.mpc-kpi.is-bad b{color:#b91c1c}

.mpc-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.mpc-filters .mp-input{width:auto;min-width:140px;flex:0 1 170px}
.mpc-filters .mpc-search{flex:1 1 320px;min-width:240px}
.mpc-inline{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.mpc-inline .mp-input{min-width:0;flex:0 0 150px;width:150px}
.mpc-check,.mpc-radio{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.mpc-filters .mpc-check{min-height:40px;padding:0 4px}
.mpc-filters .mp-link{min-height:40px;display:inline-flex;align-items:center}
.mpc-panel{padding:0;overflow:hidden}
.mpc-scroll{overflow-x:auto}
.mpc-t{width:100%;border-collapse:collapse;font-size:13px}
.mpc-t th,.mpc-t td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--stroke);vertical-align:top}
.mpc-t th{background:var(--panel);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;white-space:nowrap}
.mpc-t td.r,.mpc-t th.r{text-align:right;font-variant-numeric:tabular-nums}
.mpc-t tbody tr[data-mpc-open]{cursor:pointer}.mpc-t tbody tr[data-mpc-open]:hover{background:var(--panel)}
.mpc-t tr:last-child td{border-bottom:0}
.mpc-sortbtn{border:0;background:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;cursor:pointer;padding:0}
.mpc-sortbtn.is-on{color:var(--ink)}
.mpc-quick{white-space:nowrap}
.mpc-qbtn{min-height:28px;padding:0 8px;border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--card);font:inherit;font-size:11px;font-weight:700;cursor:pointer;color:var(--ink)}
.mpc-qbtn:hover{background:var(--panel)}
.mpc-pager{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;gap:12px;flex-wrap:wrap}
.mpc-pager>div{display:flex;align-items:center;gap:8px}

/* Статусы договора: цвет только семантический */
.mpc-st{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid var(--stroke);background:var(--panel);color:#334155}
.mpc-st.st-active,.mpc-st.st-signed{background:var(--ok-dim);border-color:rgba(22,163,74,.3);color:#166534}
.mpc-st.st-verified{background:var(--ok-dim);border-color:rgba(22,163,74,.2);color:#166534}
.mpc-st.st-review,.mpc-st.st-filled{background:var(--ai-dim,rgba(37,99,235,.08));border-color:rgba(37,99,235,.25);color:#1d4ed8}
.mpc-st.st-has_errors,.mpc-st.st-terminated{background:var(--warn-dim);border-color:rgba(220,38,38,.3);color:#b91c1c}
.mpc-st.st-expired,.mpc-st.st-archived{color:var(--muted)}
.mpc-flag{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--stroke);background:var(--panel);color:#334155;white-space:nowrap}
.mpc-flag.is-ok{background:var(--ok-dim);color:#166534;border-color:rgba(22,163,74,.3)}
.mpc-flag.is-warn{background:var(--mp-warn-bg,rgba(217,154,26,.12));color:var(--mp-warn,#b7791f);border-color:rgba(217,154,26,.4)}
.mpc-flag.is-bad{background:var(--warn-dim);color:#b91c1c;border-color:rgba(220,38,38,.3)}

/* Карточка договора */
.mpc-chead h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mpc-acts{justify-content:flex-end}
.mpc-more{position:relative}
.mpc-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}
.mpc-more summary::-webkit-details-marker{display:none}
.mpc-more summary::after{content:"▾";margin-left:6px;font-size:11px}
.mpc-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:230px;display:grid;background:var(--card);border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow-lg,0 8px 24px rgba(15,23,42,.14));padding:4px}
.mpc-menu button{border:0;background:none;text-align:left;padding:9px 12px;font:inherit;font-size:13px;font-weight:600;border-radius:var(--r-sm);cursor:pointer;color:var(--ink)}
.mpc-menu button:hover{background:var(--panel)}.mpc-menu button.is-danger{color:#b91c1c}
.mpc-banner{display:block}.mpc-banner.is-info{background:var(--panel);border-color:var(--stroke)}
.mpc-tabs{margin-top:6px}
.mpc-tabbody{display:grid;gap:14px}
.mpc-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mpc-row{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--stroke);font-size:13px}
.mpc-row:last-child{border-bottom:0}
.mpc-row span{color:var(--muted)}.mpc-row b{font-weight:600;overflow-wrap:anywhere}
.mono{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-variant-numeric:tabular-nums}
.mpc-score{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.mpc-score b{font-size:34px;line-height:38px;font-weight:800;letter-spacing:-.02em}
.mpc-score span{font-size:12px;color:var(--muted)}
.mpc-counts{display:flex;gap:24px;margin-top:10px}
.mpc-counts b{display:block;font-size:24px;font-weight:800}.mpc-counts span{font-size:12px;color:var(--muted)}
.mpc-hint{background:var(--panel);border-radius:var(--r-sm);padding:10px 12px;font-size:13px;margin:0 0 10px}
.mpc-checkhead{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mpc-checks-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:8px 0 12px}
.mpc-checks-list li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--stroke);font-size:13px;font-weight:600;background:var(--card)}
.mpc-checks-list i{font-style:normal;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:800;color:#fff;background:var(--ok)}
.mpc-checks-list .is-warning i{background:#d99a1a}.mpc-checks-list .is-error i{background:#dc2626}
.mpc-issues{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mpc-issues li{font-size:13px;padding:8px 10px;border-radius:var(--r-sm);background:var(--panel)}
.mpc-ai{border-left:3px solid #6d49f5}
.mpc-cardup{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.mpc-cardup .mp-input{width:auto}
.mpc-cmp td{vertical-align:middle}
.mpc-actionrow{display:flex;justify-content:flex-end}
.mpc-docs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mpc-docs li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13px}
.mpc-docs li span{color:var(--muted);flex:1 1 220px}
.mpc-rowact{white-space:nowrap}.mpc-rowact .mp-link{margin-right:6px}

/* Банки */
.mpc-bank{border:1px solid var(--stroke);border-radius:var(--r);padding:12px 14px;background:var(--card);margin-bottom:10px}
.mpc-bank>header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:6px;flex-wrap:wrap}
.mpc-bank.is-off{opacity:.65}
.mpc-accs{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.mpc-accs li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 8px;background:var(--panel);border-radius:var(--r-sm);font-size:13px}
.mpc-accs li.is-off{opacity:.55;text-decoration:line-through}

/* Справочники */
.mpc-split{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}
.mpc-plist{display:grid;gap:6px;max-height:70vh;overflow:auto}
.mpc-party{display:grid;text-align:left;border:1px solid transparent;border-radius:var(--r-sm);background:none;padding:8px 10px;font:inherit;cursor:pointer;color:var(--ink)}
.mpc-party span{font-size:12px;color:var(--muted)}
.mpc-party:hover{background:var(--panel)}.mpc-party.is-on{background:var(--panel);border-color:var(--stroke)}
.mpc-ptitle{font-size:20px;font-weight:800;margin:0 0 8px}

/* Формы и мастер */
.mp-sheet.mpc-wide{width:min(940px,100%)}
#mpcModalTop{z-index:320}
.mpc-form{display:grid;gap:14px}
.mpc-sec{border:1px solid var(--stroke);border-radius:var(--r);padding:12px 14px;margin:0;display:grid;gap:10px}
.mpc-sec legend{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 6px}
.mpc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.mpc-fld[hidden]{display:none}
.mpc-fld.is-flash{animation:mpcFlash 1.4s ease}
@keyframes mpcFlash{0%,60%{background:var(--mp-warn-bg,rgba(217,154,26,.18))}100%{background:none}}
@media(prefers-reduced-motion:reduce){.mpc-fld.is-flash{animation:none}}
.mpc-req{color:#dc2626;font-style:normal}
.mpc-checks{display:flex;flex-wrap:wrap;gap:10px}
.mpc-stepper{list-style:none;display:flex;gap:6px;padding:2px 0 10px;margin:0 0 6px;overflow-x:auto;scrollbar-width:none}
.mpc-stepper::-webkit-scrollbar{display:none}
.mpc-stepper li{flex:1 1 auto;justify-content:center;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;padding:4px 10px;border-radius:999px;border:1px solid var(--stroke)}
.mpc-stepper li span{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--panel);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.mpc-stepper li.is-on{color:var(--ink);border-color:var(--brand);background:rgba(255,90,0,.06)}.mpc-stepper li.is-on span{background:var(--brand);color:#fff}
.mpc-stepper li.is-done span{background:var(--ok);color:#fff}
.mpc-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.mpc-type{display:grid;gap:4px;text-align:left;border:1px solid var(--stroke);border-radius:var(--r);padding:14px;background:var(--card);font:inherit;cursor:pointer;color:var(--ink)}
.mpc-type span{font-size:13px;color:var(--muted)}.mpc-type small{font-size:11px;color:var(--muted)}
.mpc-type:hover{background:var(--panel)}.mpc-type.is-on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-dim)}
.mpc-review{display:grid}
.mpc-bankw{border:1px dashed var(--stroke);border-radius:var(--r);padding:10px 12px;grid-column:1/-1}
.mpc-bankw-title{font-weight:700;font-size:13px;margin-bottom:6px}
.mpc-acc-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}
.mpc-acc-list li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:6px 8px;border-radius:var(--r-sm);background:var(--panel);font-size:13px}
.mpc-acc-list li span{flex:1 1 200px}
.mpc-acc-add{display:flex;gap:8px;flex-wrap:wrap}
.mpc-acc-add .mp-input{flex:1 1 180px;width:auto}
.mpc-items{display:grid;gap:6px;margin:6px 0}
.mpc-item{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 28px;gap:6px;align-items:center}
.mpc-item.mpc-item-h{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:700}
.mpc-item .r{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.mpc-total{text-align:right;margin:6px 0}

@media(max-width:1100px){.mpc-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.mpc-cols,.mpc-split{grid-template-columns:1fr}}
@media(max-width:640px){
  .mpc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mpc-grid{grid-template-columns:1fr}
  .mpc-filters .mp-input,.mpc-filters .mpc-search{flex:1 1 100%}
  .mpc-item{grid-template-columns:1fr 1fr}.mpc-item.mpc-item-h{display:none}
  .mpc-row{grid-template-columns:1fr}
}
