/* Final integration rules layered over the generated visual shell. */
[hidden] { display: none !important; }

.button-primary {
  background: #d92525;
  border-color: #c7181f;
}

.icon-button {
  transform: none;
  width: 28px;
  height: 34px;
  padding: 5px;
}

.icon-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon-button i { top: 4px; right: 2px; }

.details-list dd button {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: right;
  padding: 3px 0;
}

.details-list dd button span { margin-left: 12px; }
.details-list .detail-readonly{display:block;margin:0;color:#52637e;font-size:12.5px}.details-list .detail-readonly.is-positive{color:#0b754d;font-weight:700}
.phase-list .current { grid-template-columns: 22px 19px minmax(0, 1fr) auto auto; }
.phase-list .current .advance { white-space: nowrap; }

.resources-list a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.explainer-panel summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  list-style: none;
}

.explainer-panel summary::after { content: "⌃"; float: right; color: #18345e; }
.explainer-panel:not([open]) summary::after { content: "⌄"; }

.v2-explainer-iframe {
  display: block;
  width: 100%;
  min-height: 720px;
  height: 720px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.v2-explainer-iframe.is-large { min-height: 820px; }
.v2-explainer-iframe.is-example { min-height: 1200px; }

.v2-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 12px;
}

.v2-form-grid .wide { grid-column: 1 / -1; }

.v2-modal-note {
  font-size: 12.5px;
  color: var(--muted);
  background: #fff8e7;
  border: 1px solid #f1d99c;
  border-radius: 5px;
  padding: 9px 10px;
}

.v2-phase-editor-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px 34px 34px;
  gap: 6px;
  margin: 7px 0;
}

.v2-phase-editor-row input { min-width: 0; }

.v2-phase-editor-row button {
  border: 1px solid #c9d6e7;
  background: #fff;
  border-radius: 5px;
  color: var(--ink);
}

.v2-candidate-section { min-height: 260px; padding: 28px; }
.v2-candidate-section h2 { margin: 8px 0; }
.v2-empty { padding: 14px 4px !important; color: var(--muted); display: block !important; }

@media (max-width: 720px) {
  .tabs { overflow-x: auto; overflow-y: hidden; }
  .tabs button { min-width: max-content; padding-inline: 12px; }
  .phase-list .current { grid-template-columns: 22px 19px minmax(0, 1fr) auto; }
  .phase-list .current em { display: none; }
  .phase-list .current .advance { grid-column: 3 / -1; justify-self: start; padding: 3px 0; }
  .v2-form-grid { grid-template-columns: 1fr; }
  .v2-form-grid .wide { grid-column: auto; }
}

/* Provider-neutral project links in the persistent rail. */
.resources-list li { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; }
.resources-list li > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.resources-list li > span:nth-child(2) strong,
.resources-list li > span:nth-child(2) small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resource-icon.project-link { border-radius: 4px; background: #e9f1fd; color: #1b5cae; font-size: 11px; }
.resources-list .resource-add { display: block; min-height: auto; padding-top: 8px; border-top: 1px solid #e0e7ef; }
.resources-list .resource-add .text-button { width: 100%; text-align: left; }
.v2-modal:has(#project-link-editor) { width: min(960px, calc(100vw - 30px)); }

/* Unified, human-readable project activity. */
.activity-head { align-items: center; }
.activity-actions,.activity-filters { display: flex; align-items: center; gap: 6px; }
.activity-filters { padding: 2px; border: 1px solid #d3deea; border-radius: 5px; background: #f6f8fb; }
.activity-filters button { min-height: 25px; padding: 0 8px; border: 0; border-radius: 3px; background: transparent; color: #52637d; font: 650 10.5px Inter,ui-sans-serif,sans-serif; cursor: pointer; }
.activity-filters button.active { background: #fff; color: #165abb; box-shadow: 0 1px 3px rgba(13,42,80,.12); }
.activity-list li { grid-template-columns: 32px 116px minmax(0,1fr) 150px; min-height: 48px; }
.activity-list li > div { padding: 7px 0; }
.activity-list .activity-kind { display: block; margin-bottom: 2px; color: #6a7890; font-size: 9.5px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.activity-list .timeline-dot.amber { background: #d88922; }
.team-list li { grid-template-columns: 35px 1.15fr 1.25fr 23px; }
@media (max-width: 820px) { .activity-head { align-items: flex-start; flex-direction: column; }.activity-actions { width: 100%; justify-content: space-between; }.activity-filters { overflow-x: auto; }.activity-list li { grid-template-columns: 25px 84px 1fr; }.activity-list li > small:last-child { display: none; }.v2-explainer-iframe.is-example { height: 430px; } }

/* One coherent control language: no browser-default buttons on candidate surfaces. */
button,.button,.text-button,.rwt-tab-button,.rwt-inline-link,.v2-button,.v2-icon-btn,.pe-btn,.te-button{font-family:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}
.button:hover,.rwt-tab-button:hover,.v2-button:hover,.pe-btn:hover,.te-button:hover{border-color:#90a8c5;background:#f6f9fd}.button-primary:hover,.rwt-tab-button.primary:hover,.v2-button.primary:hover,.pe-btn.primary:hover,.te-button.primary:hover{border-color:#b6171d;background:#c51f22;color:#fff;box-shadow:0 3px 8px rgba(176,19,22,.2)}
.text-button:hover,.rwt-inline-link:hover{color:#083f99;text-decoration:underline;text-underline-offset:3px}.button:active,.rwt-tab-button:active,.v2-button:active,.pe-btn:active,.te-button:active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(35,105,209,.22);outline-offset:2px}
.v2-button{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:0 14px;border:1px solid #c3d0df;border-radius:5px;background:#fff;color:#10244a;font-size:13px;font-weight:650}.v2-button.primary{border-color:#c7181f;background:#d92525;color:#fff}.v2-icon-btn{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #c9d6e7;border-radius:6px;background:#fff;color:#17345d;font-size:22px}
.key-date>button,.phase-list li>button:not(.advance),.team-list li>button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#24446c}.key-date>button:hover,.phase-list li>button:not(.advance):hover,.team-list li>button:hover{border-color:#c9d6e7;background:#f3f7fc}
.details-list dd button.is-positive{color:#0b754d;font-weight:700}.details-list dd button.is-positive:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#168357}

/* Defined project roles and CRediT-style contribution choices. */
.v2-contribution-editor{display:grid;gap:14px}.v2-credit-fieldset{margin:0;padding:14px;border:1px solid #d5dfeb;border-radius:7px;background:#f8faff}.v2-credit-fieldset legend{padding:0 6px;color:#10244a;font-size:13px;font-weight:750}.v2-credit-fieldset>p{margin:0 0 10px;color:#61718d;font-size:12px}.v2-credit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v2-credit-choice{display:flex!important;align-items:center;gap:8px!important;margin:0!important;min-height:36px;padding:7px 9px;border:1px solid #cfdae7;border-radius:5px;background:#fff;color:#31445f;font-size:12px!important;font-weight:600!important;cursor:pointer}.v2-credit-choice:has(input:checked){border-color:#7ea8df;background:#eaf2ff;color:#144f9d;box-shadow:inset 3px 0 #2369d1}.v2-credit-choice input{accent-color:#2369d1}.v2-credit-fieldset>[data-other-credit],.v2-notes-field{display:grid;gap:5px;margin:12px 0 0;color:#344560;font-size:11px;font-weight:750}.v2-credit-fieldset input[type="text"],.v2-notes-field textarea{width:100%;min-height:37px;padding:8px 9px;border:1px solid #c9d6e7;border-radius:5px;background:#fff;color:#10244a;font:13px Inter,ui-sans-serif,sans-serif}

/* Meeting review modal. */
.v2-meeting-detail{display:grid;gap:12px}.v2-meeting-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start;padding:13px;border:1px solid #d5dfeb;border-radius:7px;background:#f8faff}.v2-meeting-summary p{margin:3px 0 0;color:#5d6e87;font-size:12.5px}.v2-meeting-date-large{color:#1b5fbf;font-size:12px;font-weight:800}.v2-status-pill{padding:4px 7px;border-radius:4px;background:#e7f6ef;color:#106b49;font-size:10.5px;font-weight:750}.v2-meeting-source{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dce5ef;border-radius:6px}.v2-meeting-source span{display:grid;gap:2px;color:#61718d;font-size:12px}.v2-meeting-source b{color:#10244a}.v2-action-review{padding:14px;border:1px solid #d5dfeb;border-radius:7px}.v2-action-review>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.v2-action-review h3{margin:2px 0;font-size:15px}.v2-action-review>header>span{padding:3px 7px;border-radius:10px;background:#fff0ef;color:#aa2424;font-size:10.5px;font-weight:750}.v2-kicker{color:#1762c9;font-size:9px;font-weight:800;letter-spacing:.8px}.v2-meeting-action{display:flex!important;align-items:start;gap:9px!important;margin:0!important;padding:10px 3px;border-top:1px solid #e0e7ef;font-size:12px!important}.v2-meeting-action input{margin-top:3px;accent-color:#2369d1}.v2-meeting-action span{display:grid;gap:2px}.v2-meeting-action small{color:#687791;font-weight:500}.v2-action-review>.v2-button{margin-top:10px}
@media(max-width:720px){.v2-credit-grid{grid-template-columns:1fr 1fr}.v2-meeting-summary{grid-template-columns:1fr}.v2-meeting-source{align-items:flex-start;flex-direction:column}.v2-explainer-iframe.is-example{min-height:1700px}}
@media(max-width:480px){.v2-credit-grid{grid-template-columns:1fr}}

/* Project changes are visible immediately without flashing stale preview content. */
.project-loading .project-grid,.project-loading .update-composer,.project-loading .expectations,.project-loading .tabs{opacity:.38;pointer-events:none;transition:opacity .16s ease}.project-loading #project-title{color:#60708a}
.v2-project-load-error{display:grid;grid-template-columns:44px minmax(0,620px);gap:18px;align-items:start;margin:72px auto;padding:30px;border:1px solid #d7e1ed;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(14,35,68,.09)}.v2-project-load-error>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff0ef;color:#bd2429;font-size:20px;font-weight:850}.v2-project-load-error .eyebrow{margin:0 0 5px;color:#1c61c5;font-size:10px;font-weight:850;letter-spacing:.8px}.v2-project-load-error h1{margin:0;color:#10244a;font-size:27px}.v2-project-load-error p:not(.eyebrow){margin:8px 0 20px;color:#5b6d87;line-height:1.5}.v2-project-load-error div>div{display:flex;gap:9px}.v2-project-load-error a.button{text-decoration:none}@media(max-width:620px){.v2-project-load-error{grid-template-columns:1fr;margin:28px 12px;padding:22px}.v2-project-load-error h1{font-size:23px}}

/* Honest inactive states and live project freshness. */
button:disabled{cursor:not-allowed;opacity:.52}.v2-project-freshness{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:600}.phase-final,.rwt-phase-final{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #d9e2ec;border-radius:5px;color:#64748b;font-size:12px;font-style:normal;font-weight:700}.explainer-card .v2-empty{padding:18px;border:1px dashed #cbd8e8;border-radius:7px;background:#f8fafc;color:#53657e}.explainer-card .v2-empty strong{display:block;color:#1d3154}.explainer-card .v2-empty p{margin:5px 0 0;font-size:13px}.rwt-authorship-alert p{margin:0}.rwt-phase-progress{align-items:center}.rwt-phase-progress .rwt-phase-final{justify-self:end}@media(max-width:720px){.v2-project-freshness{font-size:10.5px}.rwt-phase-progress .rwt-phase-final{justify-self:start}}
