.composition-sharing-panel { margin-top: 16px; }
.composition-privacy-banner { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; padding: 12px 14px; border: 1px solid rgba(56,189,248,.28); border-radius: 10px; background: rgba(14,165,233,.08); }
.composition-privacy-banner strong { white-space: nowrap; color: #7dd3fc; }
.composition-privacy-banner span { color: var(--muted, #cbd5e1); line-height: 1.5; }
.composition-own-grid, .composition-shared-grid { display: grid; gap: 12px; margin-top: 12px; }
.composition-shared-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.composition-own-card, .composition-shared-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line, #334155); border-radius: 12px; background: rgba(255,255,255,.025); }
.composition-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.composition-card-head > div { display: grid; gap: 3px; min-width: 0; }
.composition-card-head small, .composition-own-card p, .composition-shared-card p { color: var(--muted, #94a3b8); }
.composition-share-state { flex: none; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.composition-share-state.shared { background: rgba(34,197,94,.12); color: #86efac; }
.composition-share-state.private { background: rgba(148,163,184,.12); color: #cbd5e1; }
.composition-sharing-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.composition-sharing-controls label { display: inline-flex; align-items: center; gap: 6px; }
.composition-note { padding: 8px 10px; border-radius: 8px; background: rgba(148,163,184,.08); color: var(--muted, #cbd5e1); font-size: 12px; line-height: 1.45; }
.composition-note.warning { background: rgba(245,158,11,.08); color: #fcd34d; }
.shared-module-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.shared-module-tags span { padding: 5px 8px; border-radius: 7px; background: rgba(59,130,246,.1); color: #bfdbfe; font-size: 12px; }
.shared-module-tags b { color: #fff; }
.composition-performance { padding: 10px; border-radius: 8px; background: rgba(34,197,94,.07); color: #86efac; }
.composition-performance.private { background: rgba(148,163,184,.08); color: #94a3b8; }
.composition-performance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.composition-performance-grid span { display: grid; gap: 2px; padding: 8px; border-radius: 8px; background: rgba(255,255,255,.03); }
.composition-performance-grid small { color: var(--muted, #94a3b8); }
.composition-performance-grid strong { font-variant-numeric: tabular-nums; }
.composition-module-choice { align-items: flex-start; }
.composition-module-help { display: block; margin: 4px 0 0 24px; color: var(--muted, #94a3b8); font-size: 12px; font-weight: 400; line-height: 1.45; }
#composition-edit-preflight-dialog { width: min(880px, calc(100vw - 28px)); }
#composition-edit-preflight-dialog .modal-card { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(88vh, 920px); }
#composition-edit-preflight-dialog .modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 17px; border-bottom: 1px solid var(--line, #334155); }
#composition-edit-preflight-dialog .modal-header h2 { margin: 0; letter-spacing: -.035em; }
#composition-edit-preflight-dialog .modal-header p:last-child { margin: 7px 0 0; color: var(--muted, #94a3b8); line-height: 1.5; }
#composition-edit-preflight-dialog .modal-body.stack { display: grid; gap: 12px; overflow-y: auto; }
#composition-edit-preflight-dialog .modal-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 16px 24px 20px; border-top: 1px solid var(--line, #334155); }
#composition-edit-preflight-dialog .choice-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: flex-start; padding: 12px 13px; border: 1px solid rgba(184,255,95,.24); border-radius: 11px; background: rgba(184,255,95,.05); cursor: pointer; }
#composition-edit-preflight-dialog .choice-row input { width: auto; margin-top: 3px; }
#composition-edit-preflight-dialog .choice-row span { display: grid; gap: 3px; }
#composition-edit-preflight-dialog .choice-row small { color: var(--muted, #94a3b8); line-height: 1.45; }
#composition-edit-preflight-dialog .panel { background: rgba(255,255,255,.012); }
@media (max-width: 720px) {
  .composition-privacy-banner, .composition-card-head { flex-direction: column; }
  .composition-performance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #composition-edit-preflight-dialog .modal-header { padding: 18px 17px 14px; }
  #composition-edit-preflight-dialog .modal-footer { padding: 14px 17px 17px; flex-wrap: wrap; }
}
