/* ══ MODAL ══ */
.mbg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;overflow-y:auto;display:none;padding:16px 0}
.mbg.open{display:block}
.modal{background:#fff;width:820px;max-width:98vw;margin:0 auto;border-radius:4px;box-shadow:0 4px 32px rgba(0,0,0,.3)}
.m-tb{background:#fff;padding:9px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray-d)}
.m-lbl{font-size:11px;font-weight:700;color:var(--ink-l);text-transform:uppercase;letter-spacing:.07em}
.mb-btn{height:29px;padding:0 12px;border-radius:3px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:4px}
.mbb-red{background:#dc3545;color:#fff}.mbb-red:hover{background:#b02a37}
.mbb-green{background:#28a745;color:#fff}.mbb-green:hover{background:#1e7e34}
.mbb-teal{background:#17a2b8;color:#fff}.mbb-teal:hover{background:#138496}
.mbb-gray{background:var(--gray-d);color:var(--ink-m)}.mbb-gray:hover{background:#ced4da}
.mbb-blue{background:var(--blue);color:#fff}.mbb-blue:hover{background:#0056b3}
.m-body{padding:16px 18px}
.mf label{display:block;font-size:10.5px;font-weight:700;color:var(--ink-l);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.mi,.ms,.mta{width:100%;padding:7px 9px;border-radius:3px;border:1px solid var(--gray-d);font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);outline:none;background:#fff}
.mi:focus,.ms:focus,.mta:focus{border-color:var(--blue)}
.mta{resize:none}
.mg2{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:12px}
.mg3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-bottom:12px}
.mg4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:13px;margin-bottom:12px}
.price-big{font-size:22px;font-weight:700}
.tw{display:flex;align-items:center;gap:4px}
.tw-val{font-size:14px;font-weight:600;min-width:40px}
.tw-b{background:none;border:none;cursor:pointer;color:var(--ink-m);font-size:14px;padding:1px 2px;line-height:1}
.tw-b:hover{color:var(--blue)}
.rem-row{display:flex;gap:12px;align-items:center;padding:5px 0}
.rem-row label{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink-m);cursor:pointer}
.tp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.tp-l{border:1px solid var(--gray-d);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;max-height:190px}
.tp-search{padding:6px 8px;border:none;border-bottom:1px solid var(--gray-d);font-family:'DM Sans',sans-serif;font-size:12px;outline:none}
.tp-search:focus{background:#f0f7ff}
.tp-list{overflow-y:auto;flex:1}
.tp-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--gray-d);cursor:pointer}
.tp-row:last-child{border-bottom:none}
.tp-row:hover{background:var(--gray-l)}
.tp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.tp-name{flex:1;font-size:12.5px}
.tp-add{width:20px;height:20px;border-radius:3px;background:#28a745;color:#fff;border:none;cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.tp-r{border:1px solid var(--gray-d);border-radius:3px;padding:7px;background:#fafafa;min-height:80px}
.tp-sel{display:flex;align-items:center;gap:7px;padding:5px 7px;background:#fff3cd;border-radius:3px;margin-bottom:5px}
.tp-sel-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.tp-sel-name{flex:1;font-size:12.5px;font-weight:500}
.tp-bono{font-size:12px;padding:4px 5px;border-radius:3px;border:1px solid var(--gray-d);background:#fff;font-family:'DM Sans',sans-serif;outline:none;max-width:130px}
.tp-del{width:21px;height:21px;border-radius:3px;background:#dc3545;color:#fff;border:none;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tp-empty{color:var(--ink-l);font-size:12px;padding:14px;text-align:center}
.m-actions{display:flex;justify-content:center;gap:8px;padding:10px 18px;border-top:1px solid var(--gray-d);background:#fafafa}
.m-hist{padding:0 18px 16px}
.m-hist-lbl{font-size:10.5px;font-weight:700;color:var(--ink-l);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.hist-banner{background:#fd7e14;color:#fff;padding:7px 12px;border-radius:3px;margin-bottom:6px;font-size:12.5px;font-weight:500;text-align:center}
.ht{width:100%;border-collapse:collapse;font-size:12.5px}
.ht th{padding:6px 10px;background:var(--gray-l);font-weight:600;color:var(--ink-m);text-align:left;border-bottom:1px solid var(--gray-d)}
.ht td{padding:6px 10px;border-bottom:1px solid var(--gray-d)}
.ht tr:last-child td{border-bottom:none}
.ht-add{width:21px;height:21px;border-radius:3px;background:var(--blue);color:#fff;border:none;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;float:right}

/* ══ TOAST ══ */
#toast-container{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{padding:12px 18px 12px 14px;border-radius:5px;font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:500;color:#fff;display:flex;align-items:center;gap:10px;box-shadow:0 4px 16px rgba(0,0,0,.18);pointer-events:all;opacity:0;transform:translateX(40px);transition:opacity .22s,transform .22s;max-width:340px}
.toast.show{opacity:1;transform:translateX(0)}
.toast.success{background:#28a745}
.toast.error{background:#dc3545}
.toast.warning{background:#e67e22}
.toast-icon{font-size:16px;flex-shrink:0}
.toast-msg{flex:1;line-height:1.35}
.toast-close{background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;font-size:16px;padding:0;line-height:1;flex-shrink:0}
.toast-close:hover{color:#fff}

