:root{--mx-red:#f3222d;--mx-red-dark:#c70e19;--mx-blue:#1b6df2;--mx-ink:#111827;--mx-muted:#667085;--mx-line:#e6ebf2;--mx-soft:#f6f8fb;--mx-white:#fff;--mx-shadow:0 18px 48px rgba(15,23,42,.08);--mx-radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--mx-ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.section{padding:70px 0}.section-soft{background:linear-gradient(180deg,#fff 0,#f7f9fc 100%)}.section-head{text-align:center;max-width:760px;margin:0 auto 34px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #ffc8cc;background:#fff5f6;color:#dc1f2a;border-radius:999px;font-size:12px;font-weight:800}.section-title{font-size:34px;line-height:1.18;margin:12px 0 8px;letter-spacing:-.03em}.section-subtitle{color:var(--mx-muted);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:11px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#ff313c,#eb1722);color:#fff;box-shadow:0 10px 24px rgba(243,34,45,.25)}.btn-secondary{border-color:#d7deea;background:#fff;color:#172033}.btn-blue{background:linear-gradient(135deg,#2f7df5,#1d63df);color:#fff;box-shadow:0 10px 24px rgba(27,109,242,.22)}.card{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-radius);box-shadow:var(--mx-shadow)}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge-red{background:#fff0f1;color:#d71d28}.badge-blue{background:#eef5ff;color:#1762cc}.muted{color:var(--mx-muted)}.flash{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:14px}.flash-success{background:#eaf8ef;color:#166b3d;border:1px solid #c9ecd6}.flash-error{background:#fff0f0;color:#9f1f1f;border:1px solid #ffcaca}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid #d7deea;border-radius:10px;background:#fff;min-height:44px;padding:10px 12px;color:#172033}.field textarea{min-height:100px;resize:vertical}.table-wrap{overflow:auto;border:1px solid var(--mx-line);border-radius:14px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid #edf0f5;text-align:left;font-size:14px}.data-table th{background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085}.data-table tr:last-child td{border-bottom:0}

/* V58 final UX/state pass */
.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(27,109,242,.22);outline-offset:2px}
.btn:disabled,.btn[aria-disabled="true"],button:disabled,button[aria-disabled="true"]{cursor:not-allowed!important;opacity:.58!important;transform:none!important;box-shadow:none!important}
form.is-submitting button[type="submit"],form.is-submitting input[type="submit"]{pointer-events:none}
button.is-loading,.btn.is-loading{position:relative;padding-right:42px!important}
button.is-loading::after,.btn.is-loading::after{content:"";position:absolute;right:16px;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:mx-spin .7s linear infinite}
@keyframes mx-spin{to{transform:rotate(360deg)}}
.empty-state{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed #dbe3ee;border-radius:14px;background:#fafcff;color:#667085;text-align:center;line-height:1.6}
.empty-state strong{color:#17233d}.empty-state .btn{margin-top:5px}
.flash{position:relative;line-height:1.55}.flash-success::before{content:"✓";font-weight:900;margin-right:7px}.flash-error::before{content:"!";display:inline-grid;place-items:center;width:17px;height:17px;margin-right:7px;border-radius:50%;background:currentColor;color:#fff;font-size:11px;vertical-align:1px}
.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
@media(max-width:600px){
  input,select,textarea{font-size:16px!important}
  .btn{min-height:44px}
  .flash{font-size:13px;padding:11px 12px}
  .empty-state{padding:18px;min-height:88px}
}
