
.mjm-shell{max-width:1240px;margin:1rem auto;padding:0 .85rem}
.mjm-shell-top{display:flex;justify-content:space-between;align-items:center;background:#090909;border:1px solid rgba(255,204,0,.22);border-radius:18px;padding:1rem 1.1rem;margin-bottom:1rem;gap:1rem}
.mjm-shell-brand{font-weight:800;color:#ffcc00;font-size:1.65rem;line-height:1}
.mjm-shell-brand span{color:#cfcfcf;font-size:.95rem;font-weight:500;margin-left:.55rem}
.mjm-shell-actions{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}
.mjm-shell-actions a{color:#fff;text-decoration:none;font-weight:700}
.mjm-shell-actions a.is-active,.mjm-shell-actions a:hover,.mjm-shell-actions .mjm-logout-link{color:#ffcc00}
.mjm-shell-main{background:linear-gradient(180deg,rgba(20,20,20,.96),rgba(8,8,8,.96));border:1px solid rgba(255,204,0,.2);border-radius:20px;box-shadow:0 12px 28px rgba(0,0,0,.35);padding:1.2rem;overflow:hidden}
.mjm-shell-main h1,.mjm-panel h2,.mjm-location-card h3{color:#fff}
.mjm-shell-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:.9rem;padding:.25rem 0}
.mjm-shell-footer a,.mjm-text-link{color:#ffcc00;text-decoration:none;font-weight:700}
.mjm-hero-card{background:#0b0b0b;border:1px solid rgba(255,204,0,.16);border-radius:18px;padding:1rem;margin-bottom:1rem;color:#ddd;text-align:center}
.mjm-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}
.mjm-stat-card{background:linear-gradient(180deg,rgba(20,20,20,.96),rgba(8,8,8,.96));border:1px solid rgba(255,204,0,.2);border-radius:20px;box-shadow:0 12px 28px rgba(0,0,0,.35);padding:.95rem 1rem;color:#fff;text-decoration:none}
.mjm-stat-card span{display:block;color:#d8d8d8;margin-bottom:.35rem}
.mjm-stat-card strong{font-size:1.7rem;color:#ffcc00}
.mjm-button-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.mjm-big-button,.mjm-button,.mjm-small-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffcc00;color:#111;text-decoration:none;font-weight:800;border:none;cursor:pointer}
.mjm-big-button{padding:.95rem 1.1rem}
.mjm-button{padding:.85rem 1.05rem}
.mjm-small-button{padding:.5rem .9rem}
.mjm-button-secondary{background:#1b1b1b;color:#ffcc00;border:1px solid rgba(255,204,0,.25)}
.mjm-stack-panels{display:grid;grid-template-columns:1fr;gap:1rem}
.mjm-panel{background:linear-gradient(180deg,rgba(20,20,20,.96),rgba(8,8,8,.96));border:1px solid rgba(255,204,0,.2);border-radius:20px;box-shadow:0 12px 28px rgba(0,0,0,.35);padding:1rem}
.mjm-panel-head,.mjm-card-head{display:flex;justify-content:space-between;align-items:center;gap:.85rem}
.mjm-form p{margin:0 0 .85rem}
.mjm-form label,.mjm-lookup-form label{display:block;color:#fff;font-weight:700}
.mjm-form input,.mjm-form select,.mjm-form textarea,.mjm-lookup-form input{width:100%;margin-top:.35rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#111;color:#f5f5f5}
.mjm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.mjm-form-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.mjm-lookup-form{margin:0 0 1rem}
.mjm-lookup-row{display:flex;gap:.65rem;align-items:flex-end}
.mjm-lookup-row input{margin-top:0}
.mjm-table-wrap{overflow:auto}
.mjm-table{width:100%;border-collapse:collapse;color:#fff;min-width:900px}
.mjm-table th,.mjm-table td{padding:.8rem .7rem;border-bottom:1px solid rgba(255,255,255,.09);vertical-align:top}
.mjm-table th{color:#ffcc00;text-align:left}
.mjm-table tr.is-selected{background:rgba(255,204,0,.06)}
.mjm-description-cell{min-width:220px;white-space:normal}
.mjm-inline-form{display:flex;gap:.5rem;align-items:flex-start}
.mjm-inline-form select,.mjm-inline-form input{min-width:120px}
.mjm-row-link{color:#fff;text-decoration:none;font-weight:700}
.mjm-row-link:hover{color:#ffcc00}
.mjm-location-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.mjm-location-card{background:#0e0e0e;border:1px solid rgba(255,204,0,.14);border-radius:16px;padding:1rem;color:#fff}
.mjm-location-card.is-selected,.mjm-mobile-link.is-selected{box-shadow:0 0 0 1px rgba(255,204,0,.45) inset}
.mjm-sublist{margin-top:.9rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.08)}
.mjm-sublist strong{display:block;margin-bottom:.45rem}
.mjm-sublist ul{margin:0;padding-left:1.15rem}
.mjm-report-list{list-style:none;padding:0;margin:0}
.mjm-report-list li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.mjm-public-wrap,.mjm-public-listing{max-width:980px;margin:2rem auto;padding:1rem;background:linear-gradient(180deg,rgba(20,20,20,.96),rgba(8,8,8,.96));border:1px solid rgba(255,204,0,.2);border-radius:20px;color:#fff}
.mjm-public-location{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.mjm-public-location:last-child{border-bottom:none}
.mjm-public-meta{color:#d7d7d7;margin:.35rem 0}
.mjm-public-games{margin:.75rem 0 0;padding-left:1.2rem}
.mjm-public-games li{margin:.25rem 0}
.mjm-public-games small{color:#ffcc00}
.mjm-success{margin-bottom:1rem;padding:.8rem 1rem;border-radius:12px;background:#17301d;border:1px solid #285933;color:#fff}
.mjm-mobile-only{display:none}
.mjm-mobile-cards{display:grid;grid-template-columns:1fr;gap:.85rem}
.mjm-mobile-card{background:#0e0e0e;border:1px solid rgba(255,204,0,.14);border-radius:16px;padding:.9rem;color:#fff}
.mjm-mobile-link{display:block;text-decoration:none;color:#fff}
.mjm-mobile-edit{display:inline-block;margin-top:.5rem;color:#ffcc00;font-weight:700}
.mjm-mobile-pair{display:grid;grid-template-columns:1fr;gap:.2rem;margin-bottom:.6rem}
.mjm-mobile-pair strong{color:#ffcc00;font-size:.92rem}
.mjm-mobile-pair span{color:#fff}
.mjm-admin-settings .regular-text,.mjm-admin-settings .small-text{max-width:420px}
@media (max-width:1100px){.mjm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mjm-button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){
  .mjm-form-grid,.mjm-location-cards,.mjm-card-grid,.mjm-button-grid{grid-template-columns:1fr}
  .mjm-shell-top,.mjm-shell-footer,.mjm-panel-head,.mjm-card-head,.mjm-lookup-row{flex-direction:column;align-items:flex-start}
  .mjm-shell-brand{font-size:1.45rem}
  .mjm-shell-brand span{display:block;margin:.35rem 0 0 0}
  .mjm-shell-actions{gap:.55rem}
  .mjm-shell-actions a{display:inline-block;padding:.25rem 0}
  .mjm-form-actions{flex-direction:column;align-items:stretch}
  .mjm-button,.mjm-button-secondary,.mjm-big-button{width:100%}
  .mjm-table{min-width:700px}
  .mjm-stat-card strong{font-size:1.5rem}
}
@media (max-width:760px){
  .mjm-shell{padding:0 .6rem}
  .mjm-shell-top,.mjm-shell-main,.mjm-panel,.mjm-public-wrap,.mjm-public-listing{padding:.9rem}
  .mjm-desktop-table{display:none !important}
  .mjm-mobile-only{display:block !important}
}


.mjm-inline-status-note{margin:.25rem 0 1rem;color:#ffcc00;font-weight:700}
.mjm-table-wrap-clean{overflow-x:hidden}
.mjm-issues-table{min-width:0;table-layout:fixed}
.mjm-issues-table th,.mjm-issues-table td{word-wrap:break-word;overflow-wrap:anywhere}
.mjm-issue-inline-form{display:grid;grid-template-columns:1fr;gap:.45rem}
.mjm-issue-inline-form select,.mjm-issue-inline-form input{width:100%;min-width:0}


.mjm-issue-card-list{display:grid;grid-template-columns:1fr;gap:1rem}
.mjm-issue-card{background:#0e0e0e;border:1px solid rgba(255,204,0,.14);border-radius:16px;padding:1rem;color:#fff}
.mjm-issue-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:.75rem}
.mjm-issue-desc{grid-column:1 / -1}
.mjm-issue-card-form .mjm-button{width:auto}
.mjm-issue-actions-grid{display:grid;grid-template-columns:180px 1fr auto;gap:.85rem;align-items:end}
.mjm-issue-notes input{min-width:0}
.mjm-issue-save{margin:0}
.mjm-mobile-only{display:none}
@media (max-width:980px){
  .mjm-issue-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mjm-issue-actions-grid{grid-template-columns:1fr}
  .mjm-issue-card-form .mjm-button{width:100%}
}
@media (max-width:760px){
  .mjm-issue-card-list{display:none !important}
  .mjm-mobile-only{display:block !important}
}


.mjm-priority-badge{display:inline-flex;align-items:center;margin:0 0 .8rem;padding:.45rem .65rem;border-radius:999px;background:#ffcc00;color:#111;font-weight:900}
.mjm-collection-form .mjm-button{max-width:260px}
@media (max-width:760px){
  .mjm-collection-form .mjm-form-grid{grid-template-columns:1fr}
  .mjm-collection-form .mjm-button{width:100%;max-width:none}
  .mjm-panel h2{font-size:1.65rem}
  .mjm-form label{font-size:1rem}
  .mjm-form input,.mjm-form select,.mjm-form textarea{font-size:1rem}
}

.mjm-issue-actions-grid{grid-template-columns:180px 220px 1fr auto auto}
@media (max-width:980px){.mjm-issue-actions-grid{grid-template-columns:1fr}}


/* V3.9.3 Reports mobile cleanup */
@media (max-width: 760px){
  .mjm-desktop-table{display:none !important}
  .mjm-mobile-only{display:block !important}
  .mjm-report-list li{
    display:block;
    padding:.75rem 0;
    border-bottom:1px solid rgba(255,255,255,.14);
    overflow-wrap:anywhere;
  }
  .mjm-report-list li span,
  .mjm-report-list li strong{
    display:block;
    width:100%;
  }
  .mjm-mobile-card{
    overflow-wrap:anywhere;
    word-break:normal;
  }
}
@media (min-width: 761px){
  .mjm-mobile-only{display:none !important}
}


/* V4.0.0 Service Log */
.mjm-service-panel{
  margin-top:1.2rem;
  padding-top:1.1rem;
  border-top:1px solid rgba(255,255,255,.12);
}
.mjm-service-form{
  background:#0b0b0b;
  border:1px solid rgba(255,204,0,.14);
  border-radius:16px;
  padding:1rem;
  margin-bottom:1rem;
}
.mjm-service-history{
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem;
}
.mjm-service-record{
  background:#0e0e0e;
  border:1px solid rgba(255,204,0,.14);
  border-radius:14px;
  padding:.85rem;
  color:#fff;
}
.mjm-service-record-top{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  color:#ffcc00;
}
.mjm-service-record-meta{
  color:#d8d8d8;
  font-size:.95rem;
  margin-top:.25rem;
}
.mjm-service-record-notes{
  margin-top:.55rem;
  padding-top:.55rem;
  border-top:1px solid rgba(255,255,255,.08);
  overflow-wrap:anywhere;
}
.mjm-empty-state{
  background:#0e0e0e;
  border:1px dashed rgba(255,204,0,.28);
  border-radius:14px;
  padding:.85rem;
  color:#d8d8d8;
}
@media (max-width:760px){
  .mjm-service-record-top{
    display:block;
  }
  .mjm-service-record-top span{
    display:block;
    margin-top:.25rem;
  }
}


/* V4.1.0 Service Smart Layer */
.mjm-last-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin-bottom:1rem;
}
.mjm-last-service-card{
  background:#0e0e0e;
  border:1px solid rgba(255,204,0,.16);
  border-radius:14px;
  padding:.85rem;
  color:#fff;
}
.mjm-last-service-card span{
  display:block;
  color:#d8d8d8;
  font-weight:700;
  margin-bottom:.35rem;
}
.mjm-last-service-card strong{
  color:#ffcc00;
  font-size:1.05rem;
}
.mjm-quick-service-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:.25rem 0 1rem;
}
.mjm-service-filter-row{
  margin:0 0 .85rem;
}
.mjm-service-filter-row label{
  display:block;
  color:#fff;
  font-weight:700;
}
.mjm-service-filter-row select{
  margin-top:.35rem;
  max-width:280px;
  width:100%;
  padding:.7rem .8rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:#111;
  color:#fff;
}
@media (max-width:760px){
  .mjm-last-service-grid{
    grid-template-columns:1fr;
  }
  .mjm-quick-service-buttons{
    display:grid;
    grid-template-columns:1fr;
  }
  .mjm-quick-service-buttons .mjm-small-button{
    width:100%;
  }
}


/* V4.1.1 Reports issue/notes wrapping */
.mjm-table td{
  overflow-wrap:anywhere;
}
/* V4.1.10 Mobile spacing and quick service fixes */
.mjm-shell *,
.mjm-public-wrap *,
.mjm-public-listing *{
  box-sizing:border-box;
}
.mjm-form input,
.mjm-form select,
.mjm-form textarea,
.mjm-lookup-form input{
  max-width:100%;
  min-width:0;
}
.mjm-mobile-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
  margin-top:.8rem;
}
.mjm-mobile-action-row .mjm-small-button,
.mjm-mobile-action-row .mjm-button{
  min-height:46px;
}
.mjm-quick-service-form{
  margin:0 0 1rem;
}
.mjm-quick-service-form .mjm-quick-service-buttons{
  margin:.25rem 0 0;
}
@media (max-width:760px){
  .mjm-mobile-action-row{
    display:grid;
    grid-template-columns:1fr;
  }
  .mjm-mobile-action-row .mjm-small-button,
  .mjm-mobile-action-row .mjm-button{
    width:100%;
  }
  .mjm-service-form{
    overflow:hidden;
    padding:.9rem;
  }
  .mjm-service-form .mjm-form-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .mjm-service-form input[type="date"]{
    width:100%;
    max-width:100%;
    min-width:0;
    -webkit-appearance:none;
    appearance:none;
  }
}
/* V4.1.11 Native portal confirmation modal */
.mjm-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(6px);
}
.mjm-modal.is-open{
  display:flex;
}
.mjm-modal-card{
  width:min(520px,100%);
  border:1px solid rgba(255,204,0,.45);
  border-radius:24px;
  background:linear-gradient(180deg,#111,#050505);
  box-shadow:0 24px 70px rgba(0,0,0,.65);
  color:#fff;
  padding:1.4rem;
}
.mjm-modal-eyebrow{
  color:#ffcc00;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
  margin-bottom:.35rem;
}
.mjm-modal-card h3{
  margin:.15rem 0 .6rem;
  color:#fff;
  font-size:1.45rem;
  line-height:1.15;
}
.mjm-modal-card p{
  margin:0 0 1.1rem;
  color:rgba(255,255,255,.78);
}
.mjm-modal-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}
.mjm-modal-actions .mjm-button{
  flex:1 1 190px;
  min-height:48px;
}
@media (max-width:760px){
  .mjm-modal{
    align-items:flex-end;
    padding:1rem;
  }
  .mjm-modal-card{
    border-radius:22px;
    padding:1.15rem;
  }
  .mjm-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}
/* V4.1.12 Compact service history */
.mjm-service-history{
  display:block;
  border:1px solid rgba(255,204,0,.24);
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.20);
}
.mjm-service-history .mjm-empty-state{
  border:0;
  border-radius:0;
}
.mjm-service-record.mjm-service-line{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:.9rem 1rem;
  margin:0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.mjm-service-record.mjm-service-line:last-child{
  border-bottom:0;
}
.mjm-service-line-main{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}
.mjm-service-line-main strong{
  color:#ffcc00;
  font-weight:900;
}
.mjm-service-line-main span{
  color:#ffcc00;
  font-weight:800;
  white-space:nowrap;
}
.mjm-service-line-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .9rem;
  margin-top:.3rem;
  color:rgba(255,255,255,.78);
}
@media (max-width:760px){
  .mjm-service-history{
    border-radius:16px;
  }
  .mjm-service-record.mjm-service-line{
    padding:.85rem .9rem;
  }
  .mjm-service-line-main{
    display:block;
  }
  .mjm-service-line-main span{
    display:block;
    margin-top:.18rem;
    white-space:normal;
  }
  .mjm-service-line-meta{
    display:block;
  }
  .mjm-service-line-meta span{
    display:block;
    margin-top:.25rem;
  }
}
/* V4.1.13 Parts needed section */
.mjm-parts-panel{
  margin-top:1.25rem;
  border:1px solid rgba(255,204,0,.22);
  border-radius:20px;
  padding:1rem;
  background:rgba(0,0,0,.18);
}
.mjm-parts-panel h2{
  margin-top:.25rem;
}
.mjm-parts-form{
  margin-bottom:1rem;
}
.mjm-parts-list{
  border:1px solid rgba(255,204,0,.24);
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.20);
}
.mjm-part-line{
  padding:.9rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.mjm-part-line:last-child{
  border-bottom:0;
}
.mjm-part-line-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}
.mjm-part-line-main strong{
  color:#ffcc00;
  font-weight:900;
}
.mjm-part-line-main span{
  color:#ffcc00;
  font-weight:800;
  white-space:nowrap;
}
.mjm-part-line-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .9rem;
  margin-top:.3rem;
  color:rgba(255,255,255,.78);
}
.mjm-part-status-form{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:flex-end;
  margin-top:.75rem;
}
.mjm-part-status-form label{
  flex:1 1 220px;
  margin:0;
}
.mjm-part-status-form select{
  width:100%;
}
@media (max-width:760px){
  .mjm-parts-panel{
    padding:.9rem;
  }
  .mjm-part-line-main{
    display:block;
  }
  .mjm-part-line-main span{
    display:block;
    margin-top:.18rem;
    white-space:normal;
  }
  .mjm-part-line-meta{
    display:block;
  }
  .mjm-part-line-meta span{
    display:block;
    margin-top:.25rem;
  }
  .mjm-part-status-form{
    display:grid;
    grid-template-columns:1fr;
  }
  .mjm-part-status-form .mjm-small-button{
    width:100%;
  }
}
/* V4.1.13.1 Parts status dropdown polish */
.mjm-part-status-form select,
.mjm-parts-form select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  background:#101010;
  color:#fff;
  padding:.75rem 2.5rem .75rem .9rem;
  font:inherit;
  font-weight:700;
  line-height:1.2;
  box-shadow:none;
}
.mjm-part-status-form select:focus,
.mjm-parts-form select:focus{
  outline:none;
  border-color:#ffcc00;
  box-shadow:0 0 0 3px rgba(255,204,0,.18);
}
.mjm-part-status-form option,
.mjm-parts-form option{
  background:#101010;
  color:#fff;
}
@media (max-width:760px){
  .mjm-part-status-form select,
  .mjm-parts-form select{
    min-height:54px;
    font-size:1rem;
  }
}
/* V4.1.14 My Assigned Issues restoration */
.mjm-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:0 0 1rem;
}
.mjm-filter-actions .mjm-small-button{
  text-decoration:none;
}
.mjm-filter-actions .is-active-filter{
  box-shadow:0 0 0 3px rgba(255,204,0,.20);
}
@media (max-width:760px){
  .mjm-filter-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .mjm-filter-actions .mjm-small-button{
    width:100%;
    text-align:center;
  }
}
/* V4.1.15 Printable parts needed report */
.mjm-print-report{
  border:1px solid rgba(255,204,0,.22);
  border-radius:20px;
  padding:1rem;
  margin:0 0 1.25rem;
  background:rgba(0,0,0,.18);
}
.mjm-print-header{
  display:grid;
  gap:.15rem;
  border:1px solid rgba(255,204,0,.22);
  border-radius:18px;
  padding:1rem;
  background:rgba(0,0,0,.28);
  margin-bottom:1rem;
}
.mjm-print-header strong{
  color:#ffcc00;
  font-size:1.1rem;
}
.mjm-print-header span,
.mjm-print-header small{
  color:#fff;
}
.mjm-print-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin:0 0 1rem;
}
.mjm-print-actions a{
  text-decoration:none;
}
.mjm-print-game{
  border:1px solid rgba(255,204,0,.20);
  border-radius:16px;
  padding:1rem;
  margin:0 0 1rem;
  background:rgba(0,0,0,.16);
}
.mjm-print-game h2{
  margin:0 0 .25rem;
  color:#ffcc00;
  font-size:1.2rem;
}
.mjm-print-location{
  margin:.1rem 0 .75rem;
  color:rgba(255,255,255,.78);
}
.mjm-print-part-list{
  display:grid;
  gap:.5rem;
}
.mjm-print-part{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:.65rem;
  align-items:start;
  padding:.65rem 0;
  border-top:1px solid rgba(255,255,255,.10);
}
.mjm-print-part:first-child{
  border-top:0;
}
.mjm-print-checkbox{
  width:18px;
  height:18px;
  border:2px solid #ffcc00;
  border-radius:4px;
  margin-top:.18rem;
}
.mjm-print-part strong,
.mjm-print-part span,
.mjm-print-part em{
  display:block;
}
.mjm-print-part span,
.mjm-print-part em{
  color:rgba(255,255,255,.78);
  margin-top:.15rem;
}
.mjm-print-footer{
  border:1px solid rgba(255,204,0,.18);
  border-radius:14px;
  padding:.75rem 1rem;
  color:rgba(255,255,255,.78);
  background:rgba(0,0,0,.18);
}
@media print{
  body{
    background:#fff !important;
    color:#000 !important;
  }
  body *{
    visibility:hidden !important;
  }
  .mjm-print-report,
  .mjm-print-report *{
    visibility:visible !important;
  }
  .mjm-print-report{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    color:#000 !important;
    font-family:Arial, sans-serif !important;
  }
  .mjm-print-actions,
  .mjm-shell-top,
  .mjm-shell-footer{
    display:none !important;
  }
  .mjm-print-header{
    border:1px solid #000 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#000 !important;
    padding:10px 12px !important;
    margin:0 0 14px !important;
  }
  .mjm-print-header strong,
  .mjm-print-header span,
  .mjm-print-header small,
  .mjm-print-game h2,
  .mjm-print-location,
  .mjm-print-part span,
  .mjm-print-part em,
  .mjm-print-footer{
    color:#000 !important;
  }
  .mjm-print-game{
    page-break-inside:avoid;
    border:1px solid #000 !important;
    border-radius:0 !important;
    background:#fff !important;
    padding:10px 12px !important;
    margin:0 0 12px !important;
  }
  .mjm-print-game h2{
    font-size:15px !important;
    margin:0 0 3px !important;
  }
  .mjm-print-location{
    font-size:12px !important;
    margin:0 0 8px !important;
  }
  .mjm-print-part{
    grid-template-columns:22px 1fr !important;
    border-top:1px solid #ccc !important;
    padding:6px 0 !important;
  }
  .mjm-print-checkbox{
    border:1px solid #000 !important;
    width:14px !important;
    height:14px !important;
    border-radius:0 !important;
  }
  .mjm-print-part strong{
    font-size:13px !important;
  }
  .mjm-print-part span,
  .mjm-print-part em{
    font-size:11px !important;
  }
  .mjm-print-footer{
    border:1px solid #000 !important;
    border-radius:0 !important;
    background:#fff !important;
    padding:8px 10px !important;
    margin-top:14px !important;
    font-size:11px !important;
  }
}
/* V4.1.15.1 Print blank-page fix */
@media print{
  @page{
    margin:.5in;
  }

  html,
  body{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  body{
    margin:0 !important;
    padding:0 !important;
  }

  .mjm-shell{
    display:block !important;
    width:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .mjm-shell-body,
  .mjm-shell-main{
    display:block !important;
    width:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .mjm-shell-top,
  .mjm-shell-footer,
  .mjm-shell-main > h1,
  .mjm-card-grid,
  .mjm-stack-panels,
  .mjm-print-actions{
    display:none !important;
  }

  body *{
    visibility:visible !important;
  }

  .mjm-print-report{
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    color:#000 !important;
    box-shadow:none !important;
    page-break-after:auto !important;
  }

  .mjm-print-report *{
    visibility:visible !important;
  }

  .mjm-print-header,
  .mjm-print-game,
  .mjm-print-footer{
    break-inside:avoid;
    page-break-inside:avoid;
  }
}
/* V4.1.15.2 Hard print isolation for Parts Needed Report */
@media print{
  @page{
    size:auto;
    margin:.45in;
  }

  html,
  body{
    margin:0 !important;
    padding:0 !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  body::before,
  body::after,
  .site-header,
  .site-footer,
  header,
  footer,
  nav,
  .mjm-shell-top,
  .mjm-shell-footer,
  .mjm-shell-main > h1,
  .mjm-card-grid,
  .mjm-stack-panels,
  .mjm-print-actions{
    display:none !important;
  }

  body *{
    visibility:hidden !important;
  }

  .mjm-print-report,
  .mjm-print-report *{
    visibility:visible !important;
  }

  .mjm-shell,
  .mjm-shell-body,
  .mjm-shell-main,
  main,
  article,
  .entry-content,
  .page-content{
    display:block !important;
    visibility:visible !important;
    position:static !important;
    width:auto !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    color:#000 !important;
    overflow:visible !important;
  }

  .mjm-print-report{
    display:block !important;
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    right:0 !important;
    width:auto !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    color:#000 !important;
    box-shadow:none !important;
    font-family:Arial, sans-serif !important;
  }

  .mjm-print-report *{
    color:#000 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .mjm-print-header{
    display:block !important;
    border:1px solid #000 !important;
    padding:8px 10px !important;
    margin:0 0 10px !important;
  }

  .mjm-print-header strong,
  .mjm-print-header span,
  .mjm-print-header small{
    display:block !important;
  }

  .mjm-print-header strong{
    font-size:15px !important;
    margin-bottom:4px !important;
  }

  .mjm-print-header span,
  .mjm-print-header small{
    font-size:11px !important;
    line-height:1.25 !important;
  }

  .mjm-print-game{
    display:block !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
    border:1px solid #000 !important;
    padding:8px 10px !important;
    margin:0 0 10px !important;
  }

  .mjm-print-game h2{
    font-size:13px !important;
    line-height:1.25 !important;
    margin:0 0 3px !important;
    padding:0 !important;
  }

  .mjm-print-location{
    font-size:11px !important;
    line-height:1.25 !important;
    margin:0 0 6px !important;
    padding:0 !important;
  }

  .mjm-print-part-list{
    display:block !important;
  }

  .mjm-print-part{
    display:grid !important;
    grid-template-columns:20px 1fr !important;
    gap:6px !important;
    border-top:1px solid #ccc !important;
    padding:5px 0 !important;
    margin:0 !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  .mjm-print-checkbox{
    width:12px !important;
    height:12px !important;
    border:1px solid #000 !important;
    border-radius:0 !important;
    margin:2px 0 0 !important;
  }

  .mjm-print-part strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.25 !important;
    margin:0 !important;
  }

  .mjm-print-part span,
  .mjm-print-part em{
    display:block !important;
    font-size:10px !important;
    line-height:1.25 !important;
    margin:1px 0 0 !important;
    font-style:normal !important;
  }

  .mjm-print-footer{
    display:block !important;
    border:1px solid #000 !important;
    padding:6px 8px !important;
    margin:10px 0 0 !important;
    font-size:10px !important;
  }
}
