.printly-notifications {
  position: fixed; z-index: 2147483000; top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right)); width: min(340px, calc(100vw - 24px));
  display: grid; gap: 8px; pointer-events: none; max-height: calc(100dvh - 32px);
  overflow-y: auto; padding: 4px;
}
.printly-notifications, .printly-notifications * { box-sizing: border-box; }
.printly-toast {
  --toast-accent: #2563eb; --toast-soft: #eff6ff;
  position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr) 28px;
  gap: 8px; align-items: start; padding: 10px 8px 10px 12px;
  border: 1px solid #e2e8f0; border-left: 2px solid var(--toast-accent);
  border-radius: 12px; background: #fff; color: #172033;
  box-shadow: 0 4px 16px #0f172a0d, 0 1px 3px #0f172a06;
  pointer-events: auto; text-align: left; font-family: inherit; animation: printly-toast-in .2s ease-out;
}
.printly-toast[data-type="success"] { --toast-accent: #15803d; --toast-soft: #ecfdf3; }
.printly-toast[data-type="error"] { --toast-accent: #dc2626; --toast-soft: #fff1f2; }
.printly-toast[data-type="warning"] { --toast-accent: #b45309; --toast-soft: #fffbeb; }
.printly-notifications .printly-toast-icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--toast-soft); color: var(--toast-accent) !important; font: 700 16px/1 system-ui !important; }
.printly-toast-copy { min-width: 0; }
.printly-notifications .printly-toast-copy strong { display: block; margin: 0 0 2px; font-size: 12px !important; font-weight: 600 !important; line-height: 1.35 !important; color: #172033 !important; }
.printly-notifications .printly-toast-copy p { margin: 0; font-size: 12px !important; font-weight: 400 !important; line-height: 1.45 !important; color: #526077 !important; overflow-wrap: anywhere; white-space: pre-line; }
.printly-notifications .printly-toast-close { display: grid; place-items: center; width: 28px; height: 28px; min-width: 28px; min-height: 28px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #8490a3; font: 20px/1 system-ui !important; cursor: pointer; }
.printly-toast-close:hover { color: #172033; background: #f1f5f9; }
.printly-toast-close:focus-visible { outline: 2px solid var(--toast-accent); outline-offset: 2px; }
@keyframes printly-toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { .printly-notifications { top: max(10px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); width: min(340px, calc(100vw - 16px)); } }
@media (prefers-reduced-motion: reduce) { .printly-toast { animation: none; } }
@media print { .printly-notifications { display: none !important; } }
