/* Roof Man OS V31.0.0 — Release A Universal Foundation */
:root{
  --rmc-a-navy:#082746;
  --rmc-a-navy-2:#0d365f;
  --rmc-a-blue:#176fe8;
  --rmc-a-blue-soft:#eaf3ff;
  --rmc-a-green:#18a45b;
  --rmc-a-green-soft:#e9f8ef;
  --rmc-a-yellow:#eaa20a;
  --rmc-a-yellow-soft:#fff7df;
  --rmc-a-red:#d9363e;
  --rmc-a-red-soft:#fff0f1;
  --rmc-a-purple:#7257d9;
  --rmc-a-purple-soft:#f1edff;
  --rmc-a-gray:#71839b;
  --rmc-a-gray-soft:#f3f6fa;
  --rmc-a-line:#d9e3ef;
  --rmc-a-ink:#0b2c51;
  --rmc-a-muted:#58708d;
  --rmc-a-white:#fff;
  --rmc-a-shadow:0 12px 36px rgba(15,45,78,.09);
  --rmc-a-radius:14px;
}
.rmc-release-a *{box-sizing:border-box}
.rmc-a-app .rmc30-project-hero{background:linear-gradient(135deg,var(--rmc-a-navy),var(--rmc-a-navy-2));}
.rmc-a-app .rmc30-project-hero h1,.rmc-a-app .rmc30-project-hero p{max-width:100%}
.rmc-a-app .rmc30-summary article{min-width:0}

/* Universal workflow strip */
.rmc-a-workflow{
  display:grid;
  grid-template-columns:repeat(12,minmax(92px,1fr));
  gap:0;
  overflow-x:auto;
  padding:18px 16px 20px;
  background:#fff;
  border:1px solid var(--rmc-a-line);
  border-radius:var(--rmc-a-radius);
  box-shadow:var(--rmc-a-shadow);
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
.rmc-a-workflow a,.rmc-a-workflow>div{
  position:relative;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:6px;
  min-width:92px;
  padding:0 5px;
  color:var(--rmc-a-gray);
  text-decoration:none;
  text-align:center;
  scroll-snap-align:center;
}
.rmc-a-workflow a:before,.rmc-a-workflow>div:before{
  content:"";
  position:absolute;
  top:17px;
  left:-50%;
  width:100%;
  height:3px;
  background:#d8e2ee;
  z-index:0;
}
.rmc-a-workflow a:first-child:before,.rmc-a-workflow>div:first-child:before{display:none}
.rmc-a-workflow i{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  border:2px solid #c6d2df;
  background:#fff;
  color:var(--rmc-a-gray);
  font-style:normal;
  font-weight:900;
  box-shadow:0 0 0 5px #fff;
}
.rmc-a-workflow span{font-size:11px;line-height:1.2;font-weight:850;color:inherit}
.rmc-a-workflow small{font-size:9px;font-weight:800;color:inherit;opacity:.8}
.rmc-a-workflow a.is-complete,.rmc-a-workflow>div.is-complete{color:var(--rmc-a-green)}
.rmc-a-workflow a.is-complete:before,.rmc-a-workflow>div.is-complete:before{background:var(--rmc-a-green)}
.rmc-a-workflow a.is-complete i,.rmc-a-workflow>div.is-complete i{background:var(--rmc-a-green);border-color:var(--rmc-a-green);color:#fff}
.rmc-a-workflow a.is-current,.rmc-a-workflow>div.is-current{color:var(--rmc-a-blue)}
.rmc-a-workflow a.is-current:before,.rmc-a-workflow a.is-working:before,.rmc-a-workflow>div.is-current:before,.rmc-a-workflow>div.is-working:before{background:var(--rmc-a-blue)}
.rmc-a-workflow a.is-current i,.rmc-a-workflow>div.is-current i{background:var(--rmc-a-blue);border-color:var(--rmc-a-blue);color:#fff;box-shadow:0 0 0 7px #dceaff}
.rmc-a-workflow a.is-attention,.rmc-a-workflow>div.is-attention{color:#b47700}
.rmc-a-workflow a.is-attention i,.rmc-a-workflow>div.is-attention i{background:var(--rmc-a-yellow);border-color:var(--rmc-a-yellow);color:#fff;box-shadow:0 0 0 7px #fff1c6}
.rmc-a-workflow a.is-blocked,.rmc-a-workflow>div.is-blocked{color:var(--rmc-a-red)}
.rmc-a-workflow a.is-blocked i,.rmc-a-workflow>div.is-blocked i{background:var(--rmc-a-red);border-color:var(--rmc-a-red);color:#fff}
.rmc-a-workflow a.is-system,.rmc-a-workflow>div.is-system{color:var(--rmc-a-purple)}
.rmc-a-workflow a.is-system i,.rmc-a-workflow>div.is-system i{background:var(--rmc-a-purple);border-color:var(--rmc-a-purple);color:#fff}
.rmc-a-workflow a.is-working,.rmc-a-workflow>div.is-working{color:var(--rmc-a-blue)}
.rmc-a-workflow a.is-working i,.rmc-a-workflow>div.is-working i{border-color:var(--rmc-a-blue);color:var(--rmc-a-blue)}
.rmc-a-workflow a.is-selected span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.rmc-a-workflow a:focus-visible{outline:3px solid rgba(23,111,232,.25);outline-offset:6px;border-radius:8px}


.rmc-a-client-workflow>div{cursor:default}
.rmc30-app .rmc-v102-legacy-workflow,.rmc30-app .rmc-v700-workflow,.rmc30-app .rmc-progress,.rmc30-app .rmc-client-progress{display:none!important}

/* Stage readiness and history */
.rmc-a-readiness-card,.rmc-a-history,.rmc-a-stage-note{
  border:1px solid var(--rmc-a-line);
  border-radius:var(--rmc-a-radius);
  background:#fff;
  box-shadow:0 8px 22px rgba(16,47,80,.05);
}
.rmc-a-readiness-card{padding:20px;margin:0 0 18px}
.rmc-a-readiness-card>header,.rmc-a-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.rmc-a-readiness-card h3,.rmc-a-history h3{margin:4px 0 0;color:var(--rmc-a-ink);font-size:23px}
.rmc-a-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900;color:#5ea0ff}
.rmc-a-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:900;background:var(--rmc-a-gray-soft);color:var(--rmc-a-gray);white-space:nowrap}
.rmc-a-status.is-complete{background:var(--rmc-a-green-soft);color:#087a3e}
.rmc-a-status.is-current,.rmc-a-status.is-working{background:var(--rmc-a-blue-soft);color:#0e61c9}
.rmc-a-status.is-attention{background:var(--rmc-a-yellow-soft);color:#9b6500}
.rmc-a-status.is-blocked{background:var(--rmc-a-red-soft);color:#b8222c}
.rmc-a-status.is-system{background:var(--rmc-a-purple-soft);color:#5d43c4}
.rmc-a-meter{height:9px;background:#e8eef5;border-radius:999px;margin:18px 0 8px;overflow:hidden}
.rmc-a-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--rmc-a-blue),#4ba0ff);border-radius:inherit}
.rmc-a-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.rmc-a-requirements article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;padding:12px;border:1px solid var(--rmc-a-line);border-radius:10px;background:#f8fafd}
.rmc-a-requirements article i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;font-weight:900;background:#e8eef5;color:var(--rmc-a-gray)}
.rmc-a-requirements article span{font-size:12px;font-weight:750;color:var(--rmc-a-ink)}
.rmc-a-requirements article small{display:block;margin-top:3px;font-size:9px;text-transform:uppercase;color:var(--rmc-a-gray)}
.rmc-a-requirements article.is-met{border-color:#bce6ce;background:var(--rmc-a-green-soft)}
.rmc-a-requirements article.is-met i{background:var(--rmc-a-green);color:#fff}
.rmc-a-requirements article.is-missing{border-color:#f0d48d;background:var(--rmc-a-yellow-soft)}
.rmc-a-requirements article.is-missing i{background:var(--rmc-a-yellow);color:#fff}
.rmc-a-history{padding:20px;margin:18px 0}
.rmc-a-audit-list{display:grid;gap:8px;margin-top:18px}
.rmc-a-audit-list article{display:grid;grid-template-columns:160px 1fr 180px;gap:12px;padding:11px 13px;border-radius:9px;background:#f5f8fc;color:var(--rmc-a-ink)}
.rmc-a-audit-list time,.rmc-a-audit-list span{font-size:11px;color:var(--rmc-a-muted)}
.rmc-a-muted{padding:14px;border-radius:9px;background:#f5f8fc;color:var(--rmc-a-muted)}
.rmc-a-edit-completed{margin:18px 0;border:1px solid var(--rmc-a-line);border-radius:12px;background:#fff;overflow:hidden}
.rmc-a-edit-completed>summary{padding:15px 18px;cursor:pointer;font-weight:900;color:var(--rmc-a-blue);background:#f3f8ff}
.rmc-a-edit-completed[open]>summary{border-bottom:1px solid var(--rmc-a-line)}
.rmc-a-edit-completed>.rmc30-module{padding:18px}

/* Universal form and modal framework */
.rmc-a-field{display:grid;gap:7px;min-width:0}
.rmc-a-field>span{font-size:12px;font-weight:850;color:var(--rmc-a-ink)}
.rmc-a-field>span b{color:var(--rmc-a-red)}
.rmc-a-field input,.rmc-a-field select,.rmc-a-field textarea{
  width:100%;min-height:48px;padding:11px 12px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;color:var(--rmc-a-ink);font:inherit;box-sizing:border-box
}
.rmc-a-field input:not([type="checkbox"]):not([type="radio"]),.rmc-a-field select{height:48px;min-height:48px;max-height:48px;line-height:1.2}
.rmc-a-field select{padding-top:0;padding-bottom:0}
.rmc-a-field textarea{min-height:105px;max-height:none;resize:vertical}
.rmc-a-field input:focus,.rmc-a-field select:focus,.rmc-a-field textarea:focus{outline:0;border-color:var(--rmc-a-blue);box-shadow:0 0 0 3px rgba(23,111,232,.14)}
.rmc-a-field small{font-size:10px;color:var(--rmc-a-muted)}
.rmc-a-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:8px;font-weight:900;cursor:pointer;text-decoration:none}
.rmc-a-button.primary{background:var(--rmc-a-blue);color:#fff}
.rmc-a-button.secondary{background:#fff;border-color:#cbd8e6;color:var(--rmc-a-ink)}
.rmc-a-button.danger{background:var(--rmc-a-red);color:#fff}
.rmc-a-modal{width:min(720px,calc(100vw - 26px));max-height:calc(100vh - 26px);padding:0;border:0;border-radius:18px;box-shadow:0 28px 80px rgba(4,25,48,.35)}
.rmc-a-modal::backdrop{background:rgba(3,25,49,.62);backdrop-filter:blur(3px)}
.rmc-a-modal-shell{position:relative;padding:28px;color:var(--rmc-a-ink)}
.rmc-a-modal-shell h2{font-size:30px;margin:7px 0}
.rmc-a-modal-description{margin:0 0 18px;color:var(--rmc-a-muted)}
.rmc-a-modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:30px;color:var(--rmc-a-ink);cursor:pointer}
.rmc-a-modal-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;background:#f2f6fb;border-radius:12px;margin:18px 0}
.rmc-a-modal-facts span{display:grid;gap:4px}
.rmc-a-modal-facts small{text-transform:uppercase;font-size:9px;font-weight:900;color:#7086a1}
.rmc-a-modal-facts strong{font-size:13px}
.rmc-a-modal-body{display:grid;gap:14px}
.rmc-a-modal-shell footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.rmc-a-stage-note{margin:18px 0;overflow:hidden}
.rmc-a-stage-note>summary{padding:14px 16px;cursor:pointer;font-weight:850;color:var(--rmc-a-blue)}
.rmc-a-stage-note form{display:grid;gap:10px;padding:0 16px 16px}
.rmc-a-stage-note textarea{width:100%;min-height:90px;padding:11px;border:1px solid #cbd8e6;border-radius:9px}
.rmc-a-stage-note button{justify-self:start}

/* Foundation admin */
.rmc-a-admin{max-width:1200px}
.rmc-a-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.rmc-a-admin-stats article{display:grid;gap:5px;padding:18px;background:#fff;border:1px solid #dcdcde;border-radius:8px}
.rmc-a-admin-stats b{font-size:22px;color:var(--rmc-a-ink)}

@media(max-width:1100px){
  .rmc-a-workflow{grid-template-columns:repeat(12,100px)}
  .rmc-a-requirements{grid-template-columns:1fr}
}
@media(max-width:700px){
  .rmc-a-workflow{margin:0 -2px;padding:16px 8px 18px;grid-template-columns:repeat(12,92px)}
  .rmc-a-workflow i{width:34px;height:34px}
  .rmc-a-readiness-card,.rmc-a-history{padding:15px}
  .rmc-a-readiness-card>header,.rmc-a-history>header{display:grid}
  .rmc-a-audit-list article{grid-template-columns:1fr;gap:4px}
  .rmc-a-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  .rmc-a-modal-shell{padding:22px 16px}
  .rmc-a-modal-shell h2{font-size:25px;padding-right:30px}
  .rmc-a-modal-facts{grid-template-columns:1fr}
  .rmc-a-modal-shell footer{display:grid;grid-template-columns:1fr}
  .rmc-a-modal-shell footer .rmc-a-button{width:100%}
  .rmc-a-admin-stats{grid-template-columns:1fr}
}

/* Release A lead/review foundation panels */
.rmc-a-foundation-panel{display:grid;gap:18px;padding:20px;border:1px solid var(--rmc-a-line);border-radius:var(--rmc-a-radius);background:#fff}
.rmc-a-foundation-panel>header h3{margin:5px 0;font-size:25px;color:var(--rmc-a-ink)}
.rmc-a-foundation-panel>header p:not(.rmc-a-eyebrow){margin:0;color:var(--rmc-a-muted)}
.rmc-a-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rmc-a-field-span-2{grid-column:1/-1}
.rmc-a-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}
.rmc-a-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rmc-a-review-grid article{display:grid;gap:5px;padding:15px;border-radius:10px;background:#f5f8fc;border:1px solid #e5ecf4}
.rmc-a-review-grid small{text-transform:uppercase;font-size:9px;font-weight:900;color:#7287a1}
.rmc-a-review-grid strong{font-size:15px;color:var(--rmc-a-ink)}
.rmc-a-review-grid span{font-size:11px;color:var(--rmc-a-muted)}
.rmc-a-inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.rmc-a-success{padding:14px;border-radius:10px;background:var(--rmc-a-green-soft);color:#087a3e;font-weight:850}
.rmc-a-approval-check{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:14px;border:1px solid var(--rmc-a-line);border-radius:10px;background:#f6f9fc;margin-bottom:12px}
.rmc-a-approval-check input{width:22px;height:22px}
.rmc-a-approval-check span{font-weight:750;color:var(--rmc-a-ink)}
@media(max-width:700px){
  .rmc-a-form-grid,.rmc-a-review-grid{grid-template-columns:1fr}
  .rmc-a-field-span-2{grid-column:auto}
  .rmc-a-form-actions{display:grid;grid-template-columns:1fr}
  .rmc-a-form-actions .rmc-a-button,.rmc-a-inline-actions .rmc-a-button{width:100%}
}
