.martportal{max-width:1280px;margin:auto;padding:54px 22px 90px}
.mp-hero,.mp-service-hero{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:24px}
.mp-hero h1,.mp-service-hero h1{font-size:clamp(42px,7vw,78px);line-height:.92;margin:8px 0 14px;letter-spacing:-.06em}
.mp-actions,.mp-row-actions,.mp-chip-row,.mp-control-grid,.mp-console-toolbar,.mp-console-head-actions,.mp-feedback-row{display:flex;gap:10px;flex-wrap:wrap}
.mp-notices,.mp-stack,.mp-service-grid,.mp-split-panels,.mp-manager-grid,.mp-resource-grid,.mp-kv-grid,.mp-activity-list,.mp-error-list,.mp-console-bottom,.mp-files-layout,.mp-files-browser,.mp-files-editor,.mp-file-list,.mp-sftp-grid,.mp-sftp-details,.mp-guide-list,.mp-inline-form,.mp-startup-grid{display:grid;gap:14px}
.mp-notice{padding:13px 16px;border:1px solid #363a55;border-radius:12px;background:#161925}
.mp-notice.warning,.mp-notice.critical,.mp-warning{border-color:#e5a73c;color:#ffd280}
.mp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.mp-stat,.mp-card{border:1px solid #30344b;background:linear-gradient(145deg,#171a27,#11131d);border-radius:18px;padding:20px}
.mp-card h2,.mp-card h3{margin:4px 0 10px}
.mp-label{font-size:11px;letter-spacing:.12em;color:#a8b0d0;font-weight:800}
.mp-stat span{font-size:11px;letter-spacing:.12em;color:#a8b0d0;font-weight:800}
.mp-stat b{display:block;font-size:30px;margin-top:5px}
.mp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}
.mp-tabs button.active{background:#6570ff;color:#fff}
.mp-layout{display:grid;grid-template-columns:1.45fr .85fr;gap:14px}
.mp-service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.mp-service-card,.mp-split-panels,.mp-console-bottom{align-content:start}
.mp-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mp-split-panels{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.mp-console-bottom{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.mp-files-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);margin-top:14px}
.mp-card-head,.mp-row,.mp-resource,.mp-kv-grid .mp-resource,.mp-service-status,.mp-breadcrumb{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mp-row{padding:14px 0;border-top:1px solid #292d40}
.mp-row:first-child{border-top:0}
.mp-row small,.mp-note,.mp-empty,.mp-card small{display:block;color:#9ca4c4}
.mp-status{border:1px solid #3e4669;border-radius:999px;padding:5px 10px;font-size:11px;text-transform:capitalize;display:inline-flex;align-items:center}
.mp-status.online,.mp-status.healthy,.mp-status.active,.mp-status.paid,.mp-status.operational,.mp-status.completed{color:#75e7aa;border-color:#317a59}
.mp-status.pending,.mp-status.queued,.mp-status.creating,.mp-status.restoring,.mp-status.deleting,.mp-status.awaiting_payment,.mp-status.provisioning,.mp-status.starting,.mp-status.stopping,.mp-status.restarting{color:#ffd280;border-color:#80652f}
.mp-status.offline,.mp-status.maintenance,.mp-status.unavailable{color:#9ec5ff;border-color:#446e9b}
.mp-status.degraded,.mp-status.crashed{color:#ffd280;border-color:#80652f}
.mp-status.error,.mp-status.failed,.mp-status.blocked,.mp-status.crash_loop,.mp-status.suspended{color:#ff9b9b;border-color:#8d4a4a}
.mp-health{display:flex;align-items:center;gap:8px}
.mp-dot{width:9px;height:9px;border-radius:50%;background:#66e49f;box-shadow:0 0 12px #66e49f}
.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-links button,.mp-control-grid button{width:100%}
.mp-chip-row{margin:8px 0 0}
.mp-chip-row span{padding:6px 10px;border-radius:999px;border:1px solid #323754;background:#111420;color:#c8cdec;font-size:12px}
.mp-resource-grid,.mp-kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mp-resource{padding:12px 14px;border:1px solid #2e334c;border-radius:14px;background:#121522}
.mp-resource span{color:#98a1c6;font-size:12px}
.mp-resource b{font-size:16px}
.mp-status-panel{display:grid;gap:12px}
.mp-control-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 8px}
.mp-control-grid button[disabled]{opacity:.55;cursor:not-allowed}
.mp-breadcrumb{margin-bottom:12px;color:#a8b0d0}
.mp-note{margin-top:10px}
.mp-warning{padding:12px 14px;border:1px solid #6f5621;border-radius:14px;background:#201a10}
.mp-capability-notice{margin:18px 0;border-color:#6f5621;background:linear-gradient(145deg,#211d15,#15141b)}.mp-capability-notice h2{margin:6px 0 8px}.mp-capability-notice ul{margin:0;padding-left:20px;color:#d9d4c4}.mp-capability-notice li+li{margin-top:4px}
.portal-loading{padding:80px 0;color:#a8b0d0}
.mp-console-card{margin-top:16px}
.mp-sftp-card,.mp-files-card,.mp-environment-card,.mp-startup-card,.mp-backups-card{margin-top:18px}
.mp-env-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}
.mp-sftp-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);margin-top:14px}
.mp-sftp-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.mp-sftp-field,.mp-inline-form label,.mp-startup-grid label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#d8ddf7}
.mp-sftp-field span{font-size:12px;color:#98a1c6}
.mp-sftp-field input,.mp-inline-form input,.mp-startup-grid input,.mp-startup-grid select,.mp-startup-grid textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #313751;background:#101420;color:#fff}
.mp-startup-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#a8b0d0 50%),linear-gradient(135deg,#a8b0d0 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
.mp-startup-grid textarea{min-height:110px;resize:vertical}
.mp-sftp-field input:focus-visible,.mp-inline-form input:focus-visible,.mp-startup-grid input:focus-visible,.mp-startup-grid select:focus-visible,.mp-startup-grid textarea:focus-visible{outline:2px solid #7f88ff;outline-offset:2px}
.mp-sftp-side{display:grid;gap:14px;align-content:start}
.mp-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.mp-inline-form .mp-check{display:flex;align-items:center;gap:10px;padding-top:30px}
.mp-inline-form .mp-check input{width:auto}
.mp-env-row{align-items:center}
.mp-restart-callout{display:flex;justify-content:space-between;align-items:center;gap:16px}
.mp-startup-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
.mp-startup-grid .mp-wide{grid-column:1/-1}
.mp-backup-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0}
.mp-backup-create label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#d8ddf7}
.mp-backup-create input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #313751;background:#101420;color:#fff}
.mp-backup-create input:focus-visible,.mp-backup-item button:focus-visible,.mp-backup-item a:focus-visible{outline:2px solid #7f88ff;outline-offset:2px}
.mp-backup-list{display:grid;gap:12px}
.mp-backup-item{display:grid;gap:12px;padding:16px;border:1px solid #2e334c;border-radius:16px;background:#10131d;min-width:0}
.mp-backup-main,.mp-backup-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.mp-backup-main>div{min-width:0}
.mp-backup-main h3{overflow-wrap:anywhere}
.mp-backup-meta{color:#98a1c6;font-size:12px}
.mp-guide-list{margin:10px 0 0;padding-left:20px;color:#d8ddf7}
.mp-guide-list li{line-height:1.65}
.mp-files-toolbar{display:grid;gap:12px}
.mp-files-breadcrumb{flex-wrap:wrap}
.mp-files-breadcrumb button[aria-current="page"]{background:#6570ff;color:#fff}
.mp-file-list{border:1px solid #2e334c;border-radius:16px;background:#10131d;padding:12px}
.mp-file-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;gap:12px;align-items:center;padding:10px 8px;border-bottom:1px solid #23283a}
.mp-file-row:last-child{border-bottom:0}
.mp-file-open{display:grid;gap:4px;text-align:left;background:transparent;border:0;color:#eef1ff;padding:0}
.mp-file-open small,.mp-file-meta{color:#98a1c6;font-size:12px}
.mp-file-name{font-weight:700;overflow-wrap:anywhere}
.mp-file-meta{display:grid;justify-items:end}
.mp-file-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mp-editor-label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#d8ddf7}
.mp-editor{width:100%;min-height:320px;padding:14px;border-radius:14px;border:1px solid #313751;background:#090b12;color:#eef1ff;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;resize:vertical}
.mp-editor:focus-visible,.mp-file-open:focus-visible,.mp-file-actions button:focus-visible,.mp-files-breadcrumb button:focus-visible{outline:2px solid #7f88ff;outline-offset:2px}
.danger{border-color:#8d4a4a !important;color:#ffb1b1}
.mp-console-connection{align-self:center;font-size:13px;color:#d8ddf7}
.mp-console-toolbar{margin:12px 0 14px;align-items:center}
.mp-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#c8cdec}
.mp-console-shell{border:1px solid #2d3248;border-radius:16px;background:#090b12;min-height:320px;max-height:420px;overflow:auto}
.mp-console-shell.no-wrap .mp-console-output,.mp-console-shell.no-wrap .mp-console-line{white-space:pre;overflow-x:auto}
.mp-console-shell.wrap-lines .mp-console-output,.mp-console-shell.wrap-lines .mp-console-line{white-space:pre-wrap;word-break:break-word}
.mp-console-output{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.55;padding:16px}
.mp-console-line{display:block;padding:2px 0;color:#dbe4ff}
.mp-console-line.warning{color:#ffd280}
.mp-console-line.error{color:#ffb1b1}
.mp-console-time{display:inline-block;width:94px;color:#7f89ad}
.mp-console-empty{color:#90a0ca}
.mp-command-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:14px;align-items:end}
.mp-command-field{display:grid;gap:8px;font-size:13px;font-weight:700;color:#d8ddf7}
.mp-command-field input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #313751;background:#101420;color:#fff}
.mp-command-field input:focus-visible,.mp-error-card:focus-visible,.quick-links button:focus-visible{outline:2px solid #7f88ff;outline-offset:2px}
.mp-error-list{margin-top:6px}
.mp-error-card{display:grid;gap:6px;width:100%;text-align:left;border:1px solid #34385a;border-radius:14px;background:#121624;color:#eef1ff;padding:15px;cursor:pointer}
.mp-error-card span,.mp-error-card small{color:#b8c0e8}
.mp-explain-shell{position:fixed;inset:0;z-index:35;display:grid;place-items:end}
.mp-explain-backdrop{position:absolute;inset:0;background:rgba(5,8,14,.72)}
.mp-explain-panel{position:relative;width:min(460px,100%);height:100%;max-height:100vh;background:#10131d;border-left:1px solid #2f3550;padding:22px 18px 28px;overflow:auto}
.mp-explain-panel section{margin-top:16px}
.mp-explain-panel h3{margin:0 0 8px}
.mp-explain-code{padding:12px;border-radius:12px;border:1px solid #2f3550;background:#090b12;white-space:pre-wrap;word-break:break-word}
.mp-explain-close{margin-left:auto}
.mp-feedback-row{margin-top:18px}
.mp-run-state{font-size:12px;color:#a8b0d0;align-self:center}
.mp-monitoring{display:grid;gap:14px;margin-top:18px;scroll-margin-top:24px}
.mp-monitor-card{overflow:hidden}
.mp-monitor-ranges{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.mp-monitor-ranges button.active{background:#6570ff;color:#fff}
.mp-auto-restart{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #323754;border-radius:14px;background:#111420;color:#eef1ff;margin-bottom:14px}
.mp-auto-restart input{margin-top:3px;accent-color:#6570ff}
.mp-auto-restart span{display:grid;gap:4px}
.mp-auto-restart input:focus-visible{outline:2px solid #7f88ff;outline-offset:3px}
.mp-monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mp-monitor-panel{min-width:0;padding:16px;border:1px solid #2e334c;border-radius:16px;background:#10131d}
.mp-monitor-panel h3{margin:0 0 10px}
.mp-monitor-chart{display:block;width:100%;height:170px;background:linear-gradient(180deg,rgba(101,112,255,.08),transparent);border-radius:12px;overflow:visible}
.mp-monitor-chart line{stroke:#2c3148;stroke-width:.5}
.mp-monitor-chart polyline{fill:none;stroke:#7f88ff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mp-monitor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.mp-monitor-summary span{display:grid;gap:4px;color:#98a1c6;font-size:11px;min-width:0}
.mp-monitor-summary b{color:#eef1ff;font-size:13px;overflow-wrap:anywhere}
.mp-storage-panel{grid-column:1/-1}
.mp-storage-track{height:16px;border:1px solid #353a55;border-radius:999px;background:#0a0d15;overflow:hidden;margin:22px 0}
.mp-storage-track span{display:block;height:100%;background:linear-gradient(90deg,#6570ff,#8b94ff);border-radius:inherit}
.mp-monitor-warnings{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.mp-crash-loop{border-color:#8d4a4a;background:linear-gradient(145deg,#27171c,#15121a)}
.mp-monitor-empty{display:grid;place-items:center;min-height:170px;border:1px dashed #343950;border-radius:12px;color:#98a1c6;text-align:center;padding:16px}
.mp-monitor-ranges button:focus-visible,.mp-crash-loop button:focus-visible,.mp-monitor-warnings button:focus-visible,.mp-monitor-warnings a:focus-visible{outline:2px solid #7f88ff;outline-offset:2px}
@media(max-width:980px){
  .mp-layout,.mp-manager-grid,.mp-split-panels,.mp-stats,.mp-resource-grid,.mp-kv-grid,.mp-console-bottom,.mp-files-layout,.mp-sftp-grid,.mp-env-layout,.mp-inline-form,.mp-startup-grid,.mp-monitor-grid{grid-template-columns:1fr}
  .mp-storage-panel{grid-column:auto}
  .mp-hero,.mp-service-hero{display:block}
  .mp-actions,.mp-service-status{margin-top:18px}
}
.mp-platform-impact{margin:18px 0;border-color:#9b742e;background:linear-gradient(145deg,#241f16,#15141b)}.mp-platform-impact h2{margin:6px 0 10px}.mp-platform-impact .button-link{display:inline-flex;margin-top:12px;text-decoration:none}.mp-platform-impact:has(.platform-state-major_outage),.mp-platform-impact:has(.platform-state-partial_outage){border-color:#9f4752}
@media(max-width:640px){
  .martportal{padding:36px 16px 74px}
  .quick-links,.mp-control-grid,.mp-command-row,.mp-backup-create{grid-template-columns:1fr}
  .mp-row,.mp-card-head,.mp-breadcrumb{flex-direction:column}
  .mp-restart-callout{flex-direction:column;align-items:flex-start}
  .mp-file-row{grid-template-columns:1fr}
  .mp-file-meta{justify-items:start}
  .mp-file-actions{justify-content:flex-start}
  .mp-hero h1,.mp-service-hero h1{font-size:clamp(32px,13vw,58px)}
  .mp-console-shell{min-height:260px;max-height:360px}
  .mp-editor{min-height:240px}
  .mp-explain-shell{place-items:end stretch}
  .mp-explain-panel{width:100%;border-left:0;border-top:1px solid #2f3550;height:auto;max-height:82vh;border-radius:18px 18px 0 0}
  .mp-monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mp-monitor-chart{height:140px}
}
