.stock-save-dialog { width:min(92vw,460px); border:1px solid var(--win-border,#dbe2ec); border-radius:14px; padding:26px; background:#fff; color:var(--txt,#172033); box-shadow:0 16px 60px #0003; }
.stock-save-dialog::backdrop { background:rgba(15,23,42,.4); }
.stock-save-dialog h2 { margin:14px 0 10px; font-size:21px; }
.stock-save-dialog p { margin:10px 0; line-height:1.5; overflow-wrap:anywhere; }
.stock-save-reference { font-size:12px; color:var(--dim,#64748b); }
.stock-save-symbol { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; font-size:25px; font-weight:700; background:#fef3c7; color:#92400e; }
.stock-save-dialog[data-state="saving"] .stock-save-symbol { background:transparent; border:4px solid #dcfce7; border-top-color:#16a34a; animation:stock-save-spin .85s linear infinite; }
.stock-save-dialog[data-state="saved"] .stock-save-symbol { background:#dcfce7; color:#166534; }
.stock-save-dialog[data-state="rejected"] .stock-save-symbol { background:#fee2e2; color:#991b1b; }
.stock-save-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.stock-save-actions button, .stock-save-pending { padding:11px 15px; min-height:44px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#172033; font:inherit; cursor:pointer; }
.stock-save-actions [data-do="done"] { background:#16a34a; border-color:#16a34a; color:#fff; }
.stock-save-actions button:disabled { opacity:.55; cursor:wait; }
.stock-save-auth label { display:grid; gap:8px; font-size:14px; }
.stock-save-auth input { width:100%; box-sizing:border-box; min-height:44px; }
.stock-save-pending { position:fixed; right:18px; bottom:18px; z-index:60; background:#fffbeb; border-color:#f59e0b; box-shadow:0 4px 20px #0002; }
.stock-save-dialog [hidden], .stock-save-pending[hidden] { display:none !important; }
@keyframes stock-save-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .stock-save-dialog[data-state="saving"] .stock-save-symbol { animation:none; } }
.stock-save-unavailable{padding:12px 18px;margin:0;background:#fff7db;color:#7b4c06;font-weight:600}
