/* M2 Portal V9 Complete */
:root{--m2cp-card:rgba(255,255,255,.93);--m2cp-text:#0f172a;--m2cp-muted:#64748b;--m2cp-accent:#7c3aed}
.m2cp-shell{position:relative;isolation:isolate;max-width:1180px;margin:24px auto;padding:18px;font-family:Inter,system-ui,sans-serif;color:var(--m2cp-text)}
.m2cp-shell:before{content:"";position:absolute;inset:0;z-index:-2;border-radius:34px;background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--m2cp-accent) 52%,transparent),transparent 32%),radial-gradient(circle at 88% 18%,rgba(14,165,233,.45),transparent 30%),linear-gradient(135deg,#020617,#0f172a 45%,#111827);min-height:100%}.m2cp-light:before{background:linear-gradient(135deg,#f8fafc,#e0e7ff)}
.m2cp-hero{position:relative;min-height:260px;display:flex;flex-direction:column;justify-content:center;padding:34px;color:#fff;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.20);box-shadow:0 28px 90px rgba(2,6,23,.26);backdrop-filter:blur(18px)}.m2cp-light .m2cp-hero{color:#0f172a;background:rgba(255,255,255,.80)}
.m2cp-actions{position:absolute;right:18px;top:18px}.m2cp-actions a{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.15);color:inherit;text-decoration:none;font-weight:800}
.m2cp-badge{width:max-content;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.m2cp-hero h1{margin:0;font-size:clamp(38px,7vw,74px);line-height:.95;letter-spacing:-.06em}.m2cp-hero p{margin:18px 0 0;max-width:660px;color:#dbeafe;font-size:18px}.m2cp-light .m2cp-hero p{color:#334155}
.m2cp-hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.m2cp-hero-stats span{padding:10px 14px;border-radius:999px;color:inherit;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-weight:700}
.m2cp-login-grid,.m2cp-dashboard{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.m2cp-dashboard{grid-template-columns:1.05fr .95fr}.m2cp-chat-card,.m2cp-vote-card{grid-column:1/-1}
.m2cp-card{border-radius:26px;background:var(--m2cp-card);border:1px solid rgba(255,255,255,.45);box-shadow:0 22px 65px rgba(15,23,42,.18);padding:24px;backdrop-filter:blur(22px)}.m2cp-card h2,.m2cp-card h3{margin:0 0 14px;letter-spacing:-.03em}.m2cp-card p{color:var(--m2cp-muted)}
.m2cp-card label{display:block;margin:13px 0 6px;font-weight:800;color:#1e293b}.m2cp-card input,.m2cp-card textarea,.m2cp-card select{width:100%;box-sizing:border-box;padding:14px 15px;border-radius:16px;border:1px solid #cbd5e1;outline:none;background:#fff;color:#0f172a;font-size:15px}
.m2cp-card button,.m2cp-btn{display:inline-block;width:100%;box-sizing:border-box;text-align:center;margin-top:15px;padding:15px 18px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--m2cp-accent),#2563eb);color:#fff!important;font-weight:900;cursor:pointer;text-decoration:none}
.m2cp-alert,.m2cp-success{margin-top:18px;padding:14px 16px;border-radius:18px;font-weight:700}.m2cp-alert{background:#fee2e2;color:#991b1b}.m2cp-success{background:#dcfce7;color:#166534}
.m2cp-feature{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #e2e8f0}.m2cp-feature span{font-size:24px}
.m2cp-order-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.m2cp-order-top h2{font-size:42px}.m2cp-status{padding:10px 13px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900}
.m2cp-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 24px}.m2cp-metrics div,.m2cp-notice,.m2cp-reward{padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0}.m2cp-metrics span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.m2cp-metrics strong,.m2cp-reward strong{display:block;margin-top:5px;color:#0f172a;font-size:24px}
.m2cp-product-row{display:flex;align-items:center;gap:12px;padding:13px;margin-bottom:10px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.m2cp-product-dot{width:12px;height:12px;border-radius:999px;background:var(--m2cp-accent)}.m2cp-product-row span{display:block;color:#64748b;font-size:13px}.m2cp-inline{margin-left:auto}.m2cp-inline button{width:auto;margin:0;padding:10px 13px}
.m2cp-timeline{display:grid;gap:14px}.m2cp-step{display:flex;align-items:center;gap:12px;opacity:.42}.m2cp-step.active{opacity:1}.m2cp-step span{width:18px;height:18px;border-radius:999px;background:#cbd5e1}.m2cp-step.active span{background:linear-gradient(135deg,var(--m2cp-accent),#22c55e)}.m2cp-step p{margin:0;font-weight:800;color:#0f172a}
.m2cp-chat{max-height:380px;overflow:auto;padding:14px;border-radius:22px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:10px}.m2cp-msg{max-width:82%;padding:12px 14px;border-radius:18px}.m2cp-msg.customer{align-self:flex-end;background:linear-gradient(135deg,var(--m2cp-accent),#2563eb);color:#fff}.m2cp-msg.admin{align-self:flex-start;background:#e2e8f0;color:#0f172a}.m2cp-msg p{margin:6px 0;color:inherit}.m2cp-msg span{display:block;font-size:12px;opacity:.74;margin-top:5px}
.m2cp-vote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.m2cp-vote-item{overflow:hidden;border-radius:24px;background:#f8fafc;border:1px solid #e2e8f0}.m2cp-vote-item img{width:100%;height:170px;object-fit:cover}.m2cp-vote-body{padding:16px}.m2cp-vote-meta{display:inline-flex;background:#ede9fe;color:#5b21b6;border-radius:999px;padding:7px 10px;font-weight:800}.m2cp-voted{margin-top:14px;padding:12px 14px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;text-align:center}
@media(max-width:860px){.m2cp-login-grid,.m2cp-dashboard,.m2cp-vote-grid{grid-template-columns:1fr}.m2cp-hero{min-height:220px;padding:24px}.m2cp-card{padding:18px}.m2cp-metrics{grid-template-columns:1fr}.m2cp-msg{max-width:94%}.m2cp-actions{position:static;margin-bottom:14px}}
