.error-notification{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:var(--space-lg);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10000;animation:.3s slideInRight}@keyframes slideInRight{from{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}.error-notification-hiding{animation:.3s forwards slideOutRight}@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(400px);opacity:0}}.error-notification-success{border-left:4px solid var(--success,#10b981)}.error-notification-error{border-left:4px solid var(--error,#ef4444)}.error-notification-warning{border-left:4px solid var(--warning,#f59e0b)}.error-notification-info{border-left:4px solid var(--info,#3b82f6)}.error-notification-content{display:flex;align-items:flex-start;gap:var(--space-md)}.error-notification-icon{font-size:1.5rem;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.error-notification-success .error-notification-icon{background:rgba(16,185,129,.1);color:var(--success,#10b981)}.error-notification-error .error-notification-icon{background:rgba(239,68,68,.1);color:var(--error,#ef4444)}.error-notification-warning .error-notification-icon{background:rgba(245,158,11,.1);color:var(--warning,#f59e0b)}.error-notification-info .error-notification-icon{background:rgba(59,130,246,.1);color:var(--info,#3b82f6)}.error-notification-message{flex:1;font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary)}.error-notification-close{background:0 0;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:.2s;flex-shrink:0}.error-notification-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.error-notification-close:focus{outline:2px solid var(--primary);outline-offset:2px}@media (max-width:768px){.error-notification{top:10px;right:10px;left:10px;min-width:auto;max-width:none}@keyframes slideInRight{from{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutRight{from{transform:translateY(0);opacity:1}to{transform:translateY(-100px);opacity:0}}}.offline-indicator{position:fixed;bottom:0;left:0;right:0;background:var(--warning,#f59e0b);color:#fff;padding:var(--space-sm) var(--space-md);text-align:center;font-weight:600;z-index:9999;animation:.3s slideInUp}@keyframes slideInUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9998}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:.8s linear infinite spin}.retry-button{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:.2s}.retry-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.retry-button:active{transform:translateY(0)}