.ogcc-lm-public{border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:18px;padding:16px;max-width:1200px}
.ogcc-lm-badge{font-size:12px;opacity:.8;margin-left:8px;border:1px solid rgba(0,0,0,.12);padding:2px 10px;border-radius:999px}
.ogcc-lm-note{opacity:.75;font-size:13px;margin-bottom:10px}
.ogcc-lm-alert{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:8px 10px;font-size:13px;margin:10px 0}
.ogcc-lm-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin:10px 0 14px}
.ogcc-lm-card{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:12px}
.ogcc-lm-kpi-title{opacity:.7;font-size:12px}
.ogcc-lm-kpi-value{font-size:22px;font-weight:700;margin-top:4px}
.ogcc-lm-kpi-sub{opacity:.7;font-size:12px;margin-top:4px}
.ogcc-lm-section{border-top:1px solid rgba(0,0,0,.06);padding-top:14px;margin-top:14px}
.ogcc-lm-section-head{display:flex;align-items:baseline;gap:10px;justify-content:space-between;flex-wrap:wrap}
.ogcc-lm-section-head h3{margin:0;font-size:16px}
.ogcc-lm-muted, .muted{opacity:.7;font-size:12px}
.ogcc-model-table-wrap{overflow:auto;border:1px solid rgba(0,0,0,.06);border-radius:14px}
.ogcc-model-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
.ogcc-model-table th,.ogcc-model-table td{padding:10px 10px;border-bottom:1px solid rgba(0,0,0,.06);font-size:13px;vertical-align:top}
.ogcc-model-table thead th{position:sticky;top:0;background:#fff;z-index:1}
.ogcc-model-table tr:last-child td{border-bottom:none}
.ogcc-model-table .r{text-align:right;white-space:nowrap}
.ogcc-lm-form{margin:10px 0}
.ogcc-lm-form-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;align-items:end}
.ogcc-lm-form-grid.small{grid-template-columns:repeat(3,minmax(160px,1fr))}
.ogcc-lm-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;opacity:.9}
.ogcc-lm-form-grid input,.ogcc-lm-form-grid select{padding:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:12px;font-size:13px}
.ogcc-lm-form-actions{display:flex;gap:8px;align-items:center}
.ogcc-lm-btn{padding:8px 10px;border:1px solid rgba(0,0,0,.14);border-radius:12px;background:#fff;font-size:13px;cursor:pointer}
.ogcc-lm-btn.primary{font-weight:700}
.ogcc-lm-details summary{list-style:none}
.ogcc-lm-details summary::-webkit-details-marker{display:none}
.ogcc-lm-form-inline{margin-top:10px}
@media(max-width:980px){.ogcc-lm-grid{grid-template-columns:1fr}.ogcc-lm-form-grid{grid-template-columns:1fr}}


/* Overview layout */
.ogcc-lm-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;margin-top:10px}
.ogcc-lm-overview-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:6px}
.ogcc-lm-overview-body{font-size:14px;font-weight:700;margin-bottom:6px}
.ogcc-lm-bullets{margin:0;padding-left:18px}
.ogcc-lm-bullets li{margin:6px 0}
@media(max-width:980px){.ogcc-lm-overview-grid{grid-template-columns:1fr}}

/* Info tooltip icon */
.ogcc-lm-info{
  display:inline-flex; align-items:center; justify-content:center;
  width:16px; height:16px; margin-left:6px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.18);
  font-size:11px; line-height:1;
  opacity:.75;
  cursor:help;
  position:relative;
  user-select:none;
}
.ogcc-lm-info:hover, .ogcc-lm-info:focus{opacity:1; outline:none; border-color:rgba(0,0,0,.28)}

/* v1.0.4 Density pass (less airy) */
.ogcc-lm-public{padding:14px}
.ogcc-lm-grid{gap:10px;margin:8px 0 12px}
.ogcc-lm-card{padding:10px;border-radius:14px}
.ogcc-lm-kpi-value{font-size:20px}
.ogcc-lm-section{padding-top:12px;margin-top:12px}
.ogcc-model-table th,.ogcc-model-table td{padding:8px 10px}
.ogcc-lm-form-grid{gap:8px}
.ogcc-lm-form-grid input,.ogcc-lm-form-grid select{padding:7px 9px;border-radius:12px}
.ogcc-lm-btn{padding:7px 10px;border-radius:12px}

/* Info icon (no collision; tooltip is JS-portal) */
.ogcc-lm-info{
  display:inline-flex; align-items:center; justify-content:center;
  width:16px; height:16px; margin-left:6px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.18);
  font-size:11px; line-height:1;
  opacity:.70;
  cursor:help;
  user-select:none;
  transform:translateY(-1px);
}
.ogcc-lm-info:hover, .ogcc-lm-info:focus{opacity:1; outline:none; border-color:rgba(0,0,0,.28)}

/* Tooltip portal */
.ogcc-lm-tooltip{
  position:fixed;
  max-width:min(320px, 78vw);
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  font-size:12px;
  line-height:1.35;
  color:#111;
  z-index:999999;
  opacity:0;
  transform:translateY(2px);
  transition:opacity .12s ease, transform .12s ease;
  pointer-events:none;
}
.ogcc-lm-tooltip.show{
  opacity:1;
  transform:translateY(0);
}
.ogcc-lm-tooltip .t{
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:11px;
  opacity:.7;
  margin-bottom:6px;
}

/* v1.0.5 — remove mid card layer (let theme card be the container) */
.ogcc-lm-public{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  max-width:100% !important;
}

/* tighten sections since outer container padding is gone */
.ogcc-lm-grid{margin:6px 0 10px}
.ogcc-lm-section{padding-top:10px;margin-top:10px}
.ogcc-lm-overview-grid{margin-top:8px}

.ogcc-lm-form-grid label{
  display:flex;
  flex-direction:column;
  font-weight:600;
  font-size:12px;
}
.ogcc-lm-form-grid label .ogcc-lm-info{
  margin-left:4px;
}

/* Label row: keep tooltip icon inline next to label text */
.ogcc-lm-label-row{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
}
.ogcc-lm-label{
  font-weight:600;
  font-size:12px;
}
.ogcc-lm-form-grid label{gap:0}
.ogcc-lm-form-grid label > input,
.ogcc-lm-form-grid label > select{margin-top:0}
.ogcc-lm-form-actions.bottom{
  margin-top:10px;
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.ogcc-lm-narrative{
  margin:8px 0 10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(255,255,255,.65);
}
.ogcc-lm-bullets.compact li{margin:4px 0}
.ogcc-lm-btn.danger{
  border-color:rgba(200,0,0,.25);
}


/* v1.1.1 */
.ogcc-lm-form-actions{margin-top:16px}
.ogcc-lm-plan-summary{
  margin:0 0 10px 0;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:12px;
  background:rgba(0,0,0,.015);
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:12px;
}


/* v1.1.2 */
.ogcc-lm-form-actions--spaced{margin-top:18px;padding-bottom:6px}
.ogcc-lm-btn--outline{
  background: transparent;
  border: 1px solid var(--ogcc-ocean, #1e6bb8);
  color: var(--ogcc-ocean, #1e6bb8);
}
.ogcc-lm-btn--outline:hover{
  background: rgba(30,107,184,.08);
}
.ogcc-lm-plan-form-grid label .ogcc-lm-label-row{margin-bottom:6px}
.ogcc-lm-plan-form-grid input,
.ogcc-lm-plan-form-grid select,
.ogcc-lm-plan-form-grid textarea{
  padding: 10px 12px;
  border-radius: 12px;
}
.ogcc-lm-plan-form-grid textarea{min-height:44px}

/* v1.1.4 */
.ogcc-lm-btn.ogcc-lm-btn-outline{
  background: transparent;
  border: 1px solid var(--ogcc-ocean, #1d67ff);
  color: var(--ogcc-ocean, #1d67ff);
  font-weight: 600;
}
.ogcc-lm-btn.ogcc-lm-btn-outline:hover{
  background: rgba(29,103,255,.08);
}
.ogcc-lm-btn.ogcc-lm-btn-outline:active{
  background: rgba(29,103,255,.14);
}

/* Plan/inline form polish */
.ogcc-lm-grid input,
.ogcc-lm-grid select,
.ogcc-lm-grid textarea{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  font-size: 14px;
  line-height: 1.2;
  min-height: 42px;
}
.ogcc-lm-grid textarea{ min-height: 42px; }
.ogcc-lm-grid input:focus,
.ogcc-lm-grid select:focus,
.ogcc-lm-grid textarea:focus{
  outline: none;
  border-color: var(--ogcc-ocean, #1d67ff);
  box-shadow: 0 0 0 3px rgba(29,103,255,.12);
}


/* --- UX polish: forms & subsections --- */
.ogcc-lm-actions{ margin-top:14px; }
.ogcc-lm-hr{ border:0; border-top:1px solid rgba(0,0,0,0.08); margin:22px 0; }
.ogcc-lm-subhead{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.ogcc-lm-subsection h4{ font-size:14px; letter-spacing:0.04em; text-transform:uppercase; }
.ogcc-lm-details{ border:1px solid rgba(0,0,0,0.08); border-radius:999px; padding:0; display:inline-block; }
.ogcc-lm-details summary{ list-style:none; cursor:pointer; }
.ogcc-lm-details summary::-webkit-details-marker{ display:none; }
.ogcc-lm-details[open]{ border-radius:16px; padding:12px; background:#fff; }
.ogcc-lm-details--footer{ border:none; }
.ogcc-lm-details--footer[open]{ border:1px solid rgba(0,0,0,0.08); border-radius:16px; padding:12px; }

.ogcc-lm-form-inline{ margin-top:10px; }
.ogcc-lm-form-grid.small{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
}
.ogcc-lm-form-grid.small label{ font-size:12px; color:rgba(0,0,0,0.62); }
.ogcc-lm-form-grid.small input,
.ogcc-lm-form-grid.small select{
  width:100%;
  margin-top:6px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,0.10);
  background:#fff;
}
.ogcc-lm-form-actions{ grid-column: 1 / -1; display:flex; justify-content:flex-end; margin-top:4px; }

/* OGCC-ish outline button */
.ogcc-lm-btn--outline{
  background: transparent;
  border: 1px solid rgba(18,90,189,0.55);
  color: #0b3c8c;
}
.ogcc-lm-btn--outline:hover{
  background: rgba(18,90,189,0.08);
  border-color: rgba(18,90,189,0.75);
}

/* Plan tab grid polish */
.ogcc-lm-grid{ display:grid; gap:12px; }
.ogcc-lm-grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.ogcc-lm-field .ogcc-lm-input{ width:100%; }
.ogcc-lm-label-inline{ display:flex; align-items:center; gap:8px; font-size:12px; color:rgba(0,0,0,0.62); margin-bottom:8px; }
.ogcc-lm-tip{ display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:999px; border:1px solid rgba(0,0,0,0.18); font-size:11px; color:rgba(0,0,0,0.62); cursor:help; }
.ogcc-lm-tip[data-tip]:hover::after{
  content: attr(data-tip);
  position:absolute;
  max-width:320px;
  background:#111;
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
  line-height:1.35;
  transform: translateY(28px);
  z-index: 9999;
}

/* v1.6.0 narrative / flow cleanup */
.ogcc-lm-grid-4{grid-template-columns:repeat(4,minmax(180px,1fr));}
.ogcc-lm-tab-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:rgba(255,255,255,.7);
  margin:10px 0 12px;
}
.ogcc-lm-tab-intro__eyebrow{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:4px;
  font-weight:700;
}
.ogcc-lm-tab-intro h3{
  margin:0 0 6px;
  font-size:20px;
  line-height:1.15;
}
.ogcc-lm-tab-intro p{
  margin:0;
  font-size:14px;
  line-height:1.45;
  opacity:.82;
  max-width:820px;
}
.ogcc-lm-tab-intro__question{
  white-space:nowrap;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.68;
  font-weight:700;
  padding-top:4px;
}
.ogcc-lm-story-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:10px 0 14px;
}
.ogcc-lm-story-step{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.ogcc-lm-story-step__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  font-size:12px;
  font-weight:700;
  margin-bottom:8px;
}
.ogcc-lm-story-step__title{
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ogcc-lm-story-step__text{
  font-size:13px;
  line-height:1.4;
  opacity:.78;
}
.ogcc-lm-section-nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
.ogcc-lm-section-nav a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  color:inherit;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.82;
}
.ogcc-lm-section-nav a:hover{
  background:rgba(0,0,0,.03);
}
.ogcc-lm-callout{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px 14px;
  background:rgba(0,0,0,.02);
  font-size:13px;
  line-height:1.45;
}
@media(max-width:1100px){
  .ogcc-lm-grid-4,
  .ogcc-lm-story-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:980px){
  .ogcc-lm-tab-intro{flex-direction:column;}
  .ogcc-lm-tab-intro__question{white-space:normal;}
  .ogcc-lm-grid-4,
  .ogcc-lm-story-strip{grid-template-columns:1fr;}
}
