.generic-error-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px)}.generic-error-modal{background:white;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.generic-error-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.generic-error-icon{color:var(--color-red);font-size:24px}.generic-error-close-btn{background:none;border:none;color:var(--color-gray);font-size:20px;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.generic-error-close-btn:hover{background:var(--color-light-gray-100);color:var(--color-dark-gray)}.generic-error-content{padding:16px 24px}.generic-error-title{color:var(--color-red);font-size:20px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}.generic-error-message{color:var(--color-dark-gray);font-size:16px;line-height:1.5;margin:0 0 16px}.generic-error-details{margin:16px 0}.generic-error-details summary{cursor:pointer;color:var(--color-primary);font-weight:500;margin-bottom:8px}.generic-error-details summary:hover{color:var(--color-primary-dark)}.generic-error-details-text{border:1px solid var(--color-light-gray-200);font-size:12px;color:var(--color-gray);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:150px;overflow-y:auto}.generic-error-details-text,.generic-error-status{background:var(--color-light-gray-50);border-radius:6px;padding:12px}.generic-error-status{display:flex;align-items:center;gap:8px;margin:16px 0}.generic-error-status-label{color:var(--color-gray);font-weight:500}.generic-error-status-code{color:var(--color-red);font-weight:600;font-family:monospace}.generic-error-actions{padding:0 24px 24px;display:flex;justify-content:flex-end}.generic-error-retry-btn{background:var(--color-red);color:white;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.generic-error-retry-btn:hover{background:var(--color-red-dark);transform:translateY(-1px)}.generic-error-retry-btn:active{transform:translateY(0)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:768px){.generic-error-modal{width:95%;margin:20px}.generic-error-header{padding:16px 20px 0}.generic-error-content{padding:12px 20px}.generic-error-actions{padding:0 20px 20px}}