:root{
  --ink:#1a1524; --ink2:#463a56; --muted:#8b7fa0;
  --purple:#5B2A86; --purple-d:#40205e; --orange:#E8730C; --orange-d:#c25e05;
  --paper:#faf8fc; --card:#ffffff; --line:#e7e0f0; --line2:#d8cee8;
  --ok:#1f8a5b; --okbg:#e5f5ee; --warn:#b8860b; --warnbg:#fdf3dc;
  --blue:#2563a8; --bluebg:#e6effa; --red:#b23b3b; --redbg:#fbeaea;
  --draft:#8b7fa0; --draftbg:#f0ecf5;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;min-height:100vh}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:14px}

.top{display:flex;align-items:center;gap:16px;padding:12px 22px;background:var(--purple);color:#fff;
  position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:12px}
.mm-logo{height:34px;width:auto;border-radius:6px;background:#0A1628;padding:4px;object-fit:contain}
.logo{font-weight:800;letter-spacing:.5px;font-size:15px}
.logo b{color:var(--orange)}
.top .spacer{flex:1}
.who{font-size:12.5px;color:#e0d3f2;text-align:right;line-height:1.3}
.who b{color:#fff;display:block;font-size:13.5px}
.logout{margin-left:8px;border:0;background:rgba(255,255,255,.14);color:#fff;padding:7px 12px;border-radius:8px;font-weight:700;font-size:12.5px}
.logout:hover{background:rgba(255,255,255,.24)}

.wrap{max-width:1120px;margin:0 auto;padding:22px}
.page.hidden{display:none}

.login-card{max-width:360px;margin:80px auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 26px;box-shadow:0 8px 30px rgba(40,20,70,.08)}
.login-card h2{margin:0 0 18px;font-size:20px}

.pagehead{display:flex;align-items:baseline;gap:12px;margin:4px 0 18px}
.pagehead h1{font-size:22px;margin:0;font-weight:800;letter-spacing:-.3px}
.pagehead .sub{color:var(--muted);font-size:13px}
.newbtn{margin-left:auto;background:var(--orange);color:#fff;border:0;padding:9px 16px;border-radius:9px;
  font-weight:700;font-size:13.5px;box-shadow:0 1px 0 var(--orange-d)}
.newbtn:hover{background:var(--orange-d)}

.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:880px){.cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cols{grid-template-columns:1fr}}
.col{background:transparent}
.colhead{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:.6px;color:var(--ink2);padding:0 2px 9px}
.colhead .n{background:var(--line);color:var(--ink2);border-radius:20px;padding:0 8px;font-size:11.5px;line-height:18px}
.col-body{display:flex;flex-direction:column;gap:10px;min-height:40px}

.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 14px;
  box-shadow:0 1px 2px rgba(40,20,70,.04);cursor:pointer;transition:.12s}
.card:hover{border-color:var(--line2);box-shadow:0 3px 10px rgba(40,20,70,.09);transform:translateY(-1px)}
.card .addr{font-weight:700;font-size:14px;margin-bottom:1px}
.card .seller{color:var(--muted);font-size:12.5px;margin-bottom:9px}
.card .row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px}
.card .price{font-weight:800;color:var(--purple);font-size:15px}
.card .offer{font-weight:800;color:var(--ok);font-size:14px}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}
.b-draft{background:var(--draftbg);color:var(--draft)}
.b-sub{background:var(--bluebg);color:var(--blue)}
.b-rev{background:var(--warnbg);color:var(--warn)}
.b-ret{background:var(--okbg);color:var(--ok)}
.b-won{background:var(--okbg);color:var(--ok)}
.b-lost{background:var(--redbg);color:var(--red)}
.incomplete{margin-top:9px;font-size:11.5px;color:var(--orange-d);background:#fdf0e2;border-radius:7px;
  padding:5px 8px;font-weight:600}
.empty{color:var(--muted);font-size:12.5px;font-style:italic;padding:14px 4px;text-align:center;
  border:1px dashed var(--line2);border-radius:10px}

.f{margin-bottom:11px}
.f.full{grid-column:1/-1}
.f label{display:block;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:4px}
.f label .req{color:var(--orange);font-weight:800}
.f input,.f select,.f textarea{width:100%;padding:9px 11px;border:1px solid var(--line2);border-radius:9px;
  background:#fff;color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid #d8c4ee;border-color:var(--purple)}
.f textarea{resize:vertical;min-height:52px}
.hint{font-size:11px;color:var(--muted);margin-top:3px;font-style:italic}

.scrim{position:fixed;inset:0;background:rgba(26,21,36,.5);z-index:100;display:none;
  align-items:flex-start;justify-content:center;padding:26px 16px;overflow:auto}
.scrim.show{display:flex}
.sheet{background:var(--paper);width:100%;max-width:720px;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(20,10,40,.4);margin-bottom:40px}
.sheethead{background:#fff;border-bottom:1px solid var(--line);padding:16px 20px;display:flex;align-items:center;gap:12px;
  position:sticky;top:0;z-index:2}
.sheethead h2{margin:0;font-size:17px;font-weight:800;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheethead .x{margin-left:auto;border:0;background:var(--line);width:30px;height:30px;border-radius:8px;font-size:16px;color:var(--ink2);flex-shrink:0}
.sheethead .x:hover{background:var(--line2)}
.progress{padding:12px 20px;background:#fff;border-bottom:1px solid var(--line)}
.pbar{height:7px;background:var(--line);border-radius:20px;overflow:hidden}
.pbar span{display:block;height:100%;background:var(--orange);transition:width .3s}
.plabel{font-size:12px;color:var(--ink2);margin-top:6px;font-weight:600}
.sheetbody{padding:6px 20px 18px;max-height:60vh;overflow:auto}
fieldset{border:0;padding:0;margin:16px 0 4px}
legend{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--purple);
  padding:0;margin-bottom:10px;display:flex;align-items:center;gap:8px;width:100%}
legend .ln{flex:1;height:1px;background:var(--line)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
.seg{display:flex;gap:8px}
.seg button{flex:1;border:1px solid var(--line2);background:#fff;padding:8px;border-radius:9px;font-weight:600;color:var(--ink2)}
.seg button.on{background:var(--purple);color:#fff;border-color:var(--purple)}

.sheetfoot{background:#fff;border-top:1px solid var(--line);padding:13px 20px;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.sheetfoot .note{font-size:12px;color:var(--muted);flex:1}
.btn{border:0;padding:10px 17px;border-radius:9px;font-weight:700;font-size:13.5px}
.btn.full{width:100%}
.btn-ghost{background:var(--line);color:var(--ink2)}
.btn-ghost:hover{background:var(--line2)}
.btn-primary{background:var(--purple);color:#fff}
.btn-primary:hover{background:var(--purple-d)}
.btn-primary:disabled{background:#cbbfdc;cursor:not-allowed}
.btn-go{background:var(--orange);color:#fff}
.btn-go:hover{background:var(--orange-d)}

.review{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:14px 16px;margin:14px 0}
.review h3{margin:0 0 4px;font-size:13px;color:var(--purple);text-transform:uppercase;letter-spacing:.5px}
.readonly{background:var(--draftbg);border-radius:9px;padding:11px 13px;font-size:13px;margin-bottom:8px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px}
.kv .k{color:var(--muted)}

.offerbox{background:linear-gradient(135deg,#f3ecfa,#fdf0e2);border:1px solid var(--line2);border-radius:12px;
  padding:15px 17px;margin:14px 0}
.offerbox .lbl{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--orange-d)}
.offerbox .num{font-size:30px;font-weight:800;color:var(--purple);letter-spacing:-1px}
.offerbox .obs{font-size:13px;color:var(--ink2);margin-top:8px;line-height:1.55}

.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--ink);color:#fff;padding:12px 20px;border-radius:11px;font-weight:600;font-size:13.5px;
  box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;transition:.35s;z-index:200}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

.manager-filters{display:flex;gap:10px;margin-bottom:14px;align-items:center;flex-wrap:wrap}
.manager-filters label{font-size:12px;font-weight:700;color:var(--ink2)}
.manager-filters select{padding:7px 10px;border-radius:8px;border:1px solid var(--line2);background:#fff;min-width:140px}
