@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 180ms; }

.sg-dialog-body { padding: 1.5rem; }
.sg-dialog-body h2 { margin: 0 0 .4rem; font-size: 1.25rem; font-weight: 750; }
.sg-dialog-body p { color: #475569; font-size: .9rem; }
.sg-dialog-actions { display: flex; justify-content: flex-end; gap: .6rem; margin-top: 1rem; }
.sg-dialog-actions button { border-radius: .65rem; padding: .65rem .9rem; font-weight: 700; }
.sg-install-dialog { width: min(29rem, calc(100% - 2rem)); border: 0; border-radius: 1rem; padding: 0; color: #0f172a; }
.sg-install-dialog::backdrop { background: rgb(2 6 23 / .72); backdrop-filter: blur(4px); }
.sg-install-card { padding: 1.5rem; padding-bottom: calc(1.5rem + env(safe-area-inset-bottom)); }
.sg-install-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .8rem; background: #fbbf24; color: #0f172a; font-weight: 900; }
.sg-install-card h2 { margin: 1rem 0 .4rem; font-size: 1.25rem; line-height: 1.3; font-weight: 800; }
.sg-install-card p { color: #475569; font-size: .9rem; line-height: 1.55; }
.sg-install-steps { margin: 1rem 0 0; padding-left: 1.3rem; list-style: decimal; color: #334155; font-size: .88rem; line-height: 1.55; }
.sg-install-steps li + li { margin-top: .45rem; }
.sg-install-error { min-height: 1.2rem; margin-top: .75rem; color: #b91c1c !important; }
.sg-install-actions { display: flex; justify-content: flex-end; gap: .6rem; margin-top: .8rem; }
.sg-install-actions button { border-radius: .65rem; padding: .7rem .9rem; font-weight: 750; }
.sg-install-primary { background: #0f172a; color: white; }
.sg-install-primary[hidden] { display: none; }
.sg-conflict-dialog { width: min(52rem, calc(100% - 2rem)); max-height: 85vh; border: 0; border-radius: 1rem; padding: 0; }
.sg-conflict-dialog::backdrop { background: rgb(2 6 23 / .72); }
.sg-conflict-list { display: grid; gap: .8rem; max-height: 58vh; overflow: auto; margin-top: 1rem; }
.sg-conflict-card { border: 1px solid #e2e8f0; border-radius: .75rem; padding: .85rem; }
.sg-conflict-card h3 { font-weight: 750; }
.sg-conflict-compare { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: .5rem; }
.sg-conflict-compare pre { overflow: auto; border-radius: .5rem; background: #f1f5f9; padding: .65rem; font-size: .72rem; white-space: pre-wrap; }
.sg-conflict-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.sg-conflict-actions button { border: 1px solid #cbd5e1; border-radius: .5rem; padding: .45rem .65rem; font-weight: 700; font-size: .75rem; }
@media (max-width: 36rem) { .sg-conflict-compare { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
