.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}.error-boundary h1{font-size:1.5rem;font-weight:700;color:#dc2626;margin-bottom:.5rem}.error-boundary p{color:#6b7280;margin-bottom:1rem}.error-boundary button{margin-top:1rem;padding:.5rem 1rem;background-color:#2563eb;color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease}.error-boundary button:hover{background-color:#1d4ed8}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;gap:8px;padding:24px 0}.loader-spinner{animation:spin 1s linear infinite;color:#036234}.loader-sm{width:16px;height:16px}.loader-md{width:24px;height:24px}.loader-lg{width:32px;height:32px}.loader-circle{opacity:.25}.loader-path{opacity:.75}.loader-text{font-size:14px;font-weight:500;color:#374151;letter-spacing:.02em;animation:pulse 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.lightbox-modal{position:fixed;inset:0;background-color:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out;padding:0 10px;overflow:auto}.lightbox-modal-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.lightbox-modal-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 6px 20px #0009}.lightbox-close-btn{position:absolute;top:20px;right:20px;color:#fff;font-size:36px;background:transparent;border:none;cursor:pointer;transition:color .3s;z-index:10000}.lightbox-close-btn:hover{color:#ccc}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:48px;background:transparent;border:none;cursor:pointer;padding:0 20px;-webkit-user-select:none;user-select:none;z-index:10000}.lightbox-nav-btn:hover{color:#ccc}.lightbox-nav-btn.prev{left:10px}.lightbox-nav-btn.next{right:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
