/* Major issues and service management (module 27-major). Prefix mj-. */
.mj-hint { color: #5b6b7d; font-size: 13px; margin: 6px 0 0; }
.mj-note { margin-top: 4px; white-space: pre-wrap; color: #33475b; font-size: 13px; overflow-wrap: anywhere; }
.mj-text { white-space: normal; margin: 6px 0 0; overflow-wrap: anywhere; }
.mj-subhead { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: #5b6b7d; margin: 12px 0 6px; }
.mj-subhead:first-child { margin-top: 0; }
.mj-mt { margin-top: 10px; }
.mj-late { color: #c01d47; font-weight: 600; }
.mj-ok { color: #04955d; }
.mj-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.mj-bulk select { max-width: 280px; }
.mj-wrap { flex-wrap: wrap; gap: 6px; align-items: center; }
.mj-wrap .ct-input { min-width: 0; max-width: 100%; }
.mj-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.mj-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.mj-grid2 > *, .mj-grid3 > * { min-width: 0; }
@media (max-width: 760px) { .mj-grid2, .mj-grid3 { grid-template-columns: minmax(0, 1fr); } }
.mj-list { list-style: none; margin: 0; padding: 0; }
.mj-list li { padding: 4px 0; border-bottom: 1px dashed #e6ecf1; overflow-wrap: anywhere; }
.mj-list li:last-child { border-bottom: 0; }
.mj-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px dashed #e6ecf1; min-width: 0; }
.mj-row > span { min-width: 0; overflow-wrap: anywhere; }
.mj-details summary { cursor: pointer; font-weight: 600; margin: 10px 0 6px; color: #0962d3; }
.mj-copied { margin: 6px 0; padding-left: 18px; }

/* Health: 30 day blocks */
.mj-days { display: flex; gap: 2px; align-items: stretch; height: 22px; max-width: 100%; }
.mj-day { flex: 1 1 0; min-width: 2px; border-radius: 2px; background: #13b985; }
.mj-day.degraded { background: #f5a524; }
.mj-day.partial_outage { background: #ef5927; }
.mj-day.major_outage { background: #e8365d; }
.mj-day.maintenance { background: #2083ee; }
.mj-legend { display: flex; justify-content: space-between; font-size: 11px; margin-top: 2px; }

/* Issue page */
.mj-actions form { margin: 0; }
.mj-search { margin-bottom: 10px; }
.mj-preview { margin-top: 12px; padding: 10px 12px; border: 1px dashed #b8c6d4; border-radius: 8px; background: #f7fafc; }
.mj-preview pre { white-space: pre-wrap; font-family: inherit; margin: 6px 0; overflow-wrap: anywhere; }
.mj-update { border-left: 3px solid #2083ee; padding: 6px 10px; margin: 10px 0; background: #f7fafc; border-radius: 0 6px 6px 0; overflow-wrap: anywhere; }
.mj-update.internal { border-left-color: #97a6b8; }
.mj-update.resolution { border-left-color: #13b985; }
.mj-uh { font-size: 12px; color: #5b6b7d; margin-bottom: 4px; }

/* Ticket panel */
.mj-panel .ct-inline { margin-top: 6px; }
.mj-pitem { padding: 5px 0; border-bottom: 1px dashed #e6ecf1; overflow-wrap: anywhere; }
.mj-pitem .sub { display: block; }
.mj-suggest { background: #fff8e8; border: 1px solid #f5d79a; border-radius: 6px; padding: 6px 8px; margin: 6px 0; font-size: 13px; }
.mj-workaround { background: #eef6ff; border-radius: 6px; padding: 6px 8px; margin-top: 4px; font-size: 13px; }

/* Change calendar */
.mj-calday { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid #e6ecf1; }
.mj-calday.today .mj-caldate { color: #0962d3; }
.mj-caldate { font-weight: 700; }
.mj-calitems { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mj-calitem { display: block; padding: 6px 8px; border-radius: 6px; background: #eef6ff; border-left: 3px solid #2083ee; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.mj-calitem.emergency { background: #fff0f3; border-left-color: #e8365d; }
.mj-calitem.standard { background: #f2f5f8; border-left-color: #97a6b8; }
.mj-calitem .sub { display: block; }
@media (max-width: 560px) { .mj-calday { grid-template-columns: minmax(0, 1fr); } }

/* Field mapping */
.mj-maprow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto; gap: 6px; align-items: center; margin-bottom: 6px; }
.mj-maprow .ct-input { min-width: 0; width: 100%; }

/* Analytics */
.mj-gauges { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-start; }
.mj-gauges > * { min-width: 0; }

/* Status page (customer area and public) */
.mj-site { max-width: 960px; margin: 0 auto; padding: 24px 16px 60px; }
.mj-sitehead h1 { margin: 0 0 6px; }
.mj-brands { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.mj-brands a { padding: 4px 10px; border-radius: 14px; background: #eef2f6; color: inherit; text-decoration: none; }
.mj-brands a.on { background: #0962d3; color: #fff; }
.mj-status h2 { font-size: 17px; margin: 18px 0 8px; }
.mj-overall { padding: 12px 14px; border-radius: 8px; font-weight: 700; display: flex; gap: 8px; align-items: center; }
.mj-overall.ok { background: #e7f8f1; color: #04683f; }
.mj-overall.warn { background: #fff6e5; color: #8a5500; }
.mj-overall.bad { background: #fdebef; color: #a3173c; }
.mj-overall.info { background: #eaf3ff; color: #0b4fa8; }
.mj-incident, .mj-maint { border: 1px solid #f0c4cf; background: #fff8fa; border-radius: 8px; padding: 10px 14px; margin-top: 12px; overflow-wrap: anywhere; }
.mj-maint { border-color: #bcd7f7; background: #f5f9ff; }
.mj-incident h2, .mj-maint h2 { margin-top: 0; }
.mj-pu { padding: 6px 0; border-top: 1px dashed #e0e7ed; overflow-wrap: anywhere; }
.mj-svc { padding: 10px 0; border-bottom: 1px solid #e6ecf1; min-width: 0; }
.mj-svch { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 6px; }
.mj-cust { padding: 6px 0; border-bottom: 1px dashed #e6ecf1; overflow-wrap: anywhere; }
.mj-cust p { margin: 4px 0; }
.mj-saved { flex-wrap: wrap; }

/* Dashboard panels */
.mj-ref { font-weight: 700; white-space: nowrap; }
.mj-nowrap { white-space: nowrap; }
.mj-warn { color: #b26b00; }
.mj-dbtbl td .sub .ct-pill { margin-top: 3px; }
.mj-dbseg { padding: 12px 16px 10px; border-bottom: 1px solid #eef2f6; }
.mj-board { display: flex; flex-direction: column; gap: 10px; }
.mj-brow .top { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; min-width: 0; }
.mj-brow .top a { font-weight: 600; color: inherit; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.mj-brow .top a:hover { color: #0962d3; }
.mj-brow .top small { color: #6b7d92; font-size: 11.5px; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.mj-brow .top b { margin-left: auto; font-size: 12.5px; }
.mj-brow .mj-days { height: 14px; }
.mj-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 7px; background: #13b985; vertical-align: 1px; box-shadow: 0 0 0 3px rgba(19, 185, 133, .16); }
.mj-dot.degraded { background: #f5a524; box-shadow: 0 0 0 3px rgba(245, 165, 36, .18); }
.mj-dot.partial_outage { background: #ef5927; box-shadow: 0 0 0 3px rgba(239, 89, 39, .18); }
.mj-dot.major_outage { background: #e8365d; box-shadow: 0 0 0 3px rgba(232, 54, 93, .18); }
.mj-dot.maintenance { background: #2083ee; box-shadow: 0 0 0 3px rgba(32, 131, 238, .18); }
.mj-sw { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: #13b985; margin-right: 5px; vertical-align: -1px; }
.mj-sw.degraded { background: #f5a524; } .mj-sw.partial_outage { background: #ef5927; } .mj-sw.major_outage { background: #e8365d; } .mj-sw.maintenance { background: #2083ee; }
.mj-hlegend { flex-wrap: wrap; }
.mj-sev { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 6px; border-radius: 4px; background: #e8f1fd; color: #0b5fb8; vertical-align: 1px; }
.mj-sev.critical { background: #fde8ed; color: #c01d47; }
.mj-sev.major { background: #fff3dc; color: #a35f00; }
.mj-risk { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 5px; background: #13b985; }
.mj-risk.medium { background: #f5a524; } .mj-risk.high { background: #e8365d; }
.mj-dbstats { padding: 12px 16px; border-top: 1px solid #eef2f6; }
.mj-dbtbl td:first-child { white-space: normal; min-width: 170px; }
.mj-dbtbl td:first-child .sub { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mj-sev.std { background: #eef2f6; color: #4a5d72; }

/* Lists: status tabs, find panel, tables that fit */
.mj-seg { flex-wrap: wrap; }
.mj-findpanel .ct-filters { flex-wrap: wrap; }
.mj-listpanel .ct-tbl td { white-space: normal; }
.mj-listpanel .ct-tbl td.num, .mj-listpanel .ct-tbl td.r, .mj-listpanel .ct-tbl td .ct-pill, .mj-listpanel .ct-tbl td a b { white-space: nowrap; }
.mj-listpanel .ct-tbl td:has(> a > b) { min-width: 200px; }
.mj-listpanel .ct-tbl td:has(> input[type=checkbox]) { width: 1%; }

/* Status page: header band and card sections */
.mj-site .mj-sitehead { background: linear-gradient(150deg, #0b2a57, #1d4f8f 60%, #2083ee); color: #dce8f7; border-radius: 14px; padding: 26px 26px 20px; margin-bottom: 16px; box-shadow: 0 10px 30px -18px rgba(11, 42, 87, .6); }
.mj-site .mj-sitehead h1 { color: #fff; font-size: 28px; }
.mj-site .mj-sitehead .sub { color: #b9cde6; }
.mj-site .mj-brands a { background: rgba(255, 255, 255, .14); color: #fff; }
.mj-site .mj-brands a.on { background: #fff; color: #0b2a57; }
.mj-site .mj-svcs, .mj-site .mj-past { background: #fff; border: 1px solid #e0e7ef; border-radius: 12px; padding: 4px 18px 12px; margin-top: 16px; box-shadow: 0 1px 2px rgba(15, 35, 65, .04), 0 8px 24px -14px rgba(15, 35, 65, .14); }
.mj-site .mj-svc:last-child { border-bottom: 0; }
.mj-legend .mj-av { font-weight: 600; color: #33475b; }
.mj-center { justify-content: center; }
