﻿.ogcc-facility-model-shell{
  display:grid;
  gap:14px;
}

.ogcc-model-hero{
  padding:18px 20px;
  border:1px solid rgba(0,0,0,.08);
}

.ogcc-model-hero-kicker{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:8px;
}

.ogcc-model-hero-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.ogcc-model-hero-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.ogcc-model-hero-copy{
  flex:1 1 640px;
}

.ogcc-model-hero-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:10px;
  background:#eef5eb;
  color:#335d29;
}

.ogcc-model-hero-status.is-in-progress{
  background:#f5efe2;
  color:#7a5721;
}

.ogcc-model-hero-status.is-needs-inputs{
  background:#f4e7e5;
  color:#8a3c34;
}

.ogcc-model-hero-title{
  margin:0;
  font-size:24px;
  line-height:1.1;
}

.ogcc-model-hero-subtitle{
  margin-top:8px;
  max-width:760px;
  font-size:14px;
  line-height:1.55;
  opacity:.82;
}

.ogcc-model-hero-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
  margin-top:18px;
}

.ogcc-model-hero-meta-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(0,0,0,.02);
  padding:12px 14px;
}

.ogcc-model-hero-meta-label,
.ogcc-model-hero-callout-label{
  display:block;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:6px;
}

.ogcc-model-hero-meta-value{
  display:block;
  font-size:14px;
  line-height:1.45;
}

.ogcc-model-hero-callout{
  max-width:360px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fbfbf8;
  padding:12px 14px;
  font-size:13px;
  line-height:1.45;
}

.ogcc-model-hero-callout-value{
  font-size:24px;
  font-weight:700;
  line-height:1.1;
  margin-bottom:8px;
}

.ogcc-model-hero-callout-copy{
  opacity:.82;
}

.ogcc-model-hero-meta--inline{
  margin-top:12px;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
}

.ogcc-model-section-card{
  padding:18px;
}

.ogcc-page-intro-card{
  padding:18px;
}

.ogcc-model-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.ogcc-model-section-copy{
  margin-top:6px;
  font-size:13px;
  line-height:1.55;
  opacity:.78;
}

.ogcc-story-card{
  background:linear-gradient(180deg, rgba(248,249,244,1) 0%, rgba(255,255,255,1) 100%);
}

.ogcc-story-grid,
.ogcc-overview-grid,
.ogcc-stage-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;
}

.ogcc-story-panel,
.ogcc-stage-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:16px;
}

.ogcc-story-panel-label,
.ogcc-stage-card-label{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:8px;
}

.ogcc-story-panel p,
.ogcc-stage-card-copy{
  margin:0;
  font-size:13px;
  line-height:1.55;
  opacity:.84;
}

.ogcc-story-panel p + p{
  margin-top:12px;
}

.ogcc-stage-card-value{
  font-size:24px;
  font-weight:700;
  line-height:1.15;
  margin-bottom:8px;
}

.ogcc-readiness-list{
  display:grid;
  gap:10px;
}

.ogcc-readiness-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:rgba(0,0,0,.015);
  padding:12px 14px;
}

.ogcc-readiness-item.is-passed{
  background:rgba(55, 116, 63, .06);
  border-color:rgba(55, 116, 63, .18);
}

.ogcc-readiness-item.is-pending{
  background:rgba(150, 98, 34, .06);
  border-color:rgba(150, 98, 34, .18);
}

.ogcc-readiness-item-title{
  font-weight:600;
  margin-bottom:4px;
}

.ogcc-readiness-item-copy{
  font-size:13px;
  line-height:1.5;
  opacity:.82;
}

.ogcc-sequence-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.ogcc-sequence-strip span{
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:600;
  background:#fff;
}

.ogcc-utility-metrics-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
  margin:16px 0 18px;
}

.ogcc-utility-metrics-grid--tight{
  margin-bottom:12px;
}

.ogcc-utility-metric-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:14px 16px;
  box-shadow:none;
}

.ogcc-utility-metric-label{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:6px;
}

.ogcc-utility-metric-value{
  font-size:20px;
  font-weight:600;
  line-height:1.2;
}

.ogcc-utility-breakdown{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.ogcc-utility-breakdown-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:rgba(0,0,0,.015);
  padding:12px 14px;
}

.ogcc-utility-breakdown-item strong{
  display:block;
  margin-bottom:4px;
}

.ogcc-utility-breakdown-item span{
  display:block;
  font-size:13px;
  opacity:.8;
}

.ogcc-prod-table,
.ogcc-utility-table{
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}

.ogcc-prod-table thead th,
.ogcc-utility-table thead th{
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .75;
  padding: 8px 10px;
  white-space: nowrap;
}

.ogcc-prod-table tbody td,
.ogcc-utility-table tbody td{
  padding: 6px 8px;
  vertical-align: middle;
  white-space: nowrap;
}

.ogcc-prod-table tbody tr:hover,
.ogcc-utility-table tbody tr:hover{ background: rgba(0,0,0,.02); }

.ogcc-prod-table td.ogcc-num,
.ogcc-utility-table td.ogcc-num{ text-align:right; font-variant-numeric: tabular-nums; }

.ogcc-prod-table input.ogcc-cell,
.ogcc-prod-table select.ogcc-select{
  height: 30px;
  line-height: 30px;
  padding: 4px 8px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  font-size: 13px;
  width: 78px;
  box-shadow: none;
}

.ogcc-prod-table select.ogcc-select{ width: 86px; }

.ogcc-prod-table td.ogcc-sticky,
.ogcc-utility-table td.ogcc-sticky,
.ogcc-prod-table th:first-child,
.ogcc-utility-table th:first-child{
  position: sticky;
  left: 0;
  background: #fff;
  z-index: 2;
}

.ogcc-prod-table td.ogcc-sticky strong,
.ogcc-utility-table td.ogcc-sticky strong{
  display:block;
  max-width: 180px;
  overflow:hidden;
  text-overflow: ellipsis;
}

#ogcc-prod-status{ font-size: 12px; opacity:.75; }

.ogcc-room-profile,
.ogcc-utilities-overview{
  margin-top: 12px;
}

.ogcc-room-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.ogcc-room-section{
  margin-bottom:16px;
  padding:16px;
}

.ogcc-room-section textarea{
  min-height:120px;
  resize:vertical;
}

.ogcc-room-doc-link{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,.08);
}

.ogcc-room-doc-link span{
  flex:1 1 auto;
  font-size:13px;
  line-height:1.5;
  opacity:.75;
}

.ogcc-room-section-intro{
  font-size:13px;
  opacity:.74;
  margin-bottom:14px;
}

.ogcc-room-directory td,
.ogcc-room-directory th{
  white-space:nowrap;
}

.ogcc-facility-map {
  max-width: 1200px;
  margin: 0 auto;
}

.ogcc-facility-map svg{
  width:100%;
  height:auto;
  display:block;
}

.ogcc-facility-map svg *{
  pointer-events:none;
}

.ogcc-room{
  pointer-events:all !important;
  fill: rgba(0,115,170,.15);
  stroke: rgba(0,115,170,.6);
  stroke-width:1;
  cursor:pointer;
  transition:.2s ease;
}

.ogcc-room:hover{
  fill: rgba(0,115,170,.35);
  stroke-width:2;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.18));
}

.type-flower { fill: rgba(34,139,34,.18); }
.type-veg { fill: rgba(50,205,50,.18); }
.type-dry { fill: rgba(210,180,140,.18); }
.type-trim { fill: rgba(160,82,45,.18); }
.type-office { fill: rgba(120,120,120,.15); }

.ogcc-facility-model-shell .ogcc-model-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.ogcc-facility-model-shell .ogcc-model-head__toolbar{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.ogcc-facility-model-shell .ogcc-model-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.ogcc-facility-model-shell .ogcc-model-hero{
  margin-top:0;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact{
  padding:16px 18px;
}

.ogcc-facility-model-shell .ogcc-model-hero--minimal{
  padding:14px 18px;
  gap:0;
}

.ogcc-facility-model-shell .ogcc-model-hero--minimal .ogcc-model-hero-topline{
  margin-bottom:6px;
}

.ogcc-facility-model-shell .ogcc-model-hero--minimal .ogcc-model-hero-kicker{
  margin-bottom:0;
  font-size:10px;
  letter-spacing:.16em;
}

.ogcc-facility-model-shell .ogcc-model-hero--minimal .ogcc-model-hero-status{
  margin-bottom:0;
  padding:4px 10px;
  font-size:11px;
}

.ogcc-facility-model-shell .ogcc-model-hero--minimal .ogcc-model-hero-title{
  margin:0;
  font-size:18px;
  line-height:1.15;
}

.ogcc-facility-model-shell .ogcc-model-hero--minimal .ogcc-model-hero-subtitle{
  margin-top:4px;
  max-width:820px;
  font-size:13px;
  line-height:1.5;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact .ogcc-model-hero-row{
  align-items:flex-start;
  gap:14px;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact .ogcc-model-hero-title{
  margin:0 0 8px;
  font-size:22px;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact .ogcc-model-hero-subtitle{
  max-width:760px;
  margin-bottom:0;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact .ogcc-model-hero-meta{
  gap:8px;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact .ogcc-model-hero-meta-item{
  min-height:auto;
  padding:12px 14px;
}

.ogcc-facility-model-shell .ogcc-model-hero--compact .ogcc-model-hero-callout{
  max-width:340px;
  padding:12px 14px;
}

.ogcc-facility-model-shell .ogcc-model-head--integrated{
  display:block;
}

.ogcc-facility-model-shell .ogcc-model-head--integrated .ogcc-model-tabs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.ogcc-facility-model-shell .ogcc-model-tabs__toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:1 1 auto;
  min-width:240px;
  margin:0 0 0 auto;
}

.ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-snapshot-selector,
.ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-scenario-switcher-wrap,
.ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-scenario-switcher{
  margin:0;
}

@media (max-width: 920px){
  .ogcc-facility-model-shell .ogcc-model-tabs__toolbar{
    width:100%;
    min-width:0;
    justify-content:flex-start;
    margin-left:0;
  }

  .ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-snapshot-selector,
  .ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-scenario-switcher-wrap,
  .ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-scenario-switcher,
  .ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-scenario-switcher__toggle,
  .ogcc-facility-model-shell .ogcc-model-tabs__toolbar .ogcc-scenario-switcher__menu{
    width:100%;
    max-width:none;
    min-width:0;
  }
}

@media (max-width: 860px){
  .ogcc-model-hero-callout,
  .ogcc-model-hero-copy{
    max-width:none;
    width:100%;
  }

  .ogcc-facility-model-shell .ogcc-model-head{
    align-items:flex-start;
  }

  .ogcc-facility-model-shell .ogcc-model-head__toolbar{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
}

.ogcc-readiness-item.is-passed,
.ogcc-readiness-item.is-pending{
  background:#fbfbf8;
  border-color:rgba(0,0,0,.08);
}

.ogcc-workflow-hero{
  background:linear-gradient(180deg, #fbfbf8 0%, #ffffff 100%);
}

.ogcc-workflow-hero--quiet{
  padding:18px;
}

.ogcc-workflow-progress{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:14px 16px;
  margin:12px 0 16px;
}

.ogcc-workflow-progress--quiet{
  margin:10px 0 0;
}

.ogcc-workflow-progress-copy{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  font-size:14px;
  margin-bottom:10px;
}

.ogcc-workflow-progress-copy span{
  opacity:.7;
}

.ogcc-workflow-progress-bar{
  height:10px;
  border-radius:999px;
  background:#ece8dc;
  overflow:hidden;
}

.ogcc-workflow-progress-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#c6a96b;
}

.ogcc-step-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
}

.ogcc-step-grid--quiet{
  margin-top:2px;
}

.ogcc-step-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding:18px;
}

.ogcc-step-card.is-active{
  box-shadow:0 12px 24px rgba(0,0,0,.05);
}

.ogcc-step-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.ogcc-step-number{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#efe6d5;
  font-weight:700;
}

.ogcc-step-state{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.62;
}

.ogcc-step-card h4{
  margin:0 0 8px;
  font-size:18px;
}

.ogcc-step-card p{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.55;
  opacity:.82;
}

.ogcc-inline-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#356f91;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}

.ogcc-inline-link:hover,
.ogcc-inline-link:focus{
  color:#214f69;
  text-decoration:underline;
}

.ogcc-page-summary-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:600;
  background:#fff;
  white-space:nowrap;
}

.ogcc-overview-panel{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding:16px;
}

.ogcc-panel-kicker{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.6;
  margin-bottom:10px;
}

.ogcc-mini-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:10px;
}

.ogcc-mini-stat-grid--wide{
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
}

.ogcc-mini-stat{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  padding:12px 14px;
}

.ogcc-mini-stat span{
  display:block;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.6;
  margin-bottom:6px;
}

.ogcc-mini-stat strong{
  display:block;
  font-size:18px;
  line-height:1.25;
}

.ogcc-soft-table-card{
  padding:18px;
}

.ogcc-soft-table-card table{
  margin-top:4px;
}

.ogcc-facility-form-grid .ogcc-row + .ogcc-row{
  margin-top:8px;
}

.ogcc-task-list{
  display:grid;
  gap:10px;
}

.ogcc-task-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:14px 16px;
}

.ogcc-task-title{
  font-weight:600;
  margin-bottom:4px;
}

.ogcc-task-type{
  font-size:12px;
  font-weight:500;
  opacity:.62;
  margin-left:6px;
  text-transform:capitalize;
}

.ogcc-task-copy{
  font-size:13px;
  line-height:1.5;
  opacity:.78;
}

.ogcc-friendly-note,
.ogcc-friendly-empty{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:14px 16px;
}

.ogcc-friendly-note strong,
.ogcc-friendly-empty strong{
  display:block;
  margin-bottom:4px;
}

.ogcc-friendly-note span,
.ogcc-friendly-empty span{
  font-size:13px;
  line-height:1.5;
  opacity:.8;
}

@media (max-width: 700px){
  .ogcc-task-item{
    align-items:flex-start;
    flex-direction:column;
  }

  .ogcc-room-doc-link{
    flex-direction:column;
  }
}
