.msp-portal, .msp-public-wrap { max-width: 1180px; margin: 30px auto; padding: 0 16px; font-family: inherit; }
.msp-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; }
.msp-header h2 { margin:0; }
.msp-header p { margin:4px 0 0; opacity:.75; }
.msp-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.msp-tabs a { padding:10px 14px; border:1px solid #d9dce3; border-radius:10px; text-decoration:none; color:inherit; background:#fff; }
.msp-tabs a.active { border-color:#111827; box-shadow:0 1px 8px rgba(0,0,0,.08); font-weight:700; }
.msp-panel, .msp-box, .msp-public-card { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:22px; box-shadow:0 8px 24px rgba(15,23,42,.05); }
.msp-box { margin-bottom:18px; }
.msp-grid-2 { display:grid; grid-template-columns: minmax(280px, 420px) 1fr; gap:18px; align-items:start; }
.msp-cards { display:grid; grid-template-columns: repeat(5, minmax(120px,1fr)); gap:14px; margin-bottom:18px; }
.msp-card { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:18px; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.msp-card strong { display:block; font-size:32px; line-height:1; margin-bottom:8px; }
.msp-card span { opacity:.75; }
.msp-form label { display:block; font-weight:700; margin:12px 0 6px; }
.msp-form input, .msp-form select, .msp-form textarea { width:100%; box-sizing:border-box; border:1px solid #d1d5db; border-radius:10px; padding:10px 12px; font:inherit; }
.msp-form textarea { min-height:90px; resize:vertical; }
.msp-button, .msp-form button, .msp-button:visited { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:12px; padding:11px 16px; margin-top:14px; background:#111827; color:#fff; font-weight:700; text-decoration:none; cursor:pointer; }
.msp-button-secondary, .msp-button-secondary:visited { background:#f3f4f6; color:#111827; border:1px solid #d1d5db; }
.msp-table-wrap { overflow-x:auto; }
.msp-table { width:100%; border-collapse:collapse; font-size:14px; }
.msp-table th, .msp-table td { padding:10px; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top; }
.msp-table th { background:#f9fafb; }
.msp-alert { padding:12px 14px; border-radius:12px; margin:12px 0; border:1px solid transparent; }
.msp-alert-success { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.msp-alert-error { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.msp-alert-info { background:#eff6ff; border-color:#bfdbfe; color:#1e40af; }
.msp-ticket { border:1px solid #e5e7eb; border-radius:14px; margin-bottom:10px; overflow:hidden; }
.msp-ticket summary { display:grid; grid-template-columns: 1fr 1fr auto; gap:10px; align-items:center; padding:14px; cursor:pointer; background:#f9fafb; }
.msp-ticket summary em { font-style:normal; background:#eef2ff; border-radius:999px; padding:5px 9px; font-size:12px; }
.msp-ticket-body { padding:16px; }
.msp-inline-form { max-width:640px; }
.msp-public-wrap { max-width:760px; }
.msp-public-card { margin-bottom:18px; }
.msp-public-top { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.msp-public-top h1 { margin:0 0 6px; }
.msp-public-top img { max-width:150px; border-radius:12px; }
.msp-info-grid { display:grid; grid-template-columns: repeat(2, minmax(160px,1fr)); gap:12px; margin:18px 0; }
.msp-info-grid div { border:1px solid #e5e7eb; border-radius:12px; padding:12px; }
.msp-info-grid span { display:block; font-size:12px; opacity:.7; margin-bottom:4px; }
.msp-info-grid strong { display:block; }
@media (max-width: 850px) {
  .msp-grid-2, .msp-cards, .msp-info-grid { grid-template-columns:1fr; }
  .msp-header, .msp-public-top { flex-direction:column; }
  .msp-ticket summary { grid-template-columns:1fr; }
}
